【发布时间】:2014-05-19 11:42:19
【问题描述】:
这个问题之前已经完成(并已解决),请参阅Outlook VBA - Run a code every half an hour 几年前,我在几台运行 Vista(32 位)、Windows 7 和 Windows 8.1(均为 64 位)的计算机上使用了该代码,没有遇到任何问题。安装了新的 Office 2010 的新计算机会出现一些问题。
64 位版本的 Outlook 似乎与 32 位版本的反应不同。 我收到这些行的错误
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerfunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
这可以通过 PtrSafe 来纠正,例如:
Declare Function PtrSafe SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerfunc As Long) As Long
Declare Function PtrSafe KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
该行出现另一个错误:
TimerID = SetTimer(0, 0, nMinutes, AddressOf TriggerTimer)
类型似乎不同。
【问题讨论】:
-
嗯..
AddressOf?如果您告诉我们错误消息和代码会有所帮助
标签: vba timer outlook outlook-2010