SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

FileMaker Pro 実践チュートリアル

FileMaker Pro のスクリプトを使った高度な機能の実装

第5回 PDFで出力しメール添付で送信してみる


  • このエントリーをはてなブックマークに追加

PDFの書出しとメール送信

 今回サンプルで取り上げた報告書は、条件を満たしている人(FileMaker Proを利用できる/アクセス権限があるなど)はいつでも見れるように設定することも可能です。しかし、すべての社内ユーザーがいつでもアクセスできるとは限りません。例えば、出張中ですぐに社内のデータベースにアクセスできない場合などがあるでしょう。そんなときには、データベースの情報をPDFとしてメール送信できれば便利だと思いませんか? このような処理もFileMakerなら簡単なので、さくっと作ってしまいましょう。

 まず、メールに添付するPDFの書式設定用「報告書印刷」レイアウトへ移動します。ボタンを追加しましょう。今回はメールと分かりやすいアイコンを選んでみました。

「報告書印刷」レイアウト
「報告書印刷」レイアウト
メール送信ボタンの追加
メール送信ボタンの追加

 次に右クリックして、[ボタン設定]を選択します。左の一覧から[レコードをPDFとして保存]を選択すると、右側に設定のオプションが表示されます。

ボタン設定で[レコードをPDFとして保存]を選択
ボタン設定で[レコードをPDFとして保存]を選択

 FileMaker Pro 9からは既存のPDFに追加もできるようになりましたが、今回は、新規のPDFとして保存するので、チェックしません。「オプションの指定」で[現在のレコード]を選択しておきます。これを選択しない場合、対象レコードすべてをPDFとして保存します。

オプションの指定で[現在のレコード]を選択
オプションの指定で[現在のレコード]を選択

 ここまで設定したら、早速動かしてみます。ボタンをクリックすると、[書類の保存]ダイアログボックスが表示されます。適当な名称を付けて保存しますが、この時には必ず「ファイルを添付した電子メールの作成」というオプションにチェックを付けてください。

ボタンをクリックすると、[書類の保存]ダイアログボックスが表示される
ボタンをクリックすると、[書類の保存]ダイアログボックスが表示される

 画面右端に[オプション]というボタンがあります。ここは、作成するPDFに対してセキュリティなどの設定が必要な場合に利用します。ここでは、主にセキュリティの設定を見てみます。

PDFのセキュリティ設定
PDFのセキュリティ設定

 パスワードは開く時と印刷する時の両方に設定ができ、パスワードの設定には計算式も利用できるので、保存のたびに違うパスワードを設定することも可能です。業務に利用する場合、セキュリティ上パスワードの設定が必須となることが多いと思いますが、その点も安心です。

 後は[保存]ボタンをクリックすると、下図のようにメールが生成されるので、必要な項目を記入して送信してください。

 

 さて、ここで目ざとい人は添付ファイル名にタイムスタンプらしきものが入っていることに気づいたのではないでしょうか?

 そうです。FileMaker Proではスクリプトを利用することで、ファイル名を自動設定することも可能です。では、早速スクリプトを作成してみましょう。

スクリプトでPDFのファイル名を自動設定する

 
変数名は「$pdf」とします(なお、$一つは「ローカル変数」、$$は「グローバル変数」を表します)。計算式は次のとおり。
 
"File:"&Get(環境設定パス)&
"報告書_" & Year(Get ( 日付 )) & Right("0" & Month(Get ( 日付 )) ;2) &
 Right("0" & Day(Get( 日付 )) ;2) & "_" & Right("0" &
 Hour ( Get ( 時刻 ) ) ;2) & Right("0" & Minute ( Get ( 時刻 ) ) ;2) &
 ".pdf" 
 
計算式の内容については、「関数リファレンス」を参照してみてください。ここでは、FileMaker 9であらたに用意された、GET(環境設定パス)という関数について少し説明します。この関数はヘルプによると、「現在のユーザーの環境設定およびデフォルトオプションフォルダへのパスを返します」となっており、「パス形式は/ドライブ:/ Documents and Settings/ユーザー名/Local Settings/Application Data/です。Mac OS の場合、パス形式は/ボリューム名/Users/ユーザー名/Library/Preferences/です」と記載されています。ここに保存したファイルはFileMakerが終了されると自動的に削除されるので、一時的に保存したいようなファイルの書出しに利用すると便利です。
 
ただし、今回違うのは「出力ファイルの指定」オプションに先ほど設定した、「$pdf」を設定することと、メール送信のチェックを付けないでおくことです。
 
このスクリプトステップでは、メールの宛先や、トピック、メッセージなどに計算式を利用できますから、より柔軟に、メール送信を自動化することができます。ここで忘れないで欲しいのは、「ファイルを添付」にチェックを入れて、先ほど利用した「$pdf」変数をセットしておくことです。こうすると、添付ファイルとして先ほど書き出したPDFを添付することができます。
 
 
 
  1. 新規スクリプトを作成して、「PDF送信」とします。
  2. 保存先とファイル名に利用する、ファイルパスを変数に設定します。
  3. 「レコードをPDFとして保存」スクリプトステップを選択して、先ほどと同様の設定をします。
  4. 「メールを送信」スクリプトステッブを選択します。

 ここまで設定できたら、スクリプトを保存して先ほどのボタンに割り当てておきましょう。あっと、最後にメニューの書式設定から[スライド/印刷設定]で、ボタンを印刷しないように設定することもお忘れなく。

まとめ

 駆け足でFileMakerの機能の一部を紹介してみました。いかがでしたか?

 FileMaker Proにはさまざまな機能が用意されていますが、それらを利用することの敷居はとても低くなっています。今回は、情報共有系のファイルをサンプルにしましたが、見積書や納品書といった用途でも使える機能が数多く用意されています。

 実際、FileMaker Proで構築した業務管理系システムの利用者や、FileMaker Proでシステム開発をしている会社は多くあります。

 FileMaker Proの環境を使ってシステム開発や、パッケージ販売、トレーニングを実施している会社の団体として、FileMaker Buisness Alliance(略してFBA)という組織があります。これも先ほど述べたTechNetと同様、ファイルメーカー社が主催していますが、マーケティング関係の支援を主体としています。ファイルメーカー社のサイトで自社ソリューションを紹介したり、ファイルメーカー社の動向の情報提供、一部製品についての優遇価格の適用といった特典が用意されています。一度、FBAのサイトも覗いてみてください。

 それでは、ここら辺で次回の方に引継ぐこととしましょう。次回以降、ユーザーインターフェイスの作りやすさにとどまらない、パワフルなFileMaker Proの本領が発揮されることと思います。乞うご期待。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
FileMaker Pro 実践チュートリアル連載記事一覧

もっと読む

この記事の著者

今泉 みゆき(イマイズミ ミユキ)

秘書 兼 仕入事務 兼 営業担当という自分の業務を楽にするためにツールとして選んだファイルメーカーPro 3.0の魅力にとりつかれ、開発者として独立。2006年5月より、ぴかいち有限会社にてシステム開発全般に携わっている。FileMaker開発者向けの情報発信サイト「Knockin' on Seven's Door」のメンバーとして、月1銀座のAppleStoreに出没中。FileMaker 8 認定デベロッパ。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2015 2014/03/24 11:50

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング