建议的语法是,将Declare语句与PtrSafe关键字一起使用。 包含“PtrSafe”的 Declare 语句在 32 位和 64 位的平台上的 VBA7 开发环境中正常工作,只是要在需要存储 64 位数量的“Declare”语句(参数和返回值)中的所有数据类型被更新以将LongLong用于 64 位整数,或将LongPtr用于指针和句柄。
建议的语法是,将Declare语句与PtrSafe关键字一起使用。 包含“PtrSafe”的 Declare 语句在 32 位和 64 位的平台上的 VBA7 开发环境中正常工作,只是要在需要存储 64 位数量的“Declare”语句(参数和返回值)中的所有数据类型被更新以将LongLong用于 64 位整数,或将LongPtr用于指针和句柄。
这个属性是在VBA 7.1及更高版本中引入的,用于支持64位操作系统。 使用PtrSafe属性的目的是为了确保代码在64位系统上能够正确运行,同时避免一些由于内存布局变化导致的潜在问题。当你在声明函数或方法时使用PtrSafe属性,VBA编译器将对该函数或方法进行特定的检查,以确保它们在64位系统上是安全的。 要使用PtrSafe属性,你...
请检查并更新Declare语句,然后用PtrSafe属性标记它们. 解决方法:为了兼容64位系统,需要在Declare 后面加PtrSafe 进行标记,即由原来的Declare更改为Declare PtrSafe Declare 语句 (VBA) | Microsoft Docs
第一套:VBA代码解决方案是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。 第二套:VBA数据库解决方案数据库是数据处理的专业利器,教程中详细介绍...
最近换了新的电脑,从32位系统升级到64位系统,以前有写一个VBA (Visual Basic Application)的程序,在32位的旧电脑上是可以使用的,但是在新的64位的系统上却有以下问题, === Compile error: The code in this project must be update for use on 64-bit systems. Please review and update Declare statements...
#If VBA7 Then Declare PtrSafe Sub... #Else Declare Sub... #EndIf Lors de l’exécution dans des versions 64 bits d’Office, les instructions Declare doivent inclure le mot clé PtrSafe . Le mot clé PtrSafe indique que l’instruction Declare peut être exécutée en toute sécurité dans...
可以,但是没有必要,这个关键字是为64位设计的,保证程序的兼容性
希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪陪父母,多陪陪家人,何乐而不为呢?我的教程一共九套,从入门开始一直讲到程序的分发,是学习利用VBA的实用教程。这份API资料是随高级教程赠送的. 这讲我们继续学习64位Office API声明语句第119讲,这些内容是MS的权威资料,...
#If VBA7 And Win64 ThenPublic Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPublic Declare PtrSafe Function GetDC Lib "user32" (ByVal hwnd As LongPtr) As LongPublic Declare PtrSafe Function GetDeviceCaps Lib "gdi32" (ByVal hdc As LongPtr, ByVal nInd...