送信メールを作成するVBAコードの作成前回はOutlookをExcelVBAで操作するための参照設定について記載しました。今回はOutlookを操作して送信メールを作成するVBAコードを紹介します。ExcelVBAでOutlookを操作でき とりあえず、Excelで選択しているものをOutlookのメールの本文にに貼り付けるVBAを作成しました。 以下をお試しください。 Sub macro() Dim Ap As Object Dim M As Object 'Excelで選択しているものをコピー(図でも表でもOKです) Selection.Copy Set Ap = CreateObject("Outlook.Application") こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。 皆さんは、ExcelVBAからOutlookを操作してメール送信する方法を知っていますか? ExcelVBAからメール送信ができれば、メール送信処理が自動化できるのでとても便利です。 そこで今回は、 ・ExcelVBAからメール送信 … 今回は、エクセルVBAからOutlookにメールを送信させる方法をご紹介しました。 メール1件2件程度なら手でのメール送信で良いかもしれませんが、10件20件を手動で送信となると辛いものがありますよね。 宛先ごとにメールの文面を変える から、一件ずつ個別に送信 ... VBAでOutlookの下書きメールを一括作成する ※この記事はVBAの基本操作を習得している方向けに書いているので、全般的な解説は省略しています。 【事前準備】Excelシートにデータを用意する. エクセルVBAで使用するコードの備忘録。VBAで作成したOutlookメール本文にExcelスプレッドシートの表を貼り付けるコード。Outlookメールを送付するための基本的なコードについてはこちらをご覧ください。, VBAでOutlookを操作するための参照設定は次のように行います。VBAのコードエディタから「ツール > 参照設定」と進み、「Microsoft Outlook XX.X Object Library」にチェックを入れればOKです(XX.X部分の数字はバージョンによって変わります)。参照設定を行わなくとも操作を行うことは可能ですが、できる限り参照設定を行うことをお勧めします(参照設定の有無による違いについてはこちらをご参照ください)。, OutlookをVBAから利用するための「Outlook.Application」オブジェクトを使用します。Outlookメールを表現する「Outlook.MailItem」オブジェクトはこの「Outlook.Application」オブジェクトに対してCreateItemメソッドを使用してやれば生成できます。, Outlookメールにエクセルの表を貼り付けるにはMailItemオブジェクトのWordDocumentオブジェクトを利用します。イメージはOutlookのメール本文の表現がWordDocumentのようにMailItemオブジェクトに保存されていて、そのWordDocumentにエクセルの表を貼り付けてメール本文にも反映させるイメージです。, WordDocumentオブジェクトはMailItemオブジェクトに含まれるInspectorオブジェクト下にあります。InspectorオブジェクトというのはOutlookアイテムが表示されるウィンドウを表しています。このInspectorオブジェクトを取得するにはGetInspectorメソッドを使用します。, いろいろと書いてきましたがわかりにくいと思うのでとりあえず以下のサンプルコードを見てみてください。, 下記のサンプルコードではVBAからOutlookのメールを表示して、本文にExcelワークシートの指定範囲を表として貼付し、メールを送付するようにしてあります。参照設定ありの場合となしの場合のコードも一つにまとめて表記してありますので、ご自身の設定に応じてコメントアウトを設定しなおすなどして使用してください。, なお、コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。, エクセルVBAでよく使うコードの備忘録。Range、Variantをワークシートに書き出すコード。, エクセルVBAで使うコードの備忘録。VBAでワークシートの行や列の幅を変更や自動調整を行うコード。, エクセルVBAで使うコードの備忘録。VBAでワードファイルを操作して、指定した二つの文書を比較するコード。, エクセルVBAで使うコードの備忘録。VBAでワークシート内のすべての非表示になっている行・列を再表示するコードです。, エクセルに入力された文字列から関数を使用して空白スペースを削除します。データ入力を人手に頼っている場合には半角・全角スペースが混在してしまうことも多いですが、そのような場合でも関数だけで対応可能です。, エクセルVBAで使用するコードの備忘録。VBAで複数のセルを示すRangeオブジェクトを取得して同時に複数セルを選択するコード。. ・VBAでプログラミングを覚えたからには、メール送信までやってみたい! ・アウトルックでメールで送信することは知っているが、具体的な方法はちゃんと分かっていない… ・Outlookのオフィスソフトやインターネットエクスプローラとエクセルを連携させてみたい! ちゃんとメールの送信ができています! 最後に. エクセルVBAで使用するコードの備忘録。VBAで作成したOutlookメール本文にExcelスプレッドシートの表を貼り付けるコード。