添付ファイル付きの .eml メッセージでいっぱいのフォルダーを取り、添付ファイルを別のフォルダーに抽出/名前変更/保存しようとしています。私のコード:
Sub SaveAttachments()
Dim OlApp As Outlook.Application
Set OlApp = GetObject(, "Outlook.Application")
Dim MsgFilePath
Dim Eml As Outlook.MailItem
Dim att As Outlook.Attachments
Dim Path As String
Path = "C:\Users\richard\Desktop\Inbox\"
If OlApp Is Nothing Then
Err.Raise ERR_OUTLOOK_NOT_OPEN
End If
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Dim temp As Object
Set temp = fs.GetFolder(Path)
For Each MsgFilePath In temp.Files
Set Eml = OlApp.CreateItemFromTemplate(Path & MsgFilePath.Name)
Set att = Eml.Attachments
If att.Count > 0 Then
For i = 1 To att.Count
fn = "C:\Users\richard\Desktop\cmds\" & Eml.SenderEmailAddress
att(i).SaveAsFile fn
Next i
End If
Set Eml = Nothing
Next
Set OlApp = Nothing
End Sub
しかし、ループ内の最初のファイル、つまり行 Set Eml = OlApp.CreateItemFromTemplate(Path & MsgFilePath.Name) でこのエラーがすぐに発生します。
-2147286960 (80030050) %1 already exists.
何が起こっているかについてのアイデアは大歓迎です!