我最近切換到Outlook 2007,並注意到我的VBA宏不起作用。我使用下面的代碼來打開一個新的約會項目(並自動填充它)。它在Outlook 2003中完美工作,但現在objCB.Execute什麼都不做。我嘗試了不同的控制ID,它只適用於一些,但我無法弄清楚爲什麼或爲什麼不是所有。Outlook 2007 CommandBarControl.Execute將不起作用
Dim ex As Explorer
Set ex = Application.ActiveExplorer
If ex.CurrentFolder.DefaultItemType <> olAppointmentItem Then
Set ex = Nothing
Exit Sub
End If
Dim objCB As CommandBarButton
Dim objAppt As AppointmentItem
Set objCB = ex.CommandBars.FindControl(, 1106)
If objCB Is Nothing Then Exit Sub
objCB.Execute
安全性設置爲最低級別。
這工作得很好(我正在使用C#3/NET35/Outlook2007)。在執行過程中是否有錯誤*,或者是沒有找到的控件(並且在Execute之前存在這個控件)如預期的那樣? – 2009-11-13 20:16:20
FindControl工作並返回正確的控件,但調用Execute方法不會產生任何結果。 – dwo 2009-11-13 23:13:02