
最近、次のようなご質問をいただきました。
最新バージョンの Merlin Project を使って、Mac で顧客向けのプロジェクトファイルを作成しました。その顧客から、印刷したり、プレビューや Acrobat Reader で読んだりできるプロジェクトハンドブックを求められています。このハンドブックでは、アクティビティと添付項目をマスター詳細表示で一覧にし、私が関心を持っている一連の定義済みプロパティを書き出したいと考えています。スクリプトを使う必要があっても構いませんが、その処理が一度にすべての作業、つまり項目をたどり、データを抽出し、PDF を作成する、を行ってほしいのです。これは可能でしょうか。
お客様のご要望を実現する方法の一つとしては、確かに ファイル > 書き出す > 画像 メニューから独自のプロジェクト表示を PDF に書き出す方法や、ファイル > プリント を呼び出して書類を印刷する方法があります。
ただし、上記の要件を満たすには、私たちが開発した AppleScript ソリューションが適しています。
このスクリプトは、すべてのプロジェクトアクティビティを順にたどり、各項目のアクティビティプロパティを抽出します。添付項目があるかどうかを確認し、該当するプロパティを抽出して、AsciiDoc のテキストファイルをデスクトップに書き出します。最後に Asciidoctor PDF を呼び出し、カスタマイズしたスタイルシートを用いて PDF ファイルを作成します。
スクリプトのインストール
- 次の アーカイブ をダウンロードします。
- Zip ファイルを展開します。
- Finder のメニューで 移動 > ホーム を選びます。
- res-for-script フォルダをホームフォルダに移動します。
- Merlin Project で ファイル > アクション > スクリプトフォルダを表示 を選びます。

- net.projectwizards.merlinproject という名前のフォルダを開きます。
- スクリプトファイル Create Project Handbook.scpt を Merlin Project のスクリプトフォルダに移動します。
- スクリプト Create Project Handbook をダブルクリックします。スクリプトエディタで開かれます。
- property pathToAsciidoctorPDF の行を探します。
- ターミナルウインドウを開き、command -v asciidoctor-pdf を実行します。
- 必要に応じて pathToAsciidoctorPDF を変更します。
asciidoctor-pdf をインストールする必要がある場合は、インストール手順 に従い、必要であれば pathToAsciidoctorPDF を変更してください。
プロジェクトハンドブックの作成
任意のプロジェクトを開きます。ファイル > アクション > … メニューからスクリプト Create Project Handbook を呼び出します。
スクリプトが AsciiDoc ファイルを作成し、asciidoctor-pdf による PDF 変換を呼び出すのをお待ちください。テキストファイルの書き出し中は、75 プロジェクト行ごとに信号音が鳴ります。AsciiDoc の .adoc ファイルと作成された PDF の両方がデスクトップに表示されます。
カスタマイズされたスタイルシートは、作成日を含み Apple の絵文字を用いたプロジェクトハンドブックの表紙をレンダリングします。PDF ファイルにはクリック可能な目次が含まれます。

添付項目 は、その上位のアクティビティの下に一覧表示されます。

.adoc ファイルを開いて、必要に応じて変更し、2 番目のステップで独自のスタイルシートを使って PDF に変換することもできます。PDF ファイルに独自のスタイルシートを使いたい場合は、それを res-for-script フォルダに置き、スクリプト内のプロパティ themeName をそれに合わせて変更するだけです。
ProjectWizards の AppleScript についての注記:これらの AppleScript やその他のサンプルは、制限なく無料で取り入れてご利用いただけます。スクリプトはあくまでデモンストレーション目的で提供されます。スクリプトに関するご質問には喜んでお手伝いしますが、運用に関する最終的な責任はお客様のみにあります。スクリプトを変更し、第三者に無料で再配布することも明示的に許可されています。その場合は、どのような変更を加えたか、およびスクリプトのベースが ProjectWizards 由来であることを明示してください。
このスクリプトやその他の AppleScript サンプルを変更するには、Scripting Merlin Project という文書をお読みください。そこには利用できるさまざまなサンプルやコードスニペットが掲載されています。この文書は英語で書かれています。
このブログ記事についてご質問やご意見がございましたら、ぜひフォーラムへのご投稿をお待ちしております。