VBAといえばExcelしかないみたいにExcelVBAのことがたくさん出できますが、
OutlookやPowerPointだってOffice製品なのでVBAがあります。
でも、ほぼ検索できません。
今回、ExcelVBAで動いていたコードをOutlookに移すことになりましたが、
Application.Wait(Now+TimeValue("0:00:01"))
というコードが、
と実行時エラー438となりOutlookでは動きませんでした。
OutlookVBAで動くコードをご紹介します。
'PtrSafeは64bitで↓動くコードです。
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As Long)
Sub test()
Dim time As Long
'ミリ秒ですので、1000ミリ秒=1秒です。
time = 3000
Sleep time
MsgBox time & "ミリ秒経ちました。"
End Sub
追記
こうしてもいけるみたいです。
Set appExcel = CreateObject("Excel.Application")
appExcel.Wait (Now + TimeValue("0:00:03"))
CreateObject("Excel.Application")すれば、ExcelのApplicationオブジェクトをOutlookのVBAで呼び出せるみたいです。
参考にするときに動かなくて困ってましたが、
CreateObject("Excel.Application")すれば、実行時エラー438は回避できそうです。