今回は、Excelからメールを送信する方法について説明します。 VBA を使用してこれを行うことは可能ですが、それは 90 年代の古い方法であり、私たちは 2018 年にいます。
私たちは Microsoft Flow を探求するつもりです。 これは、アプリ間のワークフローを自動化することができるMicrosoftの新製品です。 自動化できるのは、Microsoft Officeアプリだけではありません。 サードパーティとの接続も可能です。 たとえば、
- E メールの添付ファイルを OneDrive フォルダに保存する、
- 誰かがスプレッドシートのテーブルを更新したら携帯電話に通知する、などのルールを簡単に作成することができます。
- スプレッドシートで会社の Twitter での発言をすべて追跡する。
- Outlook カレンダーを Google カレンダーに同期する。 使いやすいグラフィカルなインターフェイスにより、数分でプロセス (フロー) を設計して構築できます。
この投稿では、Excel ファイルのデータに基づいて Outlook からメール テンプレートをスケジュールして送信するフローを構築していきます。
目次
Microsoft Flow にサインアップする
この投稿では、Microsoft Flow アカウントにサインアップする、または既存の Office 365 アカウントにサインインすることが必要です。
1カ月に750のフローを使用できる無料版があります。 Office 365 を使用している場合は、すでに Microsoft Flow を使用しており、月に 2,000 フローまで使用できます。
Microsoft Flow ウェブサイトに移動し https://flow.microsoft.com Sign in または Sign up free ボタンをクリックします。 その後、Office 365 の資格情報でログインするか、アカウントを作成するために必要な情報を入力します。
この投稿で作成するフロー レシピでは、OneDrive アカウントも必要です。 Office 365 を使用している場合は、すでに OneDrive アカウントをお持ちです。 そうでない場合は、こちらから簡単に作成できます。https://onedrive.live.com
A Quick Tour of Microsoft Flow
My Flows
サイトの「マイ フロー」タブには、構築済みのフローがすべてリストアップされています。
- フローに使用された接続を示すアイコンがあります。
- フローの名前が表示されます。
- 既存のテンプレートに基づいて、またはゼロから空白のフローを作成できます。
承認
フローによって、プロセス内に承認ステップを作成できます。 実際に送信する前に、誰かがそれをレビューし、電子メールを承認したいと思うかもしれません。 これは、どのフローにも追加できるステップで、すべて [承認] タブで管理されます。
テンプレート
作成したいものの多くは、Microsoft チームまたは他の人によって既に構築されているかもしれません。 テンプレート] タブには、そのまま使用することも、カスタマイズすることもできる、多数の作成済みフローがあります。
いずれかのテンプレートをクリックすると、フローが何を行い、何を接続すれば動作するかについての詳細な説明が表示されます。 コネクター] タブには、すべてのオフィス アプリケーションを含む、ほぼすべての一般的なオンライン サービスで使用できる大量の接続があります。
- Excel や Outlook、OneDrive などのオフィス アプリケーション、
- PowerApps、Power BI などのその他の Microsoft 製品、
- Google Office productivity suite。
- Twitter, Facebook, YouTube などのソーシャル アプリ。
- その他多くのオンライン ツール。 OneDrive に新しい Excel ワークブックを作成し、電子メールで使用するデータを追加します。
この例では、Excel のデータに基づいて Outlook からメールを作成および送信する予定です。
メール全体をExcelで作成する必要はなく、送信するメールごとに異なる部分のデータのみを作成します。
- 日付 – この日付に基づいてメールの送信を遅らせます。
- メールアドレス – メールを送信する予定の電子メールアドレスです。
- 名前 – これは、名前によって受信者に対処するために電子メールの本文で使用されます。
- 口座残高 – これは、受信者に現在の口座残高を伝えるために電子メールの本文で使用されます。
データを含むテーブルを作成したら、デフォルトの Table1 という名前ではなく、適切な名前を付ける必要があります。 テーブルを選択した状態で、テーブル ツールのデザイン タブに移動し、プロパティ セクションから新しい名前を付けることができます。 Emails.
という名前を付けて、このデータを使って作成したフローを後で理解しやすくします。
最初の空白フローの作成
Microsoftフローにログインしたら、[マイ フロー]タブに移動して、[空白から作成] ボタンをクリックします。 次の画面では、フローを開始するための一般的なトリガーがいくつか表示されますが、私たちは空のフローが欲しいので、もう一度[空から作成]ボタンをクリックします。
フロー トリガーの追加
フローの作成時に最初に行う必要があるのは、トリガーを追加することです。 これはまさにその名のとおり、フローを実行するためのトリガーとなるものです。
このケースでは、Microsoft Flow アプリケーションから押してフローを実行できるボタンを作成するつもりです。
- ボタンを検索して利用可能なトリガーを絞り込み、モバイル ボタンを見つけます。
- 接続オプションからモバイル用のフロー ボタンを選択します。
- 結果のトリガー セクションを選択します。
- Flow button for mobile trigger をクリックします。
Getting Data from Excel to the Flow
After we trigger our flow with the button, we’re gonna want it to do something.After you to do the flow for mobile trigger.After button for mobile button for the flow button for mobile.After after the trigger. これらは、フロー プロセスの次のステップで追加するアクションになります。
私たちが行いたい最初のアクションは、Excel テーブルからデータを取得することです。
フローに次のステップを追加するには、[新しいステップ] ボタンをクリックします。
Search for Excel で接続のリストを絞り込み、Excel – Get rows アクションを選択します。
ここで、ファイル アイコンを使用して OneDrive からファイル名を選択し、ドロップダウン メニューから適切なテーブル名を選択することができ、テーブルは Emails と名付けられました。
Excel の日付フィールドに基づく遅延の作成
この例では、Excel データの日付フィールドに基づく特定の日時に、各電子メールを送信したいとします。
Create a New step and Add an action.これを達成するために、フローにスケジュールステップを追加することができます。 次に、delay を検索し、Schedule – Delay until action.
遅延ステップでは、タイムスタンプ入力が要求されます。 ここでは単一の値をハード コードすることができますが、動的コンテンツを追加して、タイムスタンプが Excel ファイルの値に依存するようにすることも可能です。
タイムスタンプ入力フィールドをクリックすると、動的コンテンツ ポップアップが表示されます。
動的コンテンツ ポップアップの [Get rows] セクションで、Excel テーブルから [Date] フィールドを選択します。
Get rows アクションから日付を追加すると、魔法のようなことが起こります。 Flow は自動的に、遅延ステップを [Apply to Each] ステップ内に配置します。 Flow は、私たちがアクションを 1 回だけ実行したいのではなく、Excel テーブルのデータの各行に対してアクションを実行したいのだと認識しています。 遅延ステップを追加する前に、自分自身でこれを追加することもできました。 しかし、忘れた場合に教えてくれるのはありがたいことです。
データの各行の電子メール テンプレートを作成する
これで、延期の後に電子メールのステップを追加する準備が整いました。 これは、テーブルのデータの各行に対して電子メールを送信するため、[Apply to Each] ステップ内に追加されます。
Apply to Each ステップ内にある [Add an action] ボタンをクリックします。
今回は Outlook を検索して結果を絞り込み、Office 365 Outlook – Send an email action を選択できます。 To入力セクションには、電子メールを送信する電子メールアドレスが含まれているため、データから電子メールアドレスフィールドを追加します。
通知ステップの追加
このフローはメールを遅延させるので、各メールが実際に送信されるときに何らかの確認が必要な場合があります。 このため、通知ステップを追加することができます。 これは、各電子メールが送信されたときに通知を送信します。
もう一度、このステップは、各ステップに適用内で必要なので、各ステップに適用の下部にあるアクションボタンを追加を押してください。 notificationで検索して結果を絞り込み、Notifications – Send me a mobile notificationアクションを選択します。
次に、どの電子メールが送信されたかを指定するために、アラートにテキストを追加します。 Android アプリはここから、Apple アプリはここからダウンロードできます。
フローの保存と命名
フロー プロセスの構築が完了したら、それを保存する必要があります。 Web アプリケーションの右上隅にある [保存] アイコンをクリックします。
また、新しいフローに分かりやすい名前を付けたいと思います。 Web アプリケーションの左上隅にあるデフォルト名をクリックし、適切な名前に変更します。
フローを実行する
これで、フロー プロセスを構築し、名前を付けて保存したので、使用する準備が整いました。
フローを実行するために作成したトリガーはモバイル アプリ ボタンなので、アプリをインストールしたモバイル デバイスからフローを実行することが可能です。 モバイル アプリの [ボタン] セクションに移動し、電子メール フローのボタンを押します。
また、Web アプリからマイ フロー タブでフローを実行することもできます。 フローの右側にある3つの楕円のアイコンをクリックし、オプションから[今すぐ実行]を選択します。
どちらの方法でも、フローは開始されます。
日付フィールドが過去のものである場合、これらのメールはすぐに送信されます。 将来の日付は、電子メールが遅延します。 未来の日付のメールが送信されなくても、それらはフローによって作成されるので、実行後にExcelテーブルのデータを変更しても、未来の日付のメールは変わりません。
結論
Microsoft Flowは使いやすく、非常に強力です。 私たちは現代に生きており、もはやプログラマーでなくても、時間を大幅に節約する便利な自動化を作成することができます。
私たちは、接続した Excel テーブルのデータに基づいてメールを送信するフローを簡単に作成することができました。