1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

COLUMN & TOPICS
コラム&トピックス

UPDATED

LAST UPDATED

Apple ScriptでDTP制作の効率UP
[Part1]Apple Scriptを使ってみよう

  • このエントリーをはてなブックマークに追加
Apple ScriptでDTP制作の効率UP<br />[Part1]Apple Scriptを使ってみよう

カタログ制作を効率よく進めるためには、使用する素材の管理は重要です。また、単純な繰り返し作業は自動化する事で、作業負荷を軽減していく事ができます。実現する方法は様々ですが、その一例としてAppleScriptの活用を紹介して行きたいと思います。

AppleScript

Mac OSに標準搭載されたスクリプト言語です。
特別なソフトウェアのインストールは不要で、すぐに利用する事ができます。

OS操作(Finder、Shellコマンドなど)や、AppleScript対応アプリケーションの操作をスクリプトに記述する事ができ、繰り返し作業の自動化や、文字や画像の一括処理など、様々な作業の効率化が実現できます。
AppleScript対応アプリケーションは数多く、DTP制作で代表的なものでは Adobe InDesign, Adobe Illustrator, Adobe PhotoShop, Microsoft Excel, Microsoft Word, FileMaker Proなどがあります。

※掲載しているスクリプトは、Mac OS High Sierra(Version 10.13.6)の環境で作成しています。ご利用のOSバージョンによっては正しく動作しない場合もありますので、あらかじめご了承ください。

スクリプトの記述

とにかくまずは始めてみましょう。 ハードディスク内のフォルダ「アプケーション」→「ユーティリティ」を開きます。 アプリケーション「スクリプトエディタ」を起動します。

スクリプトエディタ

ファイル選択ダイアログが表示されたら「新規書類」をクリックします。
何も書かれていないスクリプト編集画面が表示されますので、以下のスクリプトを記述してみてください。

on run
 tell application "Finder"
  activate
  set DateAndTime to (current date) as string
  display dialog DateAndTime
 end tell
end run
コード入力画面

上記の画面の状態で、コンパイルボタンを押してください。
テキストがインデントされ、色分けされた状態になります。
記述内容にエラーがある場合はこの時にエラー内容が表示されます。エラーがなければ実行可能な状態です。

スクリプトの実行

それでは実行ボタンを押してください。 現在の日付と時刻がダイアログに表示されたと思います。

内容解説

このスクリプトについて、1行ずつ解説していきます。

1行目:on run
作成したスクリプトを実行するきっかけを定義している行で、これを「ハンドラ」を言います。
ハンドラは「on」または「to」で定義します。この行は「to run」でも同じように動作します。
runは、実行ボタンが押された時になります。
主なハンドラとして、以下のものがあります。

on run ・・・スクリプト実行時
on open ・・・ファイルやフォルダをドラッグ&ドロップした時
on idle ・・・何もしていない時
on quit ・・・アプリケーション終了時

2行目:tell application "Finder"
スクリプトの命令を何に対して送るかを定義しています。
6行目の「end tell」までの命令を、アプリケーション「Finder」に対して送るという意味です。

3行目:activate
これは命令文の1つで、指定したオブジェクトをアクティブ状態にします。
この場合、Finderがアクティブになります。アクティブ状態にしないで実行すると、ダイアログが他のウインドウの下に隠れてしまうため、この命令を記述しています。

4行目:set DateAndTime to (current date) as string
ここでは変数を定義しています。
変数に値を入れる場合はsetを、値を取り出す場合はgetを使います。
この場合、DateAndTimeという変数に現在の日付と時刻を入れています。
変数名は任意の文字列を指定できますが、AppleScriptの命令文やコマンドなど、定義済みの文字列は使用できません。大文字を混ぜるなどして、被りにくい文字列になるように設定すると良いと思います。

current dateは現在の日付と時刻をシステムから取得するコマンドです。取得したデータには型(クラス)があり、current dateの場合「date型」のデータが返されます。これを文字列として扱うために、as stringで文字列型に変換しています。
よく使う型としては以下のようなものがあります。

boolean ・・・真偽値(true または false)
integer ・・・整数
real ・・・実数(少数を含む数字)
date ・・・日付と時刻 string ・・・文字列
text ・・・文字列(stringと同じ)

5行目:display dialog DateAndTime
Display dialogは画面にダイアログを表示する命令です。
表示できるのは文字列に限られます。ここで文字列以外のデータを指定するとエラーになります。

6行目:end tell
Finderへの処理を終了する宣言です。
end tellなど、終了の記述は「end」とだけ記述してコンパイルボタンを押すと、自動的に補完されます。

7行目:end run
スクリプトの処理を終了する宣言です。

スクリプトの保存

正常に動作する事が確認できたら、スクリプトを保存します。
以下の4つのファイルフォーマットから選択できます。

 スクリプト  コンパイル済みのスクリプトをそのまま保存します。
拡張子は「.scpt」で、保存したファイルを開くとスクリプトエディタが起動します。
実行はスクリプトエディタから行います。
スクリプトハンドル  「スクリプト」と同じくコンパイル済みのスクリプトです。
拡張子は「.scptd」で、パッケージ内に付随するファイルを保存できます。
 アプリケーション  単独で動作するアプリケーションとして保存します。
拡張子は「.app」で、起動するとスクリプトが実行されます。
これを「アプレット」と呼んでいます。
ファイルやフォルダをドロップして起動する「ドロップレット」もこの方式での保存です。
 テキスト  コンパイルされていないテキストファイルとして保存します。
作成途中のものや、動作環境が違うMacへの受け渡しに便利な形式です。
拡張子は「.applescript」です。




今回はここまでです。今使用しているMacで手軽に始められるので、是非使ってみてください。
次回からは基本的な処理の書き方や、DTPでの活用例を記載して行きます。

サンプルスクリプトのダウンロード

参考までに、Finder関連のスクリプトサンプルとして「ファイルの拡張子変更」と「ファイル名のリスト作成」を掲載します。

Written by Kanbayashi

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