上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--|スポンサー広告||TOP↑

環境
Mac OS X 10.4.11 (PPC; 日本語優先)
BathyScaphe 1.6

BathyScaphe が 1.6 になって、3 ペインでも選択文字列を簡単に取得できるようになりました。

selected text of document 1

これだけで OK。
というわけで久しぶりに AppleScript を書いてみました。

BathyScaphe の選択文字列をテキストファイルに書き出す

set dq to (ASCII character 34) as Unicode text
set bs to «data utxt005C» as Unicode text
set orc to «data utxtFFFC» as Unicode text
set rgx to "/^" & bs & "d{1,4}" & bs & "s名前.+" & orc & "*.*(Mail)*.+投稿日.+/"
--またはこう書いた方が「レス番...名前...Mail...投稿日」の行を見つけやすいかも
--set rgx to "/^" & bs & "d{1,4}" & bs & "s名前:" & bs & "s.+" & orc & "*" & bs & "s(?:Mail)*:" & bs & "s.*" & bs & "s投稿日:.+/"

set rbscript to "if $stdin.lineno == 1; print $_.gsub(/" & orc & "/, ''); else; print $_.gsub(" & rgx & ") { | line |; " & dq & bs & "n" & dq & " + line; }.gsub(/" & orc & "/, ''); end"
--または本文をインデントしたい場合
--set rbscript to "if $stdin.lineno == 1; if " & rgx & " =~ $_; print $_.gsub(/" & orc & "/, ''); else; print ' ' + $_; end; else; if " & rgx & " =~ $_; print $_.gsub(" & rgx & ") { | line |; " & dq & bs & "n" & dq & " + line; }.gsub(/" & orc & "/, ''); else; print ' ' + $_; end; end"

tell application "BathyScaphe" to activate

tell application "System Events"
tell process "BathyScaphe"
click menu item "情報をコピー" of menu "スレッド" of menu bar 1
end tell
end tell

tell application "BathyScaphe"
activate
set the_text to selected text of document 1
set info to (the clipboard as Unicode text)
if not the_text is "" then
set file_path to (choose file name default location (path to desktop folder) default name "res.txt")
set file_path_posixpath to (POSIX path of file_path)
else
return
end if
end tell

set str to (do shell script "echo -n " & quoted form of the_text & " | tr '" & bs & "r' '" & bs & "n' | ruby -Ku -ne " & quoted form of rbscript)
set str to str & return & return & "------------------------------------------------------" & return & info

--'情報をコピー'で得た文字列は最後に改行が入っているので echo -n でちょうどよい.
--UTF-8
do shell script "echo -n " & quoted form of str & " | tr '" & bs & "r' '" & bs & "n' > " & quoted form of file_path_posixpath
--UTF-16
--do shell script "echo -n " & quoted form of str & " | tr '" & bs & "r' '" & bs & "n' | iconv -f UTF-8 -t UTF-16 > " & quoted form of file_path_posixpath

こんな感じで書き出せます。
res1.txt
res2.txt (インデントした場合)

また、これは iTunes でもたまにあることですが、このスクリプトは BathyScaphe 専用のスクリプトメニューからは実行できません。グローバルスクリプトメニュー (メニュー右の時計近くの) からなら動きます。
上記スクリプトの場合だと System Events の

click menu item ...

の行で引っかかっている模様。
ちなみにグローバルな方のメニューは '/Applications/AppleScript/AppleScript ユーティリティ' の設定で表示させることができます。

スポンサーサイト

12/07|AppleScriptコメント(0)トラックバック(0)TOP↑
この記事にコメント
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
この記事にトラックバック
プロフィール

AquaBowler

  • Author:AquaBowler
  • 現在の Mac 環境:
    iBook Late2001
    Mac OS X 10.4.11
フリーエリア
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブログ内検索
RSSフィード
リンク
del.icio.us
feed meter

RSS feed meter for http://kotoerisan.blog16.fc2.com/

FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。