2008-09-28

OmniGraffle 5 の AppleScript サポート

OmniGroup と言えば、古くは NeXTSTEP 時代からの老舗で、最近でも OmniGraffleOmniOutliner、最近では GTD を実践するための OmniFocus などのなかなか使いやすいソフトウェアを開発・販売している。自分でも OmniGraffle や OmniOutliner (どちらも Pro 版)を愛用してはいるのだけど、まだまだ十分に活用しているとは言い難く、ときどきそれまで使ってなかった機能を見付けては改めて感心したりしている。

さて、先日もそんなソフトウェアのひとつである OmniGraffle で、編集メニューの「別形式でコピー」項目のサブメニューに「AppleScripto」というのを見付けたので、ちょっと試してみた(注: 以下の例で「OmniGraffle Professional 5」となっているのは普通にインストールしているなら「OmniGraffle Professional」となっているはず)

たとえば、適当に描いた長方形を選択して、それを AppleScript 形式でコピーすると、その図形を描画するためのスクリプトがそのままクリップボードというかペーストボードというかに入る。

tell application "OmniGraffle Professional 5"
tell canvas of front window
make new shape at end of graphics with properties {origin:{59.0, 63.0}, size:{140.0, 121.0}}
end tell
end tell
これをそのまま Script Editor にペーストして実行すると当然全く同じ図形が描画される。もちろん、osascript(1) で実行してやってもいい。

もともと OmniGraffle は図形の移動時にガイドが効いたり、きれいに整列させながら作業するのが得意なのだけど、スクリプトを書けばもっと色んなことが楽にできそうだ。

こんなことも簡単にできちゃう(カレンダーなんか作るのに便利?)。スクリプトエディタがイヤならば、osascript(1) を使って、各種のシェルや Perl などの LL と組み合わせるという手段もある。

もともと AppleScript で書けばいろいろできるのは分かっていたのだけど、ApppleScript 自体に慣れないことはもちろん、なにができるのかがよく分かっていないとなかなか手がでない状態だったのだけど、実際に欲しい図形を描いてみれば AppleScript でどう書けばいいのかも分かるというこのアプローチはなかなか面白い。

惜しいのは、OmniGraffle 自体が AppleScript 的に記録可能(Recordable)でないこと。以前からも少なかったけど、Mac OS X になってから記録に対応したアプリケーションというのを見かけたことがないような気がする。技術的な制約でもあるのだろうか。以前 Excel で AppleScript を使おうと思ったときも、どうやればいいのかよく分からなかったので 結局 VB で書いたこともある(おかげで Office 2008 には移行してない)が、Excel が Recordable であればきっと AppleScript で書いただろう。プログラミング言語としてはともかく、それなりの潜在能力がある AppleScript はもっと活用されていい技術だと思うんだけどなぁ。

3 comments:

vstcyberpc said...

I am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me
WhatsApp Plus Crack
OmniFocus Crack
Stardew Valley Crack
Skype Crack
Spectrasonics Trilian Crack

sparkocam said...

OmniGraffle Crack
Wow, amazing block structure! How long
Have you written a blog before? Working on a blog seems easy.
The overview of your website is pretty good, not to mention what it does.
In the content!

Naam M Kya Rkha Hai said...

After looking through a few blog articles on your website,we sincerely appreciate the way you blogged.We’ve added it to our list of bookmarked web pages and will be checking back in the nearfuture. Please also visit my website and tell us what you think.Great work with hard work you have done I appreciate your work thanks for sharing it.
Rekordbox DJ Crack
ApowerMirror Crack
OmniGraffle Crack
Imagenomic Portraiture Crack
SmartSHOW 3D Crack
WALTR 2 Crack
Redshift Render Crack
LaunchBox Premium Crack