
先日、次のようなご質問をいただきました。
最新バージョンの Merlin Project を Mac で使い、さまざまな基準コストを入力するプロジェクトファイルを作成しました。Merlin Project がそれらを計画値、予測値、実績値としてまとめてくれることは理解していますが、お客様から、印刷したり、プレビューや Acrobat Reader で読んだりできる詳細な基準コストレポートを求められました。このレポートには、プロジェクトのすべての基準コストを一覧表示し、その属性を書き出したいと考えています。これは可能でしょうか。
上記のご要望にお応えするには、当社が開発した AppleScript ソリューションをご利用いただけます。
このスクリプトは、すべてのプロジェクトアクティビティ、その割り当て、添付項目、リソースを順に処理し、各要素の基準コストを抽出します。該当する属性を出力する際に、AsciiDoc のテキストファイルをデスクトップに書き出します。最後に Asciidoctor PDF を呼び出し、カスタマイズしたスタイルシートを使って PDF を作成します。
スクリプトのインストール
- 次の アーカイブ をダウンロードします。
- Zip ファイルを展開します。
- Finder メニューの 移動 > ホーム を開きます。
- フォルダ res-for-script をホームフォルダに移動します。
- Merlin Project で ファイル > アクション > スクリプトフォルダを表示 を開きます。

- net.projectwizards.merlinproject という名前のフォルダを開きます。
- スクリプトファイル Create Base Costs Report.scpt を Merlin Project のスクリプトフォルダに移動します。
- スクリプト Create Base Costs Report をダブルクリックします。スクリプトエディタで開きます。
- property pathToAsciidoctorPDF の行を探します。
- ターミナルウインドウを開き、command -v asciidoctor-pdf を実行します。
- 必要に応じて pathToAsciidoctorPDF を変更します。
asciidoctor-pdf をインストールする必要がある場合は、インストール手順に従い、必要に応じて pathToAsciidoctorPDF を変更してください。
基準コストレポートの作成
任意のプロジェクトを開きます。メニュー ファイル > アクション > … からスクリプト Create Base Costs Report を実行します。
スクリプトが AsciiDoc ファイルを作成し、asciidoctor-pdf で PDF への変換を呼び出すまでお待ちください。変換が完了すると、ビープ音でお知らせします。AsciiDoc の .adoc ファイルと作成された PDF の両方がデスクトップに表示されます。
表には、次の基準コストの属性が出力されます。
• Title: 基準コスト要素のクラスを示すアイコンとともに、基準コストの名称
• Planned Amount 計画された基準コストの金額
• Actual Amount: 設定されている場合、この値が計画基準コストの金額を上書きします
• Type: 取り得る値は、プロジェクト設定の値リストから取得されます
• Account: 設定されている場合、このコストの勘定の名称
• Status: 取り得る値は、プロジェクト設定の値リストから取得されます
• Added by: 設定されている場合、リソースの名称がここに表示されます
• Billable: 設定されている場合、√
• Accrue: 取り得る値は、按分、開始時、終了時、即時

表のヘッダー行の個別の配色、フォントサイズ、行の交互背景は、付属の Asciidoctor-PDF の YAML スタイルシート で設定されます。
注記: AsciiDoc ファイルの表に付与された header オプション により、表が複数ページにわたる場合に、Asciidoctor-PDF がヘッダー行を繰り返し表示できます。
表ページの改ページは横向きで行われます。つまり PDF は縦向きのタイトルページから始まり、レポートの必要に応じて横向きに切り替わり、最終ページで再び縦向きに戻ります。

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