- ベストアンサー
エクセルVBAにて、OutlookExpressを
はじめまして。 エクセルVBAで教えて頂きたいと思います。 ボタンを押下すると、メールソフト(Outlook Express)にて 新規にメールのメッセージが起動し、特定のセルから件名・宛先を セットする事って可能でしょうか?。 Outlookとかなら出来そうなんですが。(ネットで見る限り) Outlook Expressはどうなのでしょうか?。 OS WinXPSP2 Office Excel2003SP2 以上、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
簡単にやるなら、こんな感じで可能です。 単に Mailto リンクを踏んでるだけなので、あくまで簡易法。 本文(body) に長文をセットできません.... ' // WSH の Run メソッドで Mailto: Sub Sample() Dim sAddr As String Dim sBody As String Dim sSubj As String Dim sComd As String sAddr = "hoge@sample.ne.jp" sSubj = "メールテスト" sBody = "標準メーラが起動しますよ." sComd = "Mailto:" & sAddr & "?Subject=" & sSubj & "&body=" & sBody Debug.Print sComd CreateObject("WScript.Shell").Run sComd End Sub Outlook なら簡単なんですけどね... OE だとちょっと面倒です。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルのVBEの画面に下記を貼り付けて実行する。 Dim Subj As String Dim BodyText As String Cells(1, "A") = "帰国報告" Cells(1, "B") = "昨日かえって来ました" Subj = Cells(1, "A") BodyText = Cells(1, "B") t = "C:\Program Files\Outlook Express\msimn.exe /mailurl:mailto:(自分のメイルアドレステキスト)?bcc=(自分のメイルアドレステキスト)&subject=" & Subj & "&body=" & BodyText & "%20" MsgBox t Shell t End Sub 上記「{自分のメイルアドレス)」はテスト用の為にそうするだけで、 本当はC列、D列に宛先メイルアドレス等を事前にセットして置いて、上記の要領(&の利用)で文字列tを作り、For Nextで各行データを繰り回せば メイル作成の画面の内容はこれで自由にかつ変化させられることができることになります。 ただ1通ごとの送信は、自動化できていません。 本質問はこれではダメと言う場合かもしれませんが、その際はごめんなさい。
お礼
回答ありがとう御座います。 確かに、希望に近いのが出来ます。 しかし、こないだ添付も出来てほしいと利用者に頼まれして舞いました。 添付を使わないと、回答者様のロジックで出来ます。。。 申し訳ありません。添付ファイルが出来てTo,CC,が出来るのが あればご教授お願い致します。
- fighting-okan
- ベストアンサー率15% (3/20)
自身のエクセルファイルを添付するのでこんなの使ってます↓ 参考になるか分かりませんが。。。 Sub test1() Mailto = Range("A1").Text Subject = Range("A2").Text Application.Dialogs(xlDialogSendMail).Show Mailto, Subject End Sub
お礼
そうそうの回答ありがとう御座います。 確かに、おいらの質問の求めていたモノに近いです。 ただ、添付されてしまうのが。。。。 添付しない方法をご存知でしたら宜しくお願い致します。 私の方でも、継続して調べてみますが。。。
お礼
解答ありがとうございます 上手く出来そうです。 ありがとうございました。