私がしたいことは、自動的にThunderbirdアカウントから電子メールを送信することです。ユーザーは、電子メールの[送信]ボタンを押す必要はありません。Excel VBAでThunderbirdから電子メールを自動的に送信
私はCDOを使用しようとしましたが、問題は送信元のアカウントのユーザー名とパスワードを入力する必要があることです。このマクロは複数の異なるアカウントから使用されるため、各ユーザー名とパスワードの入力は実現できません。私はThunderbirdからユーザ名、パスワード、smtpサーバを検索することがあったとしてもCDOを使うことができましたが、CDOなしでこれを達成できるはずのコードが好きです。
実際にこれを達成するために私が見る(そしてどこにでも)唯一のコードです。
Sub Thunderbird()
Dim thund As String
Dim email As String
Dim cc As String
Dim bcc As String
Dim subj As String
Dim body As String
email = "[email protected]"
cc = "[email protected]"
bcc = "[email protected]"
subj = "Subject"
body = "body text"
thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
thund = thund & " -compose " & Chr$(34) & "mailto:" & email & "?"
thund = thund & "cc=" & Chr$(34) & cc & "?"
thund = thund & "bcc=" & Chr$(34) & bcc & "?"
thund = thund & "subject=" & Chr$(34) & subj & Chr$(34)
thund = thund & "body=" & Chr$(34) & body
Call Shell(thund, vbNormalFocus)
SendKeys "^+{ENTER}", True
End Sub
今の時点で、フィールドcc
、bcc
、subj
、およびbody
は全て正しく認識されています。問題は、すべてが最初のフィールドの最後に追加されることです。たとえばコードが現在のところでは、cc
がccフィールドに入りますが、bcc
,subj
、およびbody
はすべてThunderbirdのccフィールドにcc
に追加されます。
cc
アウトコメント場合は、
bcc
が正しいフィールドに配置され
が、subj
とbody
は、サンダーバードのBCCフィールドにbcc
に追加されます。私はcc
とbcc
アウトコメント場合
、その後、subj
は正しいフィールドに入れますが、サンダーバードの対象分野にsubj
にbody
付加されます。
基本的に私は、これらの各行の最後に正しいコードを追加する必要があります。私は"?"
とChr$(34)
の両方を試してみました。
最後に、SendKeys "^+{ENTER}", True
はまったく機能しません。これは、すべてのパラメータがThunderbirdの正しいフィールドに入れられていないことが原因である可能性がありますが、私はそれが動作しないため、わかりません。 Thunderbirdからの電子メールは表示されますが、このコードは想定されているように電子メールを送信していません。
SOLUTION(@zedfoxusによって提供される)
Sub Thunderbird()
Dim thund As String
Dim email As String
Dim cc As String
Dim bcc As String
Dim subj As String
Dim body As String
email = "[email protected]"
cc = "[email protected]"
bcc = "[email protected]"
subj = "Subject"
body = "body text"
thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" & _
" -compose " & """" & _
"to='" & email & "'," & _
"cc='" & cc & "'," & _
"bcc='" & bcc & "'," & _
"subject='" & subj & "'," & _
"body='" & body & "'" & """"
Call Shell(thund, vbNormalFocus)
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "^{ENTER}", True
End Sub
[Excelマクロ送信Thunderbird](https:// stackoverflow。com/questions/31283948/excel-macro-through-thunderbird/31284639#31284639) – 0m3r