◀   |   |   ▶
◀   |   |   ▶

プレーンテキストとしてペーストする AppleScript



長らく放置していましたが、実はここで紹介したスクリプトは英語環境では動きませんでした。しかし、いまだに t0mori さんiBloggers in Japan ML や iBJ - iBloggers in Japan で紹介してくださるので(嬉)英語環境でも動くスタイルのものを作成しました。以前は『だ調』で書いてたので、ブログでの表示順を「修正順」にすると違和感がありますね。(2004/10/24 更新)

iBlog は、文章のフォント、フォントサイズ、スタイルを簡単に変更できるアプリケーションなので、作成するエントリを色々なフォントで装飾できる。しかし、ほとんどの人はデフォルトで設定したフォントスタイルを適用しているはずだ。 ところがウェブブラウザーなどでコピーしたテキストをそのまま iBlog 上でペーストすると、意図しないフォントスタイルで貼付けられてしまう。
そこで、クリップボードの中身がリッチテキストであっても、プレーンテキストに変換してペーストする AppleScript を作ってみたのだ。
#あ、UI Scripting を使ってますので、「システム環境設定」>「ユニバーサルアクセス」で #「補助装置にアクセスできるようにする 」をチェックしないと動きません。 #(2004/3/6 PM6:45 更新)
#私の iDisk に保管してあるファイルへのアクセス方法が間違ってました。(2003/3/7 AM3:45 更新)


エントリ作成時にコピー&ペースト作業を行なう場合、
  1. コピー
  2. iBlog にアプリケーションスイッチ
  3. ペースト
  4. リッチテキストとしてペーストされた文章を選択
  5. フォントパネルを表示
  6. デフォルトで設定したフォントスタイル(つまり、「地」のフォントスタイル)に変更
という手順を踏む必要がある。
スクリプトでクリップボードの中身をプレーンテキストにしてからペーストすれば、この手順が簡略化されるのではないか? と思ったので、ついでにペーストまでの一連の動作を自動化した AppleScript を書いてみた。(だから、iBlog 専用。例のごとく、私の iDisk の Public フォルダに保存してあるので、この URL からダウンロードすることもできる) #どうも、直接ダウンロードできないようだ… Finder の「移動」メニューから iDisk -> ほかのユーザの ’Public’ フォルダ… とやって、ユーザ名に kaoru_ari と入力してほしい。(2003/3/7 AM3:45 更新)(現在は英語環境でも動くものに置き換えています 2004/10/24 更新)
以前のスクリプトは日本語メニューを前提に書いたので、英語環境、または英語メニューで iBlog を運用している場合には動作しない。そこで、汎用のスクリプトを書いてみた。↓(2004/10/24 更新)
on run
try
set the clipboard to «class ktxt» of ((the clipboard as text) as record)
set orig_txt to the clipboard as text
if orig_txt is not "" then
set the clipboard to orig_txt
tell application "iBlog" to activate
tell application "System Events"
key down {command}
keystroke "v"
key up {command}
end tell
else
error "The clipboard is empty..." number 1
end if
on error err_msg number err_num
reportErr(err_num, err_msg)
end try
end run
--
on reportErr(err_num, err_msg)
set err_msg to "Error #" & err_num & ": " & err_msg
beep
display dialog err_msg buttons "OK" default button 1 with icon 2
end reportErr
これを Script 形式で保存した上で、ホームのライブラリ/Scripts フォルダに入れるとメニューバーのスクリプトメニューに現れるので、
  1. テキストをコピーする
  2. (iBlog のペーストしたい場所が選択された状態で)スクリプトメニューから実行する
以上。簡単でしょ?

投稿: 2004年03月06日 (土) at 15:58   | | | |

◀   |   |   ▶
◀   |   |   ▶