VBA、VBScript:Windows(2003以降)のCDO(Collaboration Data Objects)を使用してVBAでメールを送信するサンプルプログラム

VBA、VBScript:Windows(2003以降)のCDO(Collaboration Data Objects)を使用してVBAでメールを送信するサンプルプログラム

VBAやVBScriptでCDOを使用してVBAでメール送信をする方法について覚書。

Windows 2000/XP/Server 2003には、CDO(Collaboration Data Objects)と呼ばれるメッセージング・コンポーネント(CDOSYS.DLL)が標準で搭載されている。

これを利用すればWindows Script HostやVBS、ExcelやAccessのVBAなどからメール送信ができる。

ただし、実行するPCでSMTPサービスが実行されていないと動作しません。 今までbasp21を使用してたけどWindows 2000以上であれば必要ない。

VBAでCDOを使用してメール送信するサンプルプログラム

以下CDOを使用したVBAのサンプルプログラム。

ファイルを添付する場合

送信するメールにファイルを添付して送る場合のサンプルプログラム。 AddAttachmentをSendの前に挿入するだけ。

サンプルを実行してもうまくメールが送信されない場合は、常駐しているウィルスチェックプログラムをチェックしてください。

ウィルスチェックプログラムのほうで送信をブロックする設定がされている場合があります。

参考サイト

@ITの記事を参考にしました。

コマンド・プロンプトでメールを送信できれば、さまざまな管理業務などに応用することができる。その場合、Windowsの標準機能だけで送信できるようになっていると、OSプラットフォームを問わずに利用できる。Windowsシステムに含まれるCDOコンポーネントを利用することで、WSHスクリプトからメールを送信することができる...