VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

ExcelでVBAスクリプトを使用するには、プログラミングの知識は必要ありません。VBAは、すべてのPC情報を含むスプレッドシートレポートの作成、スプレッドシートから直接電子メールで送信するなど、多くの高度なタスクを実行するのに役立ちます...

Microsoft Excelからメールを送信するには、いくつかの簡単なスクリプトが必要です。Excelのオフィスソフトウェアを最大限に活用したい場合は、この機能をスプレッドシートに追加してください

Excelからのメール

Microsoft Excelで直接メールを送信する理由はたくさんあります。たとえば、従業員が毎週ドキュメントとスプレッドシートを更新しており、そのアクションが完了したときにメール通知を受け取りたい場合や、同じブック内のすべての連絡先にメールを送信したい場合があります。で...

複雑なExcelメール送信スクリプトの使用を考えたことがあるはずですが、実際には非常に簡単です。この記事では、Excel VBAで長い間利用されてきた、Collaboration Data Objects(CDO)と呼ばれる機能を利用する方法を説明します

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

CDOは、初期のバージョンからWindowsで使用されていたメッセージングコンポーネントです。以前はCDONTSと呼ばれていました。Windows 2000とXPが誕生した後、「CDO for Windows 2000」がそれに取って代わりました。このコンポーネントは、Microsoft WordまたはExcelのVBAインストールに含まれており、いつでも使用できます。

このコンポーネントを使用して、VBAを備えたWindows製品で電子メールを送信するのは非常に簡単です。たとえば、この記事では、ExcelのCDOを使用して、1つのセルに結果を含む電子メールを送信します。

手順1:VBAマクロを作成する

まず、Excel開発タブに移動しコントロールパネルの[ 挿入 ]をクリックして、コマンドボタンを選択します。

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

これをこのワークシートにドラッグし、[ 開発]リボンの[ マクロ ]をクリックして新しいマクロを作成します

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

[ 作成 ]ボタンをクリックすると、VBAエディターが開きます。

エディターで[ツール]> [参照]移動して、CDOライブラリへの参照を追加します

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

Microsoft CDO for Windows 2000 Libraryが表示されるまでリストを下にスクロールしますチェックボックスをオンにして、[ OK ]をクリックします

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

[ OK ]をクリックすると、後で必要になるため、スクリプトが貼り付けられている関数の名前をメモします。

ステップ2:CDOフィールドを「From」と「To」に設定する

これを行うには、まずメール関連のオブジェクトを作成し、必要なメール配信フィールドをすべて設定する必要があります。

多くのフィールドはそうでない場合がありますが、FromとToは必須です。

Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String

strSubject = "Excelスプレッドシートの結果"
strFrom = "rdube02@gmail.com"
strTo = "rdube02@gmail.com"
strCc = ""
strBcc = ""
strBody = "この四半期の合計結果は:"&Str(Sheet1 .Cells(2、1))

興味深いのは、任意の文字列を作成して電子メールメッセージ全体をカスタマイズし、それにstrBody変数を割り当てることができることです。

文字列使用して電子メールメッセージのコンテンツをつなぎ合わせて、Microsoft Excelスプレッドシートのデータを電子メールに直接挿入します(上記を参照)。

手順3:外部SMTPを使用するようにCDOを構成する

次のコードでは、外部SMTPサーバーを使用して電子メールを送信するようにCDOを構成します。

この例では、Gmail経由のSSLを設定していません。CDOはSSLを置き換えることができますが、この記事の範囲外です。SSLを使用する必要がある場合は、Githubの高度なコードが役立ちます。


エラーGoTo Error_HandlingでCDO_Mail = CreateObject( "CDO.Message")を設定します。

Set CDO_Config = CreateObject( "CDO.Configuration")
CDO_Config.Load -1

SMTP_Config = CDO_Config.Fieldsを設定します。

SMTP_Config
.Item( "http://schemas.microsoft.com/cdo/configuration/sendusing")= 2
.Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp。 gmail.com "
.Item(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ")= 1
.Item(" http://schemas.microsoft.com/cdo/configuration/sendusername ")=" email@website.com "
.Item(" http://schemas.microsoft.com/cdo/configuration/sendpassword ")=" password "
.Item(" http://schemas.microsoft.com/cdo/configuration/smtpserverport ")= 25
.Item(" http://schemas.microsoft.com/cdo/configuration/smtpusessl ")= True
.Update
End With

CDO_Mail
Set .Configuration = CDO_Config
With With With

手順4:CDOのセットアップを完了する

これで、電子メールを送信するようにSMTPサーバーが構成されました。CDO_Mailオブジェクトの適切なフィールドに入力して、送信コマンドを発行するだけです。

方法は次のとおりです。

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send

Error_Handling:
If Err.Description <> "" Then MsgBox Err.Description

Outlook電子メールオブジェクトを使用しているときに通常表示されるポップアップやセキュリティ警告は表示されません。

CDOは単に電子メールコンポーネントを並べて配置し、サーバー接続の詳細を使用して情報を送信できるようにします。これは、電子メールをMicrosoft WordまたはExcel VBAスクリプトに結合する最も簡単な方法です。

コマンドボタンをこのスクリプトに接続するには、コードエディターにアクセスし、Sheet1クリックして、そのワークシートのVBAコードを表示します。

上記のスクリプトを貼り付けた関数の名前を入力します。

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

これは、受信トレイで受け取る情報です。

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

「トランスポートがサーバーに接続できませんでした」というエラーが発生した場合は、「SMTP_Config使用して」にリストされているコード行に正しいユーザー名、パスワード、SMTPサーバー、およびポート番号を入力したことを確認してください

プロセス全体を強化および自動化する

1つのボタンでExcelからメールを送信することは本当に安全で便利です。この機能を頻繁に使用する場合は、自動化できます。

これを行うには、マクロを変更する必要があります。Visual Basic Editorに移動し、収集したコード全体をコピーして貼り付けます。次に、プロジェクト階層からThisWorkbook選択します

コードウィンドウの上部にある2つのドロップダウンフィールドから[ ワークブック ]を選択し、[ メソッド ]メニューから[ 開く ]をクリックします上記の電子メールスクリプトをPrivate Sub Workbook_Open()に貼り付けますこのアクションは、Excelファイルを開くたびにマクロを実行します。

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

次に、タスクスケジューラを開きますこのツールを使用して、指定した間隔でスプレッドシートを自動的に開くようWindowsに要求します。その時点で、マクロがアクティブになり、メールで送信されます。

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

[ アクション ]メニューから[ 基本タスクの作成... ] 選択し、アクション画面が表示されるまで指示に従います。

[ プログラムの開始]を選択し、[ 次へ ]をクリックします

VBAスクリプトを使用してExcelスプレッドシートからメールを送信する手順

[ 参照 ]ボタン使用して、コンピュータ上のMicrosoft Excelの場所を見つけるか、パスをコピーして[ プログラム/スクリプト]フィールドに貼り付けます

次に、[ 引数追加]フィールドにMicrosoft Excelドキュメントへのパスを入力します

完全な指示とスケジュールが作成されます。

この機能をテストするには、次の数分でアクションをスケジュールし、タスクが効果的に機能していることを確認してからタスクを修正します。

:マクロが次のように実行されるように、セキュリティセンターの設定を調整する必要がある場合があります。

スプレッドシートを開き、[ファイル]> [オプション]> [セキュリティセンター]に移動します

ここで、[ セキュリティセンターの設定 ]をクリックします次の画面で、[ ブロックされたコンテンツに関する情報を表示ない]を選択します

Microsoft Excelは非常に強力なツールですが、その使用方法を学ぶことは、多くの人にとって困難な場合があります。このソフトウェアをマスターしたい場合は、VBAの使用方法を知っている必要があります。簡単ではありません。

ただし、VBAの経験が少しあれば、Microsoft Excelの基本的なタスクを自動化して、より重要なタスクに集中する時間を増やすことができます。

この記事がお役に立てば幸いです。成功をお祈りします!

コメントを残す

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsのダウンロードエラー「予期せぬエラー」でワークフローが滞っていませんか?専門家によるステップバイステップガイドと、クイックフィックスと高度なヒントで、すぐに問題を解決できます。再インストールは不要です!

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウトルームが表示されなくて困っていませんか?Teams でブレイクアウトルームが表示されない主な原因を解説します。ステップバイステップの解決方法に従って、数分でスムーズに機能するようにしましょう。主催者にも参加者にも最適です!

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーにうんざりしていませんか?ステップバイステップガイドに従って、Microsoft Teams OneDriveのファイル同期エラーを素早く解決しましょう。Teamsチャンネルでのスムーズな共同作業に役立つ実証済みの修正プログラムをご用意しています。今すぐエラーのないファイル同期を実現しましょう!

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teamsがハードエラーでクラッシュするのにうんざりしていませんか? わずか数分で解決できる、実績のある2026レジストリ修正プログラムを入手しましょう。ステップバイステップガイド、スクリーンショット、そして永続的な問題解決のためのヒントをご紹介します。最新バージョンで動作します!

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプのエラーでお困りですか?このよくある問題に対する、実証済みのステップバイステップの解決策をご覧ください。キャッシュをクリアし、Teamsを更新するなど、すぐにシームレスなコラボレーションを取り戻しましょう!

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teamsでエラーが発生していますか?このMicrosoft Teamsのトラブルシューティングガイドでは、エラーを迅速に解決するための最初のチェックポイントをステップバイステップでご紹介します。接続、キャッシュ、アップデートに関するクイックフィックスで、スムーズなチャットを再開できます。

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Outlook に Microsoft Teams アドインが表示されなくて困っていませんか?主な原因と簡単なステップバイステップの修正方法をご紹介します。Teams と Outlook のシームレスな連携を簡単に復元できます。最新バージョンでご利用いただけます。

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでMicrosoft Teamsのネットワークエラーに悩まされていませんか?VPNの調整、ポートチェック、キャッシュクリアなどの即時修正で、通話や会議をスムーズに復旧できます。ステップバイステップガイドですぐに問題を解決できます。

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teamsのステータスが「離席中」のままになって困っていませんか?アイドルタイムアウトや電源設定など、よくある原因と、すぐに「対応可能」に戻すためのステップバイステップの修正方法をご紹介します。最新のTeams機能にアップデートしました。

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teamsのようこそ画面の起動ループに悩まされていませんか?Microsoft Teamsのようこそ画面の起動ループを解消するための実証済みのトラブルシューティング手順をお試しください。キャッシュのクリア、アプリのリセット、再インストールが可能です。数分でシームレスなコラボレーション環境を取り戻せます!