rom*_*das 44 vba ms-office office-2010
我注意到Office 2010附带了Visual Basic for Applications 7.0.但是,我似乎无法找到有关所做更改的文档.有没有人有变化的摘要,或描述差异的任何资源?
Tod*_*ain 44
VBA6和VBA7之间没有太多变化.引入VBA7是为了支持Office和Windows的64位版本(请参阅下面的这些差异).以下是主要变化:
64位支持,主要用于API调用.这用于使您的代码与您的OS/Office版本以及其他人一起使用(即Office 2003/WinXP上的某个人)
如果您使用的是64位版本的Windows,但使用的是32位版本的Office,则可以声明如下所示的API调用..
#If Win64 Then
Declare PtrSafe Function GetTickCount64 Lib "kernel32"() As LongLong
#Else
Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#End If如果您使用的是64位版本的Windows,并且位于64位版本的Office上,则可以声明API调用,如:.
#If VBA7 Then
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
#Else
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
#End If为了支持这一点,有:
三个新的关键字(2种数据类型和1个改性剂): LongPtr,LongLong和PtrSafe
一个新功能 :( CLngLng()即Int64)
上面使用的新编译常量:VBA7和Win64
Lun*_*tik 10
MSDN上的这篇文章更多地介绍了Office 2010的VBA 7中的更改: