2017-05-09 18 views
0
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem) 
    Dim oAttachment As Outlook.Attachment 
    Dim sSaveFolder As String 
    sSaveFolder = "C:\Users\axt112\Desktop\downloads\" 
    For Each oAttachment In MItem.Attachments 
    If oAttachment = "Checkpoint Volume and Movement Times*" Then oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName 
    Next 
End Sub 

Outlook VBAコードを使用して、特定のファイルが添付された添付ファイルを指定されたフォルダに保存しています。ルールはこのスクリプトを実行しますが、ルールに間違いはありませんので、そのコードを仮定します。SaveAttachmentsToDisk VBAコードが機能しません。

先週は正常に機能していて変わっていないので変です。あなたはコード内で何か変わったことを見ますか?

ありがとうございました。

+0

'oAttachment.SaveAsFile ... 'の後に同じ行で' Then'の直後に 'oAttachment.SaveAsFile ...'を移動しようとするか、新しい行として 'End if'を挿入してみてください – Tehscript

+0

それはすでに、あなたが添付ファイルが正確な名前を持っていない限り、チェックポイントのボリュームと移動時間* "Then'のような場合には...// – arthur6523

+2

' oAttachment.DisplayName'にする必要があります –

答えて

0

OutlookオブジェクトとVBAの文字列を比較することはできません。おそらく、実際にファイル名である必要はない名前を表す文字列を返すAttachmentクラスのDisplayNameプロパティを比較することが期待されていました。

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem) 
    Dim oAttachment As Outlook.Attachment 
    Dim sSaveFolder As String 
    sSaveFolder = "C:\Users\axt112\Desktop\downloads\" 
    For Each oAttachment In MItem.Attachments 
    If oAttachment.DisplayName = "Checkpoint Volume and Movement Times*" Then   
     oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName 
    Next 
End Sub 

などの機能を使用するには:

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem) 
    Dim oAttachment As Outlook.Attachment 
    Dim sSaveFolder As String 
    sSaveFolder = "C:\Users\axt112\Desktop\downloads\" 
    For Each oAttachment In MItem.Attachments 
    If oAttachment.DisplayName Like "Checkpoint Volume and Movement Times*" Then   
     oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName 
    Next 
End Sub 

あなたはGetting Started with VBA in Outlook 2010記事は参考になりましかもしれません。

関連する問題