Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求64位vba截图代码

梁皓  发表于:2020-09-21 09:40:33  
复制

点击下载此附件第一次进,也没有积分,不好意思哈 网站上能找到相关的截图代码,但是在64位的access上就会提示错误,哪位大神可以做64位的或是兼容的吗,附件是这个网站上找的原作者的代码,这里借用一下哈

 

Top
麥田 发表于:2020-09-21 09:49:37

新建模块,把以下全部代码复制粘贴到模块里面,保存模块,即可兼容64位access了


Option Compare Database

'API函数声明
#If VBA7 Then
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As LongPtr) As LongPtr
Public Declare PtrSafe Function SetCursor Lib "user32" (ByVal hCursor As LongPtr) As LongPtr
Public Declare PtrSafe Function LoadCursorByNum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As LongPtr, ByVal lpCursorName As LongPtr) As LongPtr
#Else
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As LongPtr) As LongPtr
Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
Public Declare Function LoadCursorByNum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
#End If
Public Const IDC_HAND = 32649&          '手形
Public Const IDC_APPSTARTING = 32650&   '系统忙
Public Const IDC_ARROW = 32512&         '常规箭头形
Public Const IDC_CROSS = 32515&         '十字形
Public Const IDC_IBEAM = 32513&         '文本插入
Public Const IDC_ICON = 32641&          '使用指定光标文件
Public Const IDC_NO = 32648&            '不可用
Public Const IDC_SIZE = 32640&          '隐藏指针
Public Const IDC_SIZEALL = 32646&       '选中并移动
Public Const IDC_SIZENESW = 32643&      '左下角右上角大小调整
Public Const IDC_SIZENS = 32645&        '上下调整
Public Const IDC_SIZENWSE = 32642&      '左上角右下角大小调整
Public Const IDC_SIZEWE = 32644&        '左右调整
Public Const IDC_UPARROW = 32516&       '上箭头
Public Const IDC_WAIT = 32514&          '沙漏
'改变光标指针调用示例: SetCursor LoadCursorByNum(0,32649)
'                       SetCursor LoadCursorByNum(0, IDC_HAND)

'ShellExecute函数二次封装,以简化使用
'输入参数File可以是文件名,网页地址或命令行
Public Function ShellEx(File As String)
    ShellExecute hWndAccessApp, "Open", File, 0, 0, 1
End Function



梁皓 发表于:2020-09-21 13:29:20
复制进去后,会提示 编译错误,若要在64位系统上使用则必须更新此项目中的代码请检查并更新declare语句,然后用ptrsafe属性标记他们。 增加ptrsafe后,又会提示下标越界。 这些在没加这个模块之前的提示是一样的,这个问题是出在什么地方?

麥田 发表于:2020-09-21 13:39:14

http://www.accessoft.com/article-show.asp?id=9683

从这里下载附件

我早上做了一下附件兼容性处理



梁皓 发表于:2020-09-21 13:52:51
我中午大概12点的时候也看到这个,试了试,提示的也是这些问题,那是更改后的吗?

麥田 发表于:2020-09-21 15:57:07

3楼附件里面我又增加了一个accdb格式的文件

你再下载测试一下



梁皓 发表于:2020-09-22 08:11:17
问题和之前的是一样的,还是编译错误,……

麥田 发表于:2020-09-22 08:22:45
你检查一下是不是电脑上安装了wps了

梁皓 发表于:2020-09-22 08:25:57
没有,这个电脑上的软件安装都是受管理的,是没有的

麥田 发表于:2020-09-22 12:29:38

我这里测试没问题的  奇怪了

http://www.accessoft.com/article-show.asp?id=18469

你下载这个示例试试

这个示例就是我做了32与64的兼容性处理

你打开看看64位的环境有没有问题



梁皓 发表于:2020-09-23 08:05:15
后来发这个示例能正常运行,这个会是什么地方有问题。另外我想问一下,这个系统模块是怎么参与代码运行的

梁皓 发表于:2020-09-23 08:12:36
有没有可能直接修改成64位的,不使用系统模块可以吗?

麥田 发表于:2020-09-23 08:18:09

按经验,建议你安装32的office,这样兼容性好,因为网站上早期的示例绝大部分都是32环境编写的,你的64的access环境要想打开必须要加64位兼容性代码处理才能打开学习

2010才开始区分32与64的access

操作系统是64位安装32的office是没问题的



梁皓 发表于:2020-09-23 08:24:50
那代码这方面还能在做更改处理吗?

梁皓 发表于:2020-09-23 11:18:41
http://club.excelhome.net/thread-742785-1-1.html 我看这个链接里的的,是不是还需要修改调用程序的数据类型吗?

总记录:14篇  页次:1/1 9 1 :