VBA コミュニティの 1 つから olook VBE に次のコードをコピーし、必要に応じて修正しました。F5 と F8 を使用して実行できます。ここで、folder1 で電子メールを受信するたびにこのマクロを実行したいと考えています。ルールを設定しようとしましたが、[スクリプトの実行] 選択ボックスにマクロが表示されません。私はすでにそれを確認しました
- マクロのセキュリティ設定が正しい
- マクロはクラスではなくモジュールにあります
設定で何が間違っているのか教えてください。
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