2017-09-11 75 views
0

電子メールにあるExcel(.xlsm)ファイルを保存しようとしています。私は別の電子メールでこのメールを受け取ります。電子メール添付ファイルの添付ファイルを保存する

上記の.xlsmファイルを共有ドライブにダウンロードします。複数のオンラインフォーラムとMSDNヘルプを参照すると、次のコードが書かれています。

私はこのコードを実行してもエラーは発生しません。また、ファイルは保存されません。

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
    Dim objAtt As Outlook.Attachment 
    Dim msgAtt As Outlook.Attachment 
    Dim saveFolder As String 
    ' a to i are dummy names and have been replaced with correct folder path in real code 
    saveFolder = "\\a\b\c\d\e\f\g\h\i" 
    For Each objAtt In itm.Attachments 
     If InStr(objAtt.DisplayName, ".msg") Then 
      For Each msgAtt In itm.Attachments 
       If InStr(msgAtt.DisplayName, ".xlsm") Then 
        msgAtt.SaveAsFile saveFolder & "\" & msgAtt.DisplayName 
       End If 
      Next 
     Set msgAtt = Nothing 
    End If 
Next 
Set objAtt = Nothing 
End Sub 
+2

可能な複製(https://stackoverflow.com/questions/7890612/vba -code-to-save-an-attachment-excel-out-of-outlook-email-in-insid) – niton

+0

@niton希望の結果が同じであることに同意するが、この場合に直面する特定の問題はその場合とは異なる –

答えて

0

コードを1行ずつ実行しているときに解決策が見つかりました。

ifステートメントは、添付ファイルの表示名に ".msg"と ".xlsm"という単語を検索すると言います。調べると、表示名はファイル拡張子を表示名に使用しません。

これを解決するには、 ".msg"と ".xlsm"をファイル名に置き換える必要がありました。

おかげで、[添付ファイルとして別の電子メールの中にあったOutlookの電子メールから添付ファイルを(Excelファイル)を保存するVBAコード]の

関連する問題