公平的警告 - 代码不是我自己的,所以任何想法都会欢迎如何改变它。宏只能在一台电脑上工作,但不能在另一台电脑上工作
Public Sub ChangeMeeting()
Dim oRequest As MeetingItem
Dim oAppt As AppointmentItem
Set oRequest = Application.ActiveExplorer.Selection.Item(1)
If oRequest.MessageClass = "IPM.Schedule.Meeting.Request" Then
Set oAppt = oRequest.GetAssociatedAppointment(True)
' use this to autoaccept
Dim oResponse
Set oResponse = oAppt.Respond(olMeetingAccepted, True)
oResponse.Send
' set fields on the appt.
With oAppt
' .Categories = "Slipstick"
.BusyStatus = olFree
.Save ' use .Display if you want to see the appt. and set the reminder yourself
End With
End If
'delete the request from the inbox
oRequest.Delete
End Sub
这个很有意思。在我的电脑上,它工作得很好。然而,另一个可以点击并点击,并且什么都不会发生。没有错误,没有弹出窗口,没有任何东西。所以,我知道代码有效,但是有没有什么理由(权利?)完全相同的代码可以在一个而不是另一个上工作?
两者前景相同的版本? 2010?或 – 0m3r
iirc,默认情况下,Outlook VBA通常处于禁用状态,请尝试进入宏设置并检查安全选项。 –
有时,如果您将** VbaProject.OTM **文件复制到其他计算机上,那台计算机需要打开VBE,然后展开模块然后退出,重新启动Outlook才能使宏工作。您可能需要添加'Debug.Print'行来帮助您查看是否没有执行任何操作。你签了宏吗? – PatricK