10

現在、特定の件名の会議出席依頼を自動的に辞退できるように、ルールに関連付けるスクリプトがあります。

Sub AutoDeclineMeetings(oRequest As MeetingItem)

If oRequest.MessageClass <> "IPM.Schedule.Meeting.Request" Then
  Exit Sub
End If

Dim oAppt As AppointmentItem
Set oAppt = oRequest.GetAssociatedAppointment(True)

Dim oResponse
 Set oResponse = oAppt.Respond(olMeetingDeclined, True)
 oResponse.Send

End Sub

しかし、これは会議の主催者に返信を送り返し、主催者は私が出席するかどうかを気にしないため、不必要にスパムを送信します。

このコードを変更して、会議がカレンダーに表示されないようにし、応答が送信されないようにするにはどうすればよいですか? oAppt.Deleteと の両方を単純に呼び出してみましoRequest.Deleteたが、カレンダーからアイテムが削除されません。

事実上、私が探しているのは、会議出席依頼で[辞退] -> [返信を送信しない] を手動で選択することと同じです。

4

2 に答える 2

1

する代わりにoResponse.Send、試してくださいoResponse.Close(olDiscard)

于 2013-08-02T20:50:17.830 に答える
-1

応答を送信するのではなく削除します。

oResponse.Deleteそれ以外のoResponse.Send

Sub DeclineSelected()
    Dim Session As Outlook.NameSpace
    Dim currentExplorer As Explorer
    Dim Selection As Selection
    Dim currentItem As Object
    Dim oAppt As AppointmentItem
    Dim oResponse

    Set currentExplorer = Application.ActiveExplorer
    Set Selection = currentExplorer.Selection

    'For all items selected...
    For Each currentItem In Selection
        'If it is a meeting request...
        If currentItem.MessageClass = "IPM.Schedule.Meeting.Request" Then
            Set oAppt = currentItem.GetAssociatedAppointment(True)
            If oAppt.ResponseRequested Then
                Set oResponse = oAppt.Respond(olMeetingDeclined, True, False)
                oResponse.Delete
            Else
                Set oResponse = oAppt.Respond(olMeetingDeclined, True, False)
            End If
            currentItem.Delete

        'If it is a meeting cancellation...
        ElseIf currentItem.MessageClass = "IPM.Schedule.Meeting.Canceled" Then
            Set oAppt = currentItem.GetAssociatedAppointment(True)
            If oAppt Is Nothing Then
                currentItem.Delete
            End If

    'Delete if just an email...
        ElseIf currentItem.MessageClass = "IPM.Note" Then
            currentItem.Delete
        End If

    Next
End Sub
于 2014-03-24T17:55:35.940 に答える