3
添付ファイルを特定のOutlookフォルダにメッセージとして保存するコードがあります。添付ファイルとして他の電子メールの中にあったOutlook電子メールから添付ファイル(Excelファイル)を保存するVBAコード
電子メールに添付ファイルがある場合、スクリプトは動作しますが、電子メールが添付ファイルと添付ファイルとして送信された場合は動作しません。
この場合、私の電子メールには、(自動転送ルールの)添付ファイルとして他の電子メールが含まれています。埋め込まれた電子メールの添付ファイルには、Excelファイルが含まれています。
私の現在のvba以下を参照してください:
Public Sub SaveOlAttachments()
Dim isAttachment As Boolean
Dim olFolder As Outlook.MAPIFolder
Dim msg As Outlook.MailItem
Dim att As Outlook.Attachment
Dim fsSaveFolder, sSavePathFS, ssender As String
On Error GoTo crash
fsSaveFolder = "C:\Documents and Settings\user\Desktop\"
isAttachment = False
Set olFolder = Outlook.GetNamespace("MAPI").Folders("...email server...")
Set olFolder = olFolder.Folders("Inbox")
If olFolder Is Nothing Then Exit Sub
For Each msg In olFolder.Items
If UCase(msg.Subject) = "TEST EMAIL WITH ATTACHMENT" Then
If msg.Attachments.Count > 0 Then
While msg.Attachments.Count > 0
sSavePathFS = fsSaveFolder & msg.Attachments(1).Filename
msg.Attachments(1).SaveAsFile sSavePathFS
msg.Attachments(1).Delete
isAttachment = True
Wend
msg.Delete
End If
End If
Next
crash:
If isAttachment = True Then Call findFiles(fsSaveFolder)
End Sub
すべてのヘルプははるかに高く評価されるだろう。
完璧に動作します!私が変更さだけのものだった。 Application.CreateItemFromTemplate(strFilePath&strTmpMsg) にOutlook.CreateItemFromTemplate(strFilePath&strTmpMsg) –