第74回 印刷をスクリプトで実行する

こんにちは。エヌ・ケイ・カスタマイズの沖田です。
もう半袖で過ごす日も少なくなりますね。寒くなってくる季節におすすめなのが、筋トレです。(まぁ年中おすすめですが・・)
筋肉をつけるのももちろんですが、ダイエットも実は、夏より冬の方がおすすめなのです。寒くなると、脂肪を燃やして体を冷えにくくする働きが起こるためです。運動も組み合わせると、さらに脂肪燃焼の効果もアップですよ。
私は、本日は朝からジムにいってきました!ジムの後のプロテインは最高です!


前回は、印刷用のレイアウト作成について学んできました。
今回は、作成した印刷用のレイアウトをスクリプト(最終的にはボタン1つ)で印刷できるようにしてみましょう。

どうやって印刷するか


印刷物の目的により検索と、ソートまではボタンを作成しました。細かな違いはありますが印刷までの流れは次のようになります。

 (1) 印刷するレイアウトへ切り替え
 (2) 用紙設定を確認
 (3) プレビューモードで確認
 (4) 印刷する
 (5) 元のレイアウトへ戻る
 

この流れでスクリプトを作成します。前回までに考えてきた作業にこれを当てはめると、当初は

 (1)「 タスク一覧」レイアウトで検索する
 (2) 印刷する
 (3) 会議の参考資料にする


これだけだったのに、

 
(1)「 タスク一覧」レイアウトで検索する
  (1-1) 「タスク一覧」レイアウトに切り替える
  (1-2) 検索モードに切り替える
  (1-3) 検索条件を入力する → 「ステータス」フィールドに「進行中」を入力
  (1-4) 検索を実行する
  (1-5) 検索結果が表示される または 検索結果がなければ作業はここで終わり
  
(2) 必要な順番にソート → 「期限」の昇順+「カテゴリー」の値一覧順
(3) 印刷する
  (3-1) 印刷するレイアウトに切り替える
  (3-2) 用紙設定を確認
  (3-3) プレビューモードで確認
  (3-4) 印刷する
  (3-5) 元のレイアウトに戻る
(4) 会議の参考資料にする

このようになりました。内容が増えました。ソートは最初は考えていませんでしたが、追加した作業です。作業を機能で自動化にするには、大まかなこと(検索、印刷など)を、スクリプトにするために徐々に細かい内容を考えていく必要があります。

印刷用スクリプトをつくる

では、実際に作成してみましょう。

 (1) スクリプトを作成します。スクリプト名は「タスク一覧印刷」です。
 (2) スクリプトの内容は以下です。

タスク一覧印刷 スクリプト内容

 (3) 「タスク一覧」レイアウトのボタンバーに、ボタンを追加し名前は「タスク印刷」とします。
    また、適切なアイコンを選択します。「タスク一覧印刷」スクリプトを割り当てます。
    

 (4) レイアウトを保存します。ブラウズモードで動作を確認してみましょう。方法は以下になります。
   a. 「タスク印刷」ボタンをクリックします。
   b. プレビューモードで一時停止します。(印刷される内容を確認するためです。)
   c. 再開には[続行]をクリックします。
   

「タスク印刷」ボタンを押したときの動き

[ユーザによる強制終了を許可]スクリプトステップ

記載したスクリプトで1つ気になるところがあります。4行目に[ユーザによる強制終了を許可][オフ]とありますが、何を「オフ」しているのでしょうか。この「スクリプトステップがない」または「オン」である場合、プレビューモードで一時停止している間、次図のようになります。

[ユーザによる強制終了を許可]スクリプトステップがない場合の一時停止

[キャンセル]ボタンがクリックされるとスクリプトがキャンセル(中断)してしまうのです。すると、今のスクリプトだと、印刷用レイアウトになったままの状態になります。困りますね。。今回は、それを見越して、途中でキャンセルさせないために[ユーザによる強制終了を許可][オフ]を利用しています。

印刷をキャンセルしたときの状態

他にも、さまざまな改善パターンがありそうです。
 ・レイアウトに切り替える前に検索条件で必要なもののみ抽出する。
 ・抽出したものに対して、ソートをして、印刷する。
 ・印刷ダイアログを出して、動きを制御できるようにしたい。
 ・印刷の時は、表示したくないフィールドがある。
 ・行間に余白がある場合は、詰めて印刷したい。 などなど。

まとめ

今回は、スクリプトで印刷する機能を学習しました。印刷する内容によっては、上記に記載した通り、必要なもののみ印刷したい。無駄な余白は印刷しないようにしたい。などいろいろな要望が出て来ることでしょう。
ファイルメーカでも印刷について、様々な設定がありますので、次回以降にお伝えしていきます。

次回もお楽しみに!

Follow me!