SampleAppsで学ぶFileMaker[ゲストに予定を送信]
「イベント管理.fmp12」の「イベント詳細」メニューにある[ゲスト]タブの[処理]ボタンをクリックするとポップオーバーの中に[電子メールで送信]というボタンがあり、「ゲストに予定を送信」というスクリプトが設定されています。
ゲストに予定を送信
『1行目』
エラー処理[オン]
→エラー表示をオンにすると標準の警告メッセージが表示されないようになります
ポップオーバーを閉じる
→スクリプトステップを実行しているウインドウで、開いているポップオーバーを閉じます。
変数を設定[$PATH;値:Get(テンポラリパス)&イベント::イベント&"予定.pdf"]
→「イベント」項目に入力されている名前を付けてPDFで一時保存する変数を指定しています。(変数は次のステップで使います。)
If[ValueCount(List(ゲスト::電子メール))>=100]
カスタムダイアログを表示["電子メールを送信中";
"プロバイダーによっては、電子メールを一度に100ヶ所以上へ送信することができません。"]
If [Get(最終メッセージ選択)=2]
全スクリプト終了
End If
End If
→宛先が100ヶ所以上の場合はエラー防止の為、送信しないようにしています。
関連レコードへ移動[関連レコードのみを表示;テーブル:「予定」;使用するレイアウト:「予定」(予定);新規ウインドウ]
If [Get(最終エラー)= 0 ]
レコードのソート[記憶する;ダイアログあり:オフ]
レコードをPDFとして保存[記憶する;ダイアログあり:オフ;「$PATH」;対象レコード;ディレクトリの作成:オフ]
ウインドウを閉じる[現在のウインドウ]
End If
Get(最終エラー)= 0はエラーがない場合になります。
FileMaker Error Code
https://fmhelp.filemaker.com/help/16/fmp/ja/index.html#page/FMP_Help/error-codes.html
関連レコードへ移動[関連レコードのみを表示;テーブル:「ゲスト」;使用するレイアウト:「ゲスト一覧」(予定);新規ウインドウ]
If [Get(最終エラー)= 101 ]
全スクリプト終了
End If
→Get(最終エラー)= 101はレコードが見つからない場合になります。
メールを送信[電子メールクライアント経由で送信;ダイアログあり:オン;
宛先:ゲスト::電子メール;トピック:イベント::イベント;
メッセージ:"イベントの予定を添付します:¶¶" & イベント::イベント& ¶ & イ...;
「$PATH」]
→電子メールクライアントを起動後、PDFファイルを添付し、メールアドレス、タイトル、本文を付けて文書を作成します。
ウインドウを閉じる[現在のウインドウ]
レコード/検索条件確定[ダイアログあり:オン]