14

VBA コミュニティの 1 つから olook VBE に次のコードをコピーし、必要に応じて修正しました。F5 と F8 を使用して実行できます。ここで、folder1 で電子メールを受信するたびにこのマクロを実行したいと考えています。ルールを設定しようとしましたが、[スクリプトの実行] 選択ボックスにマクロが表示されません。私はすでにそれを確認しました

  1. マクロのセキュリティ設定が正しい
  2. マクロはクラスではなくモジュールにあります

設定で何が間違っているのか教えてください。

Public Sub SaveAttachments()

    Dim myOlapp As Outlook.Application
    Dim myNameSpace As Outlook.NameSpace
    Dim myFolder As Outlook.MAPIFolder
    Dim yourFolder As Outlook.MAPIFolder

    Dim myItem As Outlook.MailItem
    Dim myAttachment As Outlook.Attachment
    Dim I As Long

    Set myOlapp = CreateObject("Outlook.Application")
    Set myNameSpace = myOlapp.GetNamespace("MAPI")
    Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
    Set yourFolder = myNameSpace.GetDefaultFolder(olFolderInbox)

    Set myFolder = myFolder.Folders("folder1")
    Set yourFolder = yourFolder.Folders("folder2")

    For Each myItem In myFolder.Items
        If myItem.Attachments.Count <> 0 Then
            For Each myAttachment In myItem.Attachments
                I = I + 1
                myAttachment.SaveAsFile "C:\arthur\test.csv"

            Next
        End If

        myItem.Move yourFolder

    Next
End Sub
4

2 に答える 2