2017-01-31 12 views
1

私は次のスクリプトを実行するルールを作成したいと思います:保存添付ファイル

Public Sub SaveToDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
Dim dateFormat 

dateFormat = Format(Now, "yyyy-mm-dd") 

saveFolder = "c:\temp\" 

objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls" 

Set objAtt = Nothing 

End Sub 

これは、Cに添付ファイルを保存する必要があります:\ tempフォルダが、それはobjAttので動作しません。値は何もありません。なんらかの理由で、次の行が表示されます。理由はわかりませんが、理由があるため、添付ファイルをobAtt変数に割り当てません。ここで添付ファイルは.csvファイルです。

私はWindows 10でOutlook 2016を使用しています。なぜこれが起こっているのかについて助言を得るのはうれしいです。

答えて

4

オブジェクトを作成するだけで作成するため、オブジェクトを埋め込むことができないため、オブジェクトを設定する必要があります。

したがって、MailItemとの関係には何の関係もないはずです。さらに、より

、通過する取付け質のコレクションがあり、以下を参照してください。

Public Sub SaveToDisk(ItM As Outlook.MailItem) 
Dim oAttS As Outlook.Attachments 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
Dim dateFormat 

dateFormat = Format(Now, "yyyy-mm-dd") 
saveFolder = "c:\temp\" 

Set oAttS = ItM.Attachments 

For Each objAtt In oAttS 
    objAtt.SaveAsFile saveFolder & "\" & dateFormat & "_" & objAtt.FileName 
Next objAtt 

Set oAttS = Nothing 
Set objAtt = Nothing 

End Sub 
関連する問題