Office 2021 64 位中的 32 位 Outlook 脚本

32bit Outlook script in Office 2021 64bit

我有这个我使用了多年的脚本,它将来自 outlook 的电子邮件存储在硬盘上的一个文件夹中以供存档。它一直运行良好,但没有,我更改为 Office '21 64 位,但在编译时收到一条错误消息。我见过类似的问题,但我完全是菜鸟,所以问题是,有人能指出我需要更改的地方吗?以下行被标记:


**Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)**

非常感谢任何意见...

要编写可在新旧版本的 Office 中运行的代码,您可以结合使用新的 VBA7 和 Win64 条件编译器常量。 Vba7 条件编译器常量用于确定 VB 编辑器版本 7 中的代码是否为 运行(Office 2010 中附带的 VBA 版本)。 Win64 条件编译器常量用于确定 Office 的版本(32 位或 64 位)是 运行。例如:

#If Win64 Then
    Public Declare PtrSafe Function GetTickCount Lib "Kernel32" Alias "GetTickCount64" () As LongPtr
#Else
    Public Declare PtrSafe Function GetTickCount Lib "Kernel32" () As LongPtr
#End If

您可能会发现以下文章有帮助: