• ベストアンサー

エクセルVBAにて、OutlookExpressを

はじめまして。 エクセルVBAで教えて頂きたいと思います。 ボタンを押下すると、メールソフト(Outlook Express)にて 新規にメールのメッセージが起動し、特定のセルから件名・宛先を セットする事って可能でしょうか?。 Outlookとかなら出来そうなんですが。(ネットで見る限り) Outlook Expressはどうなのでしょうか?。 OS WinXPSP2 Office Excel2003SP2 以上、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

簡単にやるなら、こんな感じで可能です。 単に 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 だとちょっと面倒です。

gametan
質問者

お礼

解答ありがとうございます 上手く出来そうです。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセルの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通ごとの送信は、自動化できていません。 本質問はこれではダメと言う場合かもしれませんが、その際はごめんなさい。

gametan
質問者

お礼

回答ありがとう御座います。 確かに、希望に近いのが出来ます。 しかし、こないだ添付も出来てほしいと利用者に頼まれして舞いました。 添付を使わないと、回答者様のロジックで出来ます。。。 申し訳ありません。添付ファイルが出来てTo,CC,が出来るのが あればご教授お願い致します。

回答No.1

自身のエクセルファイルを添付するのでこんなの使ってます↓ 参考になるか分かりませんが。。。 Sub test1() Mailto = Range("A1").Text Subject = Range("A2").Text Application.Dialogs(xlDialogSendMail).Show Mailto, Subject End Sub

gametan
質問者

お礼

そうそうの回答ありがとう御座います。 確かに、おいらの質問の求めていたモノに近いです。 ただ、添付されてしまうのが。。。。 添付しない方法をご存知でしたら宜しくお願い致します。 私の方でも、継続して調べてみますが。。。

関連するQ&A

  • AccessのVBAについて

    AccessのVBAでoutlook2003の宛先にメールアドレスを代入するといものを作成したのですが、 メールアドレスがそのまま代入されてしまいます。できればアドレス帳に登録してある「表示名」で表示したいのですが、AccessのVBAで設定するのか、outlook2003で設定するのか・・・どなたかご教示願います。 ちなみに、outlook expressではアドレス帳に登録してある「表示名」で表示できたのですが・・ Shell """C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe"" /c ipm.note /m " & Me![アドレス], vbNormalFocus でoutlook2003の宛先にメールアドレスは代入できてます。

  • エクセルのVBAでOutlook Expressの操作

    エクセルのVBAでOutlook Expressの操作 顧客情報を管理する上で、メールアドレスの登録が非常に面倒です。 そこで、Outlook Expressで受信したメールアドレスを自動でエクセルに落としたいのですが、 やり方を教えて下さい。出来れば、VBAを使ってやりたいです… イメージしているのは、 (1)件名に「メールアドレス登録」と入力し、本文に名前を入力したものを送る。 (2)メッセージルールで自動振り分けをして、「メールアドレス登録」という件名のメールは1つのフォルダにまとめる。(これは出来ました) (3)エクセルのA列に名前、B列にアドレスをOutlook Expressから自動で入力する。(ここをVBAを使って自動で行いたい) こんな感じなのですが、宜しくお願いします。

  • OFFICE2007 Outlook VBA

    ご教授頂けますと幸いです。 行いたいのは、Excel2007のVBAから OFFICE Outlookを起動してメールを送りたいと考えています。 自分なりにググりましたが、無駄な動きを少なく短時間に送れるようにしたいというところでご質問させていただきます。 環境はWinxp Proです。 件名は、VBAの中に"こんにちは"と入れられれば良いのですが、本文はExcel内のCellsを指定したいと思っています。 また、Outlookは、常に起動させておくことは可能ですが、メッセージなどを出さずに、VBAの実行のみで送信を完了させたいです。 添付ファイルは付けません。 以上、宜しくお願い致します。

  • Excel VBA時計がずれる理由

    Excel Office 2021 Windows11 Excelの特定セルに1秒ごとに時計をきざむVBAコードをインターネット上で探して標準モジュールに組み込みましたが、time.is/jaのサイトの表示時刻と60秒以上ずれて表示されました そこでBing AIに"D1"セルに時刻表示をするコードを書かせ(下記)、ボタンにVBAをセットし押してスタートしましたが、時刻表示はされるもののやはり75秒ほどずれて(遅れて)表示されます。 Sub DisplayCurrentTime() Range("D1").Value = Time Application.OnTime Now + TimeValue("00:00:01"), "DisplayCurrentTime" End Sub この理由は何なのでしょうか? なにかExcel VBAの仕様が変わったとかありますでしょうか?

  • Outlook Express5のメールをリスト化したい!

    Outlook Express5の「受信トレイの送信者と件名」「送信済アイテムの宛先と件名」をエクセル(できれば)で一覧表にしたいのですが、どうにかしてできないでしょうか? エクセルから取得しても、OEから出力しても何でも結構です。VBAなどでも簡単なプログランミングでも方法は問いません。メールの件数が多く管理に困っています。よい方法がありましたら教えてください。 環境:Windows2000Pro、OE5.5、Office2000Pro できれば、Win95、OE5、Office97でも動くほうが好都合です。 よろしくお願いいたします。

  • Excelファイルをマクロボタン一つでEメールで送ることはできませんか

    Excel2003を使用しています。 Excelのファイルをマクロボタン一つで特定の宛先にEメール(Outlook Express6.0)で送るマクロを作成したいのですが。 マクロの記録でメニューのファイル>送信>メールの宛先(添付ファイル)をやってみたのですが、宛先入力・送信は手動でやらないといけません。 これらを全てボタン一つでする方法はないでしょうか。

  • メールの印刷について

    受信したメールを印刷すると、「差出人、送信日時、宛先、件名」も印刷されてしまいます。 この部分を印刷しないようにしたいのですが、どうすれば良いのでしょうか? バージョンはMicrosoft Office Outlook 2003 SP3です。 宜しくお願いします。

  • 【Excel】VBAでメール作成

     毎日、Excel2003を利用してデータ入力をした後、内容をコピー&ペーストをしてOutlook2003でメールを作成する作業を行っております。量が多い為、大変時間がかかってしまっているので効率化を図りたく、この作業をマクロ(VBA)でコマンドボタンをクリックしたら、規定のセル内のデータがメールに記載され、あとは送信を押すだけにしたいと思っております。 例えば… セルA1に○○様と本文の頭になる文字 セルB1に本文 セルC1にTO セルD1にBCC セルE1に件名

  • OutlookExpressの表示設定について

    Outlook Expressの表示で 送信者: 宛先: 送信日時: 件名: のところを、英語で表示させることはできますか? オリジナルメッセージの欄は英語で表示されているのですが、 一番上の部分も英字で表示させたいのです。 よろしくお願いします。

  • エクセルからOutlookexpressに表を貼り付ける

    はじめまして、時々参考にさせて頂いてます。初心者に近い者です。 コマンドボタンを使い、エクセルの表をメールに添付ではなく、本文(Text)として送りたいのです。 以前、かなり私の要望に近いものがありました。 ↓ 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 上記はでは、ひとつのセル分しか本文に入らないのですが、 これで、エクセル上の表(6列×15行程度)が本文にテキスト文として入れば、完璧です! よろしくお願いします。 WinXpsp2・EXCEL2003・outlookexpress6