NoCode J Works

Innovation in the workplace.

SampleAppsで学ぶFileMaker[ゲストに予定を送信]

f:id:BeansWorks:20210907091553p:plain

「イベント管理.fmp12」の「イベント詳細」メニューにある[ゲスト]タブの[処理]ボタンをクリックするとポップオーバーの中に[電子メールで送信]というボタンがあり、「ゲストに予定を送信」というスクリプトが設定されています。

f:id:BeansWorks:20190731224139p:plain

f:id:BeansWorks:20190731224154p:plain

 

ゲストに予定を送信

 

『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ファイルを添付し、メールアドレス、タイトル、本文を付けて文書を作成します。

 

ウインドウを閉じる[現在のウインドウ]

レコード/検索条件確定[ダイアログあり:オン]