【发布时间】:2018-11-16 12:31:00
【问题描述】:
我面临的问题是,我想分发我的 Excel VBA 模板之一。几乎在所有过程中,我都分配了 LONG 数据类型。但是,我发现对于 VBA7 或 2010 及更高版本,我们可以使用 LongPtr 数据类型进行分配。这将绕过版本控制问题。无论是 64 位还是 32 位的 MS office。
但我的一位朋友指出我不能将 LongPtr 用于 VB6 或 2010 年以下的 office。
所以我尝试使用这种方式使其更适用于任何办公版本
#If VBA7 Then
Dim X As LongPtr
#Else
Dim X As Long
#End If
我应该使用上述声明吗?它会导致错误吗?据我的朋友说,它会导致。他还补充说编译器会绕过 if 语句。
我没有测试它的系统。
我目前的系统是,
Windows 10 64 位
MS Office 2016 32 位
请建议我,我错过了这个概念。为什么我不能在程序中使用上述声明?
谢谢。
【问题讨论】: