サンダーバードでメールを自動作成しようと思い、回答者さんのアドバイスで以下のコードを 作成しました。 【仕様】 sheet2のA列に、メールの宛先と本文の文字列が下方向に並んでおり、ループしながら宛先と本文を新規メールに送っていく。 Dim sPath As String Dim Mailad As String Dim Subjct As String Dim Bodyst As String Do Until Sheets("sheet2").Range("J" & cnt).Value = syuryono + 1 If Sheets("sheet2").Range("I" & cnt).Value = "アドレス" Then 'メルアドを取得 meruado = Sheets("sheet2").Range("A" & cnt).Value cnt = cnt + 1 'メルアドから下の行を本文として取得 honbun = "" Do honbun = honbun & Sheets("sheet2").Range("A" & cnt).Value honbun = honbun & "%0a" cnt = cnt + 1 Loop Until Sheets("sheet2").Range("I" & cnt - 1).Value = "エンド" '文字数カウント a = Len(honbun) 'メール作成 sPath = """C:\Program Files\Mozilla Thunderbird\thunderbird.exe"" -compose " Mailad = meruado Subjct = Sheets("説明").Range("A7").Value Bodyst = honbun Shell sPath & "to=" & Mailad & "," & _ "subject=""" & Subjct & """," & _ "body=""" & Bodyst & """" Else cnt = cnt + 1 End If Loop で、今回の質問なんですが、上記のコードを回すと、作成されたメールのウィンドウがずらっと並びます。 この状態ですべて送信しようとすると、すべてのウィンドウで「送信ボタン」を押さなければならず、大変時間がかかります。 サンダーバードの仕様では、「すべてのウィンドウの送信ボタンを押す」というショートカットキーはないようですが、「未送信トレイ」に入っているメールをすべて送信することはできるようです。 上記コードを回して作成されたメールを一括送信するために、作成されたメールが自動で未送信トレイに行くようにしたいのですが、そのような事ができるVBAコードはありますでしょうか? ご存じの方はよろしくお願いいたします。
↧