hiko-blog

VBA業務改善

MENU

Outlookで不要添付ファイル削除する

  1. Outlookを開き、
  2. 「開発」タブを有効にする。
  3. Visual Basic」をクリックしてVBAエディタを開く。
  4. 「挿入」メニューから「モジュール」を選択して下記VBA貼り付け。

 

Sub RemoveAttachmentsFromSelectedEmails()
    Dim selectedItems As Selection
    Set selectedItems = Application.ActiveExplorer.Selection
    
    Dim selectedItem As Object
    For Each selectedItem In selectedItems
        If TypeOf selectedItem Is MailItem Then
            If MsgBox("添付ファイルを削除してもよろしいですか?", vbYesNo + vbQuestion, "確認") = vbYes Then
                RemoveAttachments selectedItem
            End If
        End If
    Next selectedItem
End Sub

Sub RemoveAttachments(mail As MailItem)
    Dim attachment As Attachment
    Dim attachmentsToRemove As New Collection
    
    ' すべての添付ファイルをコレクションに追加
    For Each attachment In mail.Attachments
        attachmentsToRemove.Add attachment
    Next attachment
    
    ' コレクション内の添付ファイルを削除
    Dim i As Integer
    For i = attachmentsToRemove.Count To 1 Step -1
        attachmentsToRemove(i).Delete
    Next i
    
    ' メールを保存
    mail.Save
End Sub