web-dev-qa-db-ja.com

キャンセルされた会議を自動的に削除するようにOutlook2010を設定するにはどうすればよいですか

Outlook 2010には、[ファイル]-> [オプション]-> [カレンダー]-> [リソースのスケジュール]で、会議出席依頼を自動的に受け入れ、キャンセルされた会議を削除するための単一のオプションがあります。

このオプションでは、会議出席依頼は自動的に受け入れられます。これは欲しくない。私は次のことをしたい:

  • キャンセルされた会議をカレンダーから削除する
  • 削除キャンセル:...受信トレイからの会議メール
  • 会議出席依頼には何もしないでください

これは可能ですか?

10
going

答えを見つけた あなたが尋ねていた正確な質問を検索することによって。

次のソースコードを使用してマクロを作成する必要があります(メールボックスの名前を独自の名前に変更します)。

Set olResCalendar = OpenMAPIFolder("\MailboxName\Calendar")
Sub RemoveCanceledAppointments()

Dim olResCalendar As Outlook.MAPIFolder, olApptItem As Outlook.AppointmentItem, intCounter As Integer

'Change the path to the resource calendar on the next line
Set olResCalendar = OpenMAPIFolder("\MailboxName\Calendar")

For intCounter = olResCalendar.Items.Count To 1 Step -1
Set olApptItem = olResCalendar.Items(intCounter)
    If Left(olApptItem.Subject, 9) = "Canceled:" Then
    olApptItem.Delete
    End If
Next
Set olApptItem = Nothing
Set olResCalendar = Nothing
End Sub

Function OpenMAPIFolder(szPath)
Dim app, ns, flr, szDir, i
Set flr = Nothing
Set app = CreateObject("Outlook.Application")
    If Left(szPath, Len("\")) = "\" Then
    szPath = Mid(szPath, Len("\") + 1)
    Else
    Set flr = app.ActiveExplorer.CurrentFolder
    End If

While szPath <> ""
i = InStr(szPath, "\")
    If i Then
    szDir = Left(szPath, i - 1)
    szPath = Mid(szPath, i + Len("\"))
    Else
    szDir = szPath
    szPath = ""
    End If
    If IsNothing(flr) Then
    Set ns = app.GetNamespace("MAPI")
    Set flr = ns.Folders(szDir)
    Else
    Set flr = flr.Folders(szDir)
    End If
    Wend
Set OpenMAPIFolder = flr
End Function

Function IsNothing(Obj)
If TypeName(Obj) = "Nothing" Then
    IsNothing = True
Else
    IsNothing = False
End If
End Function

ページからの引用:

このマクロは、リソースカレンダーを検索し、件名に「キャンセル済み:」が含まれるアイテムを削除します。これを機能させるには、リソースメールボックスに対する適切な権限も必要です。このマクロはキャンセルされた会議を削除し、直接予約と自動承認された会議の両方を削除します。

1
Lawful Lazy