2017-09-07 4 views
0

私は、VBAについて何も知らない、私は一緒にルールを経由して名前を付けて保存メールに私を可能にする非常に簡単なマクロを置くことをどうにか:見通しマクロ断続的なアクセス権のエラー

Sub sTXT(myMail As Outlook.MailItem) 
strname = myMail.Subject 
myMail.SaveAs "C:\Users\ss127w\Box Sync\maildump\" & strname & ".txt", OLTXT 
End Sub 
Sub Test() 
    Call sTXT(ActiveExplorer.Selection(1)) 
End Sub 

は、これは多くの何ヶ月も完璧に働いてきた、私は問題のない2種類の電子メールをエクスポートしています。さて、今日は別の電子メールのための新しいルールを設定しようとしましたが、このマクロは私に許可エラーを与える:

Outlook cannot complete the save due to a file permission error. 

私はマクロ一切の変更を加えていませんでした。私はランダムに他の電子メールでマクロのテストを開始し、他の電子メールでは動作しないことに気付きました。

SaveAsを手動で実行すると、マクロに定義されているフォルダにメールを保存できます。

私は、件名の特殊文字が問題を引き起こしていると思われますが、私は実際にこれを結論づけるのに十分な試行錯誤をしていません(件名にコロン(:)があります)。

あなたの意見を教えてください。

答えて

1

I suspect that the special characters in the subject line is causing issues, but I haven't done enough trial and error to really be able to conclude this (the subject line has a colon (:) in it).

正しいですか?コロンで問題が発生します。

あなたはコロンを含めるために、ファイル名を編集するには、Windowsエクスプローラを使用してみた場合、あなたがメッセージを受信しますが:行うには

A file name can't contain any of the following characters: \/: * ? " < > |

最善のことは、あなたの件名のいずれかのような文字が他の文字に変換され、例えば代わりに

strname = myMail.Subject 

のあなたの代わりにアンダースコアにコロンを変更する

strname = Replace(myMail.Subject, ":", "_") 

を使用する場合があります。

それともあなたがしたい場合は、フル

strname = Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(_ 
      Replace(myMail.Subject, "\", "_"), _ 
            "/", "_"), _ 
            ":", "_"), _ 
            "*", "_"), _ 
            "?", "_"), _ 
            """", "_"), _ 
            "<", "_"), _ 
            ">", "_"), _ 
            "|", "_") 

のために行くことができます。明らかに、置換文字の選択はあなた次第です。文字を取り除きたい場合は""に置き換えることもできます。

+0

これは、ありがとうございました。 – 528fb

関連する問題