エルゴソフトのパッケージソフト事業終了を受け、egbridge-Universalに依存している私としては、使っている機能を他の形で実現する必要が出てきた。持っているソフトをそのまま使い続けることは可能だが、さすがにOSのアップグレードなどに対応してくれはしないだろうからだ。
さて、私はいまだに基本的なHTMLは直打ちで書いているのだが、そのタグ付けをegbridge-Univarsalのユニバーサルパレットを使ってやっていた。
→egblidge Universalの使い方 2 (うむらうす)(strongとかtable)
→egbridge Universalの使い方 3 (うむらうす)(タイトル付きaタグ)
この機能は便利なので、他のやり方で達成したい。ユニバーサルパレットは、異なるアプリに対して使えるところがよかったのだが、さてどうするか・・・。普通に考えると、スクリプトメニューにAppleScriptを置いて、そこから起動するのが良かろう。
まとめると、やりたいことは以下のようになる。
・ユニバーサルパレットで行えるHMTLタグ付けを、ユニバーサルパレットから行えるようにする
・具体的には、スクリプトメニューのAppleScriptで、色々なアプリ上で選択している文字列を<tag> </tag>で囲む。例えば「強調」を「<strong>強調</strong>」のようにする
と思ったら昔そういう記事を書いていたことが判明した。えらいぞ自分。えへへほめられちった(一人二役)。
→ユニバーサルパレットをスクリプトメニューで代用 (うむらうす)
どれどれ・・・
色々調べてみた結果、以下のような結論に達した。結論:ムリ。
理由:ユニバーサルパレットでAppleScriptを走らせると便利なのは、 IMと連動していることで、どのアプリケーションに対しても 文字列を操作できることが重要だった。
一方AppleScript単体では「tell application ""」の縛りをまぬがれず、 対象となるアプリケーションを指定してやらなければならない。 つまり、ブラウザ上、エディタ上、メモアプリ上など、 どれに対しても一つのscriptで対応するということはできないようなのだ。
えらくないじゃん!!
ほめて損した!すみません。(一人二役)
しょうがない、調べ直すか。
・
・
(調査中)
・
・
わかった。がんばればできる。ユニバーサルパレットをこういう風に使っていて「これからどうしよう」と思い悩んでいる全国1億2000万人のユーザのためにやり方を書いておこう。
以下やり方。
調べた結果
- アプリケーションの名前を取得
- そのアプリに対して「⌘+c」の指令を出しコピー
- コピーした内容をタグで囲む
- アプリに対して「⌘+v」でペースト
AppleScriptは「あるアプリケーションに対して」「ある操作を行わせる」的な書き方をするため、「任意のアプリ」に対して命令は出しにくいので、上のようにアプリケーションの名前を取得し、指定してコピペの指令を出すわけだ。
(参考:文字列の取得 by AppleScript)
ということで作ったスクリプトが以下のもの。
スクリプトダウンロード:strong_tag.zip
使い方:
上のzipファイルを解凍してできたAppleScriptファイル「strong_tag.scpt」を、ホームフォルダ内の「ライブラリ→Scripts」に移すと、スクリプトメニューにstrong_tagという項目が表示される。
スクリプトメニューって何?と言う方は以下の記事の「方法2:スクリプトメニューに登録する」を参照されたい。
→NBA TVのvideoを手軽に楽しむ (うむらうす)
使用上の注意:
実行に2,3秒かかるので、その間にコピーしたいアプリケーションを切り替えてしまうと、うまくタグで囲めないことがある。焦らずしっかり動作を見届けていただきたい。ただ5秒とか10秒とかかかって何も起きない場合、それはうまく動かなかったということなので、何時間も辛抱強く待ち続けないで欲しい。
ということでできたが、美しくない・・・使い勝手もイマイチ・・・もっと簡単にできないものか?そもスクリプトメニューから探すよりも、「文字を選択」→「右クリックから選択」とかの方が良くないか?そのあたりは今後の課題ということで。
まとめ:
- ユニバーサルパレットから行っていたHTMLタグ付けを、スクリプトメニューから行えるようにした
- ⌘+c,v でコピペしたりしているので動作が遅い
- もうちょっとなんとかしたい
以下、興味のある人向け、AppleScriptのソース。