私は電子メールの件名に受け取った日付を追加するかなり簡単なマクロを書こうとしています。
以下のコードをコンパイルしました。これは単一の電子メールで動作します。しかし、最初のメールの後にはFor Each
ループが終了しているように見えますが、これを解決する方法は全くありません。私はPickFolder
行をActiveExplorer.Selection
行で変更しようとしました。まったく同じ問題です。VBA - For eachループは最初の項目の後に終了します
Sub SelectedMailItemsSubjectWithDate()
Dim objMainFolder As Outlook.Folder
Dim MObj As Outlook.MailItem
Set objMainFolder = Outlook.Application.Session.PickFolder
For Each MObj In objMainFolder.Items
'Adds the date to the subject
MObj.Subject = Format(MObj.ReceivedTime, "YYYYMMDD") & " - " & MObj.Subject
Next MObj
End Sub
私にこれを手伝ってくれる人はいますか?私は多くの義務があります!
私が日付を追加しようとしているのは、ファイルの件名行以外の何も表示されないオンラインストレージで.msg形式で何千もの電子メールをアーカイブする必要があるからです。
、どのように多く見ることがイミディエイトウィンドウ( 'CTRL + G')にobjMainFolder.Items.Count''実行してみてくださいアイテムがピックアップされます。 1つだけの場合はエラー、それ以上の場合は何か他のものが停止します。 – vacip
ありがとうございます - 私は、直接のウィンドウであなたのコードを実行したと4(私のテストフォルダ内のメールの実際の数)です。 –
いくつかのエラー処理コードを入れてみることもできますが、何らかのエラーが発生している可能性があります。このリンクは役に立ちます。 http://analystcave.com/vba-proper-vba-error-handling/ –