[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/16 03:53 / Filesize : 298 KB / Number-of Response : 950
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おもろい、めずらしいアップルスクリプト発表会 6



1 名前:名称未設定 [2005/06/05(日) 22:58:26 ID:KGQNvadS]
【前スレ】
おもろい、めずらしいアップルスクリプト発表会 5
pc7.2ch.net/test/read.cgi/mac/1067367790/l50
おもろい、めずらしいアップルスクリプト発表会 4
pc.2ch.net/test/read.cgi/mac/1026844857/l50
おもろい、めずらしいアップルスクリプト発表会
pc.2ch.net/mac/kako/971/971295440.html
おもろい、めずらしいアップルスクリプト発表会
mentai.2ch.net/mac/kako/957/957215209.html
面白い&便利なアップルスクリプト
mentai.2ch.net/mac/kako/962/962044994.html

・関連スレ
【標準装備】スクリプトエディタ
pc7.2ch.net/test/read.cgi/mac/1111760449/l50
【中の人】Automator【小人】
pc7.2ch.net/test/read.cgi/mac/1088457299/l50
Macでシェルスクリプト総合 Part 1
pc7.2ch.net/test/read.cgi/mac/1105074933/l50

・関連スクリプトのまとめ
ttp://members.tripod.co.jp/obto/script/script.html

331 名前:名称未設定 mailto:sage [2005/12/22(木) 19:06:00 ID:FsA+27/w0]
pidを取るとは何のことかさっぱりわからないから死のうと思う。

332 名前:名称未設定 mailto:sage [2005/12/22(木) 19:11:18 ID:oR8Ze5L70]
>>331
おまいさんは正常だと思うからイ「。

333 名前:名称未設定 mailto:sage [2005/12/22(木) 19:42:17 ID:f+oyQhsL0]
画像圧縮じゃないや、動画圧縮。iPod用とかの。

334 名前:名称未設定 mailto:sage [2005/12/22(木) 20:20:20 ID:avineMH+0]
さてと。次のお題は?

335 名前:名称未設定 mailto:sage [2005/12/22(木) 20:21:33 ID:yNSe5NiH0]
豚トロのおいしい食べ方をAppleScriptを使って示す方法

336 名前: mailto:sage [2005/12/22(木) 23:06:00 ID:RbuFzcnC0]
tell application "豚"

set breed_all to every breed of pig
set tempValue to 0

repeat with theBreed in breed_all
set theUmami to (umami of (toro of theBreed)) as number
if theUmami >= tempValue then
-- set tempValue to theUmami
set niku_best to name of theBreed
end if
end repeat

display dialog "最もトロがおいしい豚は" & niku_best & "です。
購入するお店の名前を入力してください" ツ
default answer "××精肉店" buttons {"キャンセル","購入"} default button 2


end tell

...続く...うそw

337 名前:名称未設定 mailto:sage [2005/12/23(金) 00:21:55 ID:liEHx4n50]
材料を100通りくらい登録して、ランダムでいくつか選択→それを全て使って料理しなくてはいけないというゲームスクリプト

毎日の献立に悩んでる主婦の方いかがですか

338 名前:名称未設定 mailto:sage [2005/12/23(金) 00:45:39 ID:Pb6pHLLc0]
なんでゲームでまで献立に悩まなきゃいけないのかってのが本音だと思うな

339 名前:名称未設定 mailto:sage [2005/12/23(金) 16:03:57 ID:t9cI6wIi0]
ニュートンスクリプトのファイルがいっぱい出てきた



340 名前:名称未設定 mailto:sage [2006/01/11(水) 18:43:44 ID:0atmqDEC0]
10.4.4でAppleScriptにも何か変更あったらしいんだけど、
詳しい情報がないね。

341 名前:名称未設定 [2006/01/12(木) 00:35:28 ID:ATnMApm30]
ほす

342 名前:名称未設定 mailto:sage [2006/01/15(日) 15:48:23 ID:qVelR7A40]
質問なんですが
アップルスクリプトで
iTunesなど他のアプリケーションを使わずに
警告音以外の音を出すことはできないのでしょうか?

343 名前:名称未設定 mailto:sage [2006/01/15(日) 15:54:30 ID:j7VAuZtOP]
ピピピと音を出す
say "p p p"


344 名前:名称未設定 mailto:sage [2006/01/15(日) 16:31:35 ID:RZmlY23l0]
do shell scriptつかってmplayerから

345 名前:名称未設定 mailto:sage [2006/01/15(日) 17:06:03 ID:qCf7Ckjz0]
Play Sound - scriptable sound player
microcosmsoftware.com/playsound/

tell application "Play Sound"
play 鳴らしたいさうんどふぁいるのpath
quit
end tell

readmeやサンプルも充実している

参考
www.remus.dti.ne.jp/~a-satomi/nikki/2003/03a.html#d06n01

346 名前:名称未設定 mailto:sage [2006/01/15(日) 17:09:42 ID:qCf7Ckjz0]
↑これはバックグラウンドアプリね

347 名前:342 mailto:sage [2006/01/16(月) 07:03:32 ID:zsO5dnXy0]
ありがとうございます。
難易度としては
mplayer>>Play sound>=say"p p p"
と言ったところでしょうか。
ためしてみます。

348 名前:名称未設定 mailto:sage [2006/01/16(月) 18:32:34 ID:9UuG6T5F0]
mplayerじゃなくても適当なコマンドライン系のサウンドプレーヤとかさ

349 名前:名称未設定 mailto:sage [2006/01/16(月) 22:16:00 ID:tBI3aCsN0]
>>345おすすめだから使ってみ
mplayerなんて答えはジョーク



350 名前:名称未設定 mailto:sage [2006/01/16(月) 23:31:42 ID:zs00f7kD0]
標準で採用されれば配布物でも使いやすくなるのになあ。

351 名前:名称未設定 [2006/01/19(木) 15:14:28 ID:IzKt/HwI0]
昨日違うスレで、フォルダの中の変更日より一ヶ月以上経過しているファイルを削除するスクリプトを教えていただきましたが、フォルダの中の一番上層の階層に対しては機能するのですが2番目以降の階層に対しては機能しません。
いろいろ書き換えて試したのですが、うまくいきません。どのように書き直すとうまくいくのでしょうか、勉強不足で申し訳ありませんが教えてください。
昨日教えていただいたところまでのスクリプトは以下です。
on open d_items
del_old(d_items)
end open

on del_old(d_items)
tell application "Finder"
repeat with a_file in d_items
if folder (a_file as string) exists then
set sub_items to every item of folder (a_file as string)
my del_old(sub_items)
else
set cr_date to current date
set md_date to (modification date of a_file)
if (year of md_date) < (year of cr_date) then
move a_file to trash
else if (month of md_date) < ((month of cr_date) - 1) then
move a_file to trash
else if (month of md_date) < (month of cr_date) and (date of md_date) < (date of cr_date) then
move a_file to trash
end if
end if
end repeat
end tell
end del_old



352 名前:名称未設定 mailto:sage [2006/01/19(木) 18:16:52 ID:Tn60v+0wP]
>>351
>if (year of md_date) < (year of cr_date) then
>move a_file to trash
だと年が変わってる場合は一ヶ月経ってなくてもゴミ箱行ってしまう気がする

353 名前:351 [2006/01/19(木) 18:37:25 ID:IzKt/HwI0]
352さん、
if (year of md_date) < ((year of cr_date) - 1) then
move a_file to trash
else if (year of md_date) = ((year of cr_date) - 1) and ((month of md_date) - 12) < (month of cr_date) then
move a_file to trash
なら年が変わっても大丈夫?

フォルダの中の一番上層の階層に対しては機能するが2番目以降の階層に対しては機能しない問題は未解決のまま、、、。

354 名前:351 [2006/01/19(木) 18:46:29 ID:IzKt/HwI0]
if (year of md_date) < ((year of cr_date) - 1) then
move a_file to trash
else if (year of md_date) = ((year of cr_date) - 1) and ((month of md_date) - 11) < (month of cr_date) then
move a_file to trash
else if (year of md_date) = ((year of cr_date) - 1) and ((month of md_date) - 11) = (month of cr_date) and (day of md_date) < (day of cr_date) then
move a_file to trash
こうしないとだめですね。

フォルダの中の一番上層の階層に対しては機能するが2番目以降の階層に対しては機能しない問題は未解決のまま、、、。
教えてください。

355 名前:351 [2006/01/19(木) 18:54:58 ID:IzKt/HwI0]
一ヶ月以上という設定は
if (year of md_date) < ((year of cr_date) - 1) then
move a_file to trash
else if (year of md_date) = ((year of cr_date) - 1) and ((month of md_date) - 11) < (month of cr_date) then
move a_file to trash
else if (year of md_date) = ((year of cr_date) - 1) and ((month of md_date) - 11) = (month of cr_date) and (day of md_date) < (day of cr_date) then
move a_file to trash
else if (year of md_date) = (year of cr_date) and (month of md_date) < ((month of cr_date) - 1) then
move a_file to trash
else if (year of md_date) = (year of cr_date) and (month of md_date) = ((month of cr_date) - 1) and (date of md_date) < (date of cr_date) then
move a_file to trash
ここまでしないとだめですかね?

フォルダの中の一番上層の階層に対しては機能するが2番目以降の階層に対しては機能しない問題は未解決のまま、、、。
教えてください。

356 名前:名称未設定 mailto:sage [2006/01/19(木) 18:56:11 ID:uUysQTIU0]
単純に date を引き算して差が1ヶ月以上ならとした方が良くないか。

357 名前:名称未設定 mailto:sage [2006/01/19(木) 19:02:41 ID:fHPil7wj0]
applescript フォルダ 再帰

でググれば幾つか出てくるぞな。それ読め。

358 名前:名称未設定 mailto:sage [2006/01/19(木) 19:04:34 ID:Tn60v+0wP]
set md_date to (modification date of a_file)
set check_date to (current date) - 60 * 60 * 24 * 30
if check_date > md_date then
--move a_file to trash
display alert ("delete" & return & a_file as string)
end if
こうかな。


359 名前:名称未設定 mailto:sage [2006/01/19(木) 19:04:49 ID:uUysQTIU0]
on open theItemList
tell application "Finder"
my moveToTrash(theItemList)
end tell
end open

on moveToTrash(theItemList)
tell application "Finder"
set theFileList to every file of theItemList
repeat with theFile in theFileList
if ((current date) - (modification date of theFile)) > days * 30 then
move theFile to trash
end if
end repeat
my moveToTrash((every folder of theItemList))
end tell
end moveToTrash

こんな感じかねえ。全然動作確認してないが。



360 名前:351 [2006/01/19(木) 19:53:59 ID:IzKt/HwI0]
>>359
stack overflowだそうです。



361 名前:351 [2006/01/19(木) 20:01:03 ID:IzKt/HwI0]
>>358
すばらしい、年が変わっても大丈夫です。

362 名前:名称未設定 mailto:sage [2006/01/19(木) 20:46:49 ID:DIDHjDsy0]
on open d_items
del_old(d_items)
end open
on del_old(d_items)
repeat with a_file in d_items
set theInfo to info for a_file without size
if folder of theInfo then
tell application "Finder"
set checkFiles to entire contents of folder (a_file as string)
end tell
else
tell application "Finder"
set checkFiles to {file (a_file as string)}
end tell
end if
tell application "Finder"
repeat with a_file in checkFiles
if folder is not class of a_file then
set md_date to (modification date of a_file)
set check_date to (current date) - days * 30
if check_date > md_date then
--move a_file to trash
display alert ("delete" & return & a_file as string)
end if
end if
end repeat
end tell
end repeat
end del_old
359のが短くていいけど普通に書いてみた。
daysなんて定数あるんだね。知らんかった

363 名前:351 [2006/01/19(木) 22:02:39 ID:FCNtwkoN0]
>>362
macのない場所に移動してしまったので明日動作確認させて頂きます。


364 名前:名称未設定 mailto:sage [2006/01/19(木) 22:27:26 ID:uUysQTIU0]
>>360
あー、my moveToTrash((every folder of theItemList)) の部分は
set theFolderList to every folder of theItemList
repeat with theFolder in theFolderList
my moveToTrash(theFolder)
end repeat
にしないと無限ループに陥ってしまうわ。

365 名前:名称未設定 mailto:sage [2006/01/20(金) 01:09:18 ID:aUtLPd0h0]
Tanaka's osax使えば簡単w

366 名前:351 [2006/01/20(金) 16:39:07 ID:H9RltHP00]
>>362
動作完璧です。
本当にありがとうございました。

367 名前:名称未設定 [2006/01/20(金) 23:55:33 ID:buo81Q/X0]

とりあえずここの堀江の拳見てみ。まあまあおもろいから。

ex13.2ch.net/test/read.cgi/livemarket1/1137564677/1-100

368 名前:名称未設定 mailto:sage [2006/01/21(土) 01:06:49 ID:bTnWi9NG0]
適当に選んだこのスレ、失敗だったな。

369 名前:名称未設定 [2006/01/25(水) 02:37:49 ID:H+QdoHQR0]
自動的に、言語環境をドイツ語に変えてくれるスクリプトを作りたくて
tell application "System Events"
tell application process "System Preferences"
click radio button "言語" of tab group 1 of window "言語環境"
click pop up button 1 of tab group 1 of window "言語環境"
pick menu item "ドイツ語" of menu of
pop up button 1 of tab group 1 of window "言語環境"
end tell
end tell
tell application "System Preferences" to quit
としてみたのですがこれだと並べ替えリストの順序をかえるだけで
だめなのです。。
環境設定の言語環境の言語順の順番をscriptで入れ替えることはできないのでしょうか?



370 名前:(・∀・) mailto:sage [2006/01/25(水) 05:43:44 ID:Tupw9JX/0]
>>342 beep てのがありますよ。

>>327
えらく亀レスですが、echo $$ で自プロセス。echo $PPID で
親プロセスIDがとれるからdo shell scriptで親プロセスを
reniceすれば?

371 名前:名称未設定 mailto:sage [2006/01/25(水) 21:16:17 ID:wxvyjs1B0 BE:224034645- ]
ツンデレ風のAppleスクリプトないかなぁ。
『な、何システム終了なんてしてるのよ!』とか。

372 名前:名称未設定 mailto:sage [2006/01/25(水) 21:26:47 ID:LNgRLNV00]
>>370
「警告音以外の」って書いてあるやん。

373 名前:名称未設定 mailto:sage [2006/01/25(水) 21:27:50 ID:LNgRLNV00]
>>371
勝手に作れw
あ、そう言えばOS Xにはログイン項目はあるけど、
終了時に特定のアプリを実行するような機能はないのかな。

374 名前:名称未設定 mailto:sage [2006/01/25(水) 21:29:27 ID:uqzzW9Pz0]
特定のアプリを実行→システム終了あるいはスリープあるいはログアウトというスクリプトを書いてそれを実行するようにすれば(ry

375 名前:名称未設定 mailto:sage [2006/01/25(水) 21:52:14 ID:LNgRLNV00]
まあスクリプトに関しちゃそうだけどね。
でもいちいちそれで終了させるのは面倒だぞ。

376 名前:名称未設定 mailto:sage [2006/01/25(水) 21:54:25 ID:LNgRLNV00]
「スクリプトに関しては」には意味がなかったな。すまん。

377 名前:名称未設定 mailto:sage [2006/01/25(水) 23:00:19 ID:1H9liGEO0]
スクリプトを常駐させておいて
on quitハンドラで何か処理できんかね

アプリを立ち上げたりするとログアウトがキャンセルさせてしまいそうだが

378 名前:名称未設定 [2006/01/26(木) 01:28:55 ID:6R2MY9V70]
すいません、スクリプトエディタスレでも質問したのですが
どうも自分の力ではうまくいかないので(向こうのスレの方ゴメンナサイ)
こちらでも質問させてください。

スクリプトエディタでiCalの”データベースのバックアップ…”を
以下の場所に実行させたいのです。

/Volumes/Works/Data(OS9 OSX)/Backup/アップグレード対策1/基本系/iCal

自分では絶対無理っぽいので単刀直入にお願いします。
構文を教えてください!

379 名前:名称未設定 mailto:sage [2006/01/26(木) 01:36:24 ID:sz8tN0ma0]
> すいません、スクリプトエディタスレでも質問したのですが
> どうも自分の力ではうまくいかないので(向こうのスレの方ゴメンナサイ)
> こちらでも質問させてください。

ダメ。不可。レス付いてて進行形だろ。死ね。



380 名前:名称未設定 mailto:sage [2006/01/26(木) 01:43:37 ID:6R2MY9V70]
ぐゎっ…!
ダメですか……。

381 名前:名称未設定 mailto:sage [2006/01/26(木) 03:11:08 ID:+sDEswVe0]
「マルチ」でぐぐれ。

つーかそもそもあっちもこっちも同じ人間が見てると思うが?w

382 名前:名称未設定 mailto:sage [2006/01/26(木) 08:11:10 ID:03Av+/uY0]
ごめんちょっとテストさせて。

まんまバックスラッシュ:
10進: \
16進: \

まんま円: \
文字: ¥
10進: ¥
16進: ¥

383 名前:名称未設定 mailto:sage [2006/01/26(木) 08:17:43 ID:03Av+/uY0]
>>369
ドイツ語と日本語を切り替える。

if (do shell script "defaults read .GlobalPreferences AppleLanguages") starts with "(ja" then --先頭がjaならdeに
do shell script "defaults write .GlobalPreferences AppleLanguages '(de, ja, en, fr, es, it, nl, sv, nb, da, fi, pt, \"zh-Hans\", \"zh-Hant\", ko)'" --言語の優先順位
do shell script "defaults write .GlobalPreferences AppleCollationOrder de" --並べ替えリストに使う順序
do shell script "defaults write .GlobalPreferences AppleTextBreakLocale de" --単語区切り
do shell script "defaults write .GlobalPreferences AppleLocale de_DE" --書式タブの日付や通貨など
else --先頭がjaでなければjaに
do shell script "defaults write .GlobalPreferences AppleLanguages '(ja, de, en, fr, es, it, nl, sv, nb, da, fi, pt, \"zh-Hans\", \"zh-Hant\", ko)'" --言語の優先順位
do shell script "defaults write .GlobalPreferences AppleCollationOrder ja" --並べ替えリストに使う順序
do shell script "defaults write .GlobalPreferences AppleTextBreakLocale ja" --単語区切り
do shell script "defaults write .GlobalPreferences AppleLocale ja_JP" --書式タブの日付や通貨など
end if

このやり方で正しいかどうかはわからない。
特に、言語環境パネルの「リストを編集...」で言語を追加したりしている場合は、標準の設定に戻ってしまうと思う。試してないけど。
不可視ファイルに対する変更だし、やるなら ~/Library/Preferences/.GlobalPreferences.plist をバックアップしたうえで自己責任でよろしく。

384 名前:名称未設定 mailto:sage [2006/01/26(木) 13:58:01 ID:+sDEswVe0]
>>382
何のブラウザで見るかによって結果違うよ?

385 名前:名称未設定 mailto:sage [2006/01/26(木) 17:33:08 ID:pR5QOHFj0]
>>373-377

俺もOS 9の「システム終了項目」みたいなのが欲しかったので作った。
フォルダ ~/Library/ログアウト項目/ を作っておいて、何か入れておく。
下のスクリプトを実行後自動的に終了しないアプリケーションで作成してログイン項目に入れておく。
で、ログアウトする時には、ログアウト項目フォルダに何かあれば開くか聞いてくる。
キャンセルすれば終了してログアウトをキャンセルしない。

on run
return
end run
on idle
return 536870909
end idle
on quit
tell application "Finder"
set itemsAlias to every item of (folder "ログアウト項目" of folder (path to library folder from user domain))
if (count of itemsAlias) is greater than 0 then
try
display dialog "ログアウト項目があります" & return & return & "3秒後に開きます" buttons {"キャンセル", "開く"} default button 1 with icon stop giving up after 3
open itemsAlias
end try
end if
end tell
continue quit
end quit

386 名前:名称未設定 [2006/01/26(木) 18:13:09 ID:8KfBOw+Q0]
>>383
本当にありがとうございました!動作ばっちりです〜。

387 名前:383 mailto:sage [2006/01/26(木) 19:27:22 ID:03Av+/uY0]
間違えちゃった(ノ∀`)
英語やドイツ語に変更したときは AppleTextBreakLocale を delete するのが正しいみたい。
動作に支障はないみたいだけど>>383は de にしちゃってる。

if (do shell script "defaults read .GlobalPreferences AppleLanguages") starts with "(ja" then --先頭がjaならdeに
do shell script "defaults write .GlobalPreferences AppleLanguages '(de, ja, en, fr, es, it, nl, sv, nb, da, fi, pt, \"zh-Hans\", \"zh-Hant\", ko)'" --言語の優先順位
do shell script "defaults write .GlobalPreferences AppleCollationOrder de" --並べ替えリストに使う順序
do shell script "defaults delete .GlobalPreferences AppleTextBreakLocale" --単語区切り←###訂正箇所###
do shell script "defaults write .GlobalPreferences AppleLocale de_DE" --書式タブの日付や通貨など
else --先頭がjaでなければjaに
do shell script "defaults write .GlobalPreferences AppleLanguages '(ja, de, en, fr, es, it, nl, sv, nb, da, fi, pt, \"zh-Hans\", \"zh-Hant\", ko)'" --言語の優先順位
do shell script "defaults write .GlobalPreferences AppleCollationOrder ja" --並べ替えリストに使う順序
do shell script "defaults write .GlobalPreferences AppleTextBreakLocale ja" --単語区切り
do shell script "defaults write .GlobalPreferences AppleLocale ja_JP" --書式タブの日付や通貨など
end if

実行すると言語の優先順位が「1.日本語 2.ドイツ語」か、「1.ドイツ語 2.日本語」のどちらかに必ずなるので>>369以外で試しに実行してみた人がいたら、手作業で1、2番目の言語を設定し直した方がいいかも。

388 名前:名称未設定 mailto:sage [2006/01/26(木) 20:13:03 ID:03Av+/uY0]
>>384
円記号かバックスラッシュかどちらかの形で表示されれば
コピペでコンパイルできるはずなのでちょいと試してみたの。
ちなみに383、387はマカエレから円記号をそのまま入力して送信。
Safari、Firefox、IE、BathyScapheからコピペしてみたけど大丈夫っぽい。

389 名前:名称未設定 mailto:age [2006/01/27(金) 14:58:11 ID:TKlWY1gN0]
ディスプレイだけをスリープさせるスクリプトを作りたいんですけど
コマンドはsleepじゃなく何を指定すれば良いんでしょうか?



390 名前:名称未設定 mailto:sage [2006/01/27(金) 17:44:00 ID:wUqVcCn70]
ほす

391 名前:名称未設定 mailto:sage [2006/01/28(土) 01:01:07 ID:N11DYMSC0]
--ディスプレイスリープまでの時間を1分に変更。最後に設定を元に戻す。
set curDRW to paragraph 1 of (do shell script "pmset -g ps")

tell application "Finder"
set plistFile to file "com.apple.PowerManagement.plist" of folder "SystemConfiguration" of folder "Preferences" of (path to library folder)
set plistFile to plistFile as string
end tell

tell application "System Events"
if curDRW ends with "AC Power'" then
set displaySleepTimer to (|Display Sleep Timer| of |AC Power| of ((value of property list item "Custom Profile" of property list file plistFile) as record)) as integer
--↑ここをdefauts readで取得する方法はないですか?
set curOpt to "c"
doPMSet(displaySleepTimer, curOpt) of me
else if curDRW ends with "Battery Power'" then
set displaySleepTimer to (|Display Sleep Timer| of |Battery Power| of ((value of property list item "Custom Profile" of property list file plistFile) as record)) as integer
set curOpt to "b"
doPMSet(displaySleepTimer, curOpt) of me
else
return
end if
end tell

on doPMSet(theTime, theOption)
do shell script "sudo pmset -" & theOption & " displaysleep 1" user name (do shell script "whoami") password "[管理者パスワード]" with administrator privileges
delay 63 --1分3秒待って元の設定に戻す。
do shell script "sudo pmset -" & theOption & " displaysleep " & theTime user name (do shell script "whoami") password "[管理者パスワード]" with administrator privileges
end doPMSet

392 名前:名称未設定 [2006/01/28(土) 01:47:09 ID:3zLRfCJY0]
愚痴っていいか。
on idle
try
tell application "Finder"
set current view of window 1 to column view
end tell
end try
return 1
end idle

こういうon idle系を起動してると、アクティビティモニタが使えなくなるのは
いつになったら直るんだ?

393 名前:名称未設定 mailto:sage [2006/01/28(土) 01:52:33 ID:HreHKEFt0]
現象をアポーで再現でき、直す必要性を認め、うん、これは直せる、じゃ直そうか、
って思ったすみれの花咲く頃。

394 名前:名称未設定 mailto:sage [2006/01/28(土) 02:00:20 ID:uR9J3ylYP]
>>392
使えなくなるってどうなるの?
試した所特に不具合無さそうだったけど
10.4.4です

395 名前:名称未設定 mailto:sage [2006/01/28(土) 02:06:02 ID:3zLRfCJY0]
>>394
アクティビティモニタのスレッドとかプロセスとかの表示がカラッポになる。
で、そのスクリプトを終了させると即復帰する。

バックグラウンドで回しておきたいようなスクリプトを起動しておいたまま
アクティビティモニタを見ることが出来ないだろう…。


396 名前:名称未設定 mailto:sage [2006/01/28(土) 02:20:54 ID:uR9J3ylYP]
>>395
そうなんだ。
自分の所では表示されてるけどなあ。
見てるとこ違うのかな

397 名前:名称未設定 mailto:sage [2006/01/28(土) 02:42:34 ID:t4WWGycP0]
>>391
pmset -g disk | grep displaysleep
とかではだめなん?

398 名前:名称未設定 [2006/01/28(土) 03:01:22 ID:dp7HxEy90]
>>378
これ、どなたか作って頂けませんか?

399 名前:名称未設定 mailto:sage [2006/01/28(土) 03:05:57 ID:I1865rAg0]
>398
マルチの人こんばんは。



400 名前:名称未設定 mailto:sage [2006/01/28(土) 03:32:04 ID:dp7HxEy90]
>>399
こんばんは。
まだ時効になりませんか?

401 名前:名称未設定 mailto:sage [2006/01/28(土) 04:11:27 ID:I1865rAg0]
現在進行形で過ちを続けているので時効になるわけないです。

402 名前:名称未設定 mailto:sage [2006/01/28(土) 05:32:36 ID:0+xYAEUU0]
マルチはいかんが、取り組み方も軟弱でいかんと思うなぁ。

せっかくスクリプトを例示してくれたんだから、
> アプリケーション実行専用で保存しようとしたら構文エラーと出ました。
で終わらんでコンパイルか実行してどこでエラーになるか見れよ。

が、ボタンを押すタイミングとかは微妙な加減が要るようで、構文エラー
無くても、100%成功させることもなかなか難しいようだのぉ。

ってことでこれも試せ。
ttp://discussions.apple.com/thread.jspa?messageID=1030720

403 名前:名称未設定 mailto:sage [2006/01/28(土) 09:08:39 ID:N11DYMSC0]
>>397
十分です! ありがとうございましたヽ( ゚∀゚)ノ

404 名前:378 mailto:sage [2006/01/28(土) 14:29:45 ID:TccBkraR0]
>>402
うぉ〜!
これですよ。
パスを書き換えたら望み通りのことができました。
本当にありがとうございます。

405 名前:名称未設定 mailto:sage [2006/01/28(土) 15:49:59 ID:FAt1n2AE0]
>>391

do shell script ("pmset dim 1") password "your_password" ¬
with administrator privileges
delay 90
do shell script ("pmset dim 30") password "your_password" ¬
with administrator privileges

これだけで出来るっぽいけど

406 名前:名称未設定 mailto:sage [2006/01/28(土) 20:41:27 ID:N11DYMSC0]
>>405
30に設定している環境では30に、
60に設定している環境では60に戻るという感じで、
スクリプトを他人のMacに持って行っても書き換えずに実行できるというのが主旨です。

ちなみに無停電電源は使ったことないので省いてしまいました;;

407 名前:名称未設定 mailto:sage [2006/01/28(土) 22:34:05 ID:N11DYMSC0]
あ、sudoはいらないとか、pmset dimでいけるという話なら確かにそうみたいですね。
適当にmanしながら書いたので実は良くわかってないですが、
電源アダプタとバッテリが同じ値にセットされてしまうのは場合によっては困るかも。。。

408 名前:名称未設定 mailto:sage [2006/01/29(日) 10:55:54 ID:3PF5mVA40]
>>351
>フォルダの中の変更日より一ヶ月以上経過しているファイルを削除する

再帰的探索を使わないスマートなやり方

-- 対象フォルダ
set f to choose folder
--30日前の日付を取得
set d to (current date) - (60 * 60 * 24 * 30)

tell application "Finder"
move (document files of entire contents of f whose modification date < d) to trash
end tell

----------
entire contents でフォルダ内の全ファイルを対象にし、
whose + 範囲限定を使うのがミソ
document files で書類ファイルに限定している


409 名前:名称未設定 mailto:sage [2006/01/29(日) 21:42:52 ID:hdPv9rJL0]
最後に開いたアプリケーションのみ終了させるっていう
スクリプトってできる?アプリケーションの起動ログの
参照先がよく分からない…。



410 名前:名称未設定 mailto:sage [2006/01/29(日) 23:14:26 ID:4n5hZ+gS0]
>>408
bravo.
1ヶ月、というのはやはり簡略化出来ないものかな。

411 名前:名称未設定 mailto:sage [2006/01/30(月) 01:06:01 ID:8PJ2y+x6P]
>>409
適当に試した所ps -x -wで-psnってのがあるのが普通のアプリっぽいので
それの一番最後のを終了してみるようにしてみた。
古い順に並んでるようなのでソートしてないけど
もしかしたらソートした方がいいかもしれない。
というか根本的に間違ってるかもしれんけど。

編集途中のファイルがあってもいきなり終了。
do shell script "kill `ps -x -w | grep -e '[-]psn_0' | tail -n 1 | perl -ne '/^ *([0-9]+)/; print $1'` "

こっちは確認ダイアログ出る
set theName to do shell script "ps -x -w | grep -e '[-]psn_0' | tail -n 1 | perl -ne '/^ *([0-9]+).*\\/(.*) -psn/; print $2'"
tell application theName to quit

>>408
entire contentsにdocument files ofができるのか。参考になった。

412 名前:名称未設定 mailto:sage [2006/01/30(月) 02:20:46 ID:6JwJWVaq0]
全部 AppleScript で書くと

tell application "Finder"
set theName to name of last item of every process
end tell
tell application theName to quit

こんな感じになるが。
これだと loginwindow とか LAServer といった
終了したら困るものも終了してしまう問題があるかもしれない。

413 名前:名称未設定 mailto:sage [2006/01/30(月) 04:19:41 ID:nDz2XySJ0]
>>412
>every process

every application process whose background only is false

414 名前:名称未設定 mailto:sage [2006/01/30(月) 04:27:00 ID:nDz2XySJ0]
>>412,413
>tell application "Finder"

background only を使うためには
tell application "System Events"
としなければならない(元々 process は Finder ではなく System Events)



415 名前:名称未設定 mailto:sage [2006/01/30(月) 05:41:32 ID:6JwJWVaq0]
ほー、OS 9 以前と同じつもりで Finder を通して process を取得してたが
System Events を通すものなのか。
一度知識を整理し直さなきゃならんな。

416 名前:名称未設定 mailto:sage [2006/01/30(月) 20:04:31 ID:VRSq3cfM0]
>>410
ひと月は30*Daysでいいんじゃないかと。
それよりentire contentsが真っ当に機能するものかどうかが気になる。

417 名前:名称未設定 mailto:sage [2006/01/30(月) 20:58:24 ID:nDz2XySJ0]
>>416
>>362 をよく見たら days 使ってたね

確かに entire contents は項目数が多いと時間を食うし
(今やってみたら 3800 項目で7秒ぐらい :mac mini 1.4G
>>408 みたいに条件付き検索をするとタイムアウト)
一括動作なので、その間 Finder がビジーになる
OS9 時代は使うのに慎重にならざるを得なかった
(OSX では他のアプリは関係なく作業を続けられる)
それでも再帰ループよりは速いんじゃないかな

>>415
基本であり、既出だろうけど
スクリプトエディタ>ファイルメニュー>用語説明を開く…
普通のアプリ以外にも System Events や Standard Addition なんかの
機能も調べられる(テンプレに追加してもいいかも?)

418 名前:名称未設定 mailto:sage [2006/01/30(月) 21:06:13 ID:v6Zo2s0/0]
>確かに entire contents は項目数が多いと時間を食うし
いや、時間じゃなくて取りこぼしがないかどうかという所

419 名前:名称未設定 mailto:sage [2006/01/31(火) 05:51:12 ID:3yov4y/I0]
俺も取りこぼしが気になる。
再起ループだと項目数増えるとスタックオーバーフローって奴が起きて途中で止まったりしますよね?
entire contentsの場合それはどうでしたっけ?



420 名前:名称未設定 mailto:sage [2006/01/31(火) 07:06:15 ID:DIj+5T090]
>>418,419
うふふふ。

421 名前:名称未設定 mailto:sage [2006/01/31(火) 07:31:38 ID:3yov4y/I0]
何だその笑いw

422 名前:名称未設定 [2006/02/10(金) 00:21:06 ID:6N/iJd9M0]
OSXには優秀な日本語解析エンジンがあるみたいですが、
これを利用して漢字の読み仮名を作成する
スクリプトはできないでしょうか?
できれば半角カナで

423 名前:名称未設定 mailto:sage [2006/02/10(金) 00:22:26 ID:G38P+r2Q0]
> スクリプトはできないでしょうか?

知らん。お前が始めろ。

424 名前:名称未設定 mailto:sage [2006/02/10(金) 00:28:42 ID:30ig7knJ0]
Monzai使ったら?

425 名前:名称未設定 mailto:sage [2006/02/10(金) 00:41:55 ID:5sWBIyVZ0]
一応OS9にも日本語解析ライブラリが有りますです。
読み仮名作成できます。
OSAXから利用してます。。

426 名前:名称未設定 mailto:sage [2006/02/10(金) 00:47:27 ID:5sWBIyVZ0]
すみません、間違えました。
日本語解析ライブラリじゃなくて言語解析マネージャで
OSAXじゃなくてJLAAというアプリからでした。

427 名前:名称未設定 mailto:sage [2006/02/10(金) 00:59:25 ID:6N/iJd9M0]
ありがとうございます。
monzaiのページを見たら、
アップルサイトに日本語解析の文書があるとのことでした。
英文は見つけたんですが訳文がわからなかったので、
明日探してみます。
ちらっと見たところきっとCarbonLibを叩くんですね・・・

JLAAはOSXでは使えないと思います。
最初に書いてなくてすいません。

428 名前:名称未設定 [2006/02/10(金) 23:39:06 ID:lDjwly0i0]
スクリプトをファンクションに割り当てるのってiKey使わないと無理っすか?

スクリプトメニューに入れたスクリプトを環境設定>キーボードの
キーボードショートカットに登録したんですが、
メニューの該当項目の横に「F12」と表示されるものの実行はされませんでした。

ねがわくばiKey無しで実現したいのです。

429 名前:名称未設定 mailto:sage [2006/02/11(土) 01:20:28 ID:QGd0uZra0]
内蔵HDDの他にiPodのHDDからTigerをブートして
サブっぽく使ってる人向けのスクリプトを作ろうかと思ってる。
要は俺様専用。
 
カレンダー、メール、アドレスブック、ホーム以下を
自動的にそれら2つのHDDで同期する。できたら書き込みまっす。



430 名前:名称未設定 mailto:sage [2006/02/11(土) 02:13:40 ID:wsvZUOgm0]
皮さk(略

431 名前:名称未設定 mailto:sage [2006/02/11(土) 09:05:48 ID:6H7aCRBl0]
>>428
スクリプトメニューの項目は環境設定のキーボードからは設定できないはず。
間違ってたらすまん。

iKeyの何が気に喰わないか知らないが、シェアウェアでやだってんなら
以下で他のソフトを探すがよろし。
www.geocities.jp/akamayu2/Pages/mouse.html#keyassign


432 名前:名称未設定 mailto:sage [2006/02/11(土) 23:56:56 ID:gxJVDgO00]
ディスプレイの解像度を変更するアップルスクリプトを書きたいのですが、
どなたかサンプルをいただけませんでしょうか...

CPU切替器を使ってると、起動時やスリープ回復時にディスプレイの自動検出に失敗して
低い解像度にされちゃうことが多いんで、起動項目等に入れて使おうかと...

433 名前:名称未設定 mailto:sage [2006/02/12(日) 07:58:18 ID:dAJt2MHR0]
OSのバージョンによって書き方も大分変わると思うが。

最近、自分の環境も書かないバカが多いな。

434 名前:432 mailto:sage [2006/02/12(日) 09:28:23 ID:bQqbNy4v0]
あ、すみません。Tiger(10.4.4)です。

435 名前:名称未設定 mailto:sage [2006/02/12(日) 10:46:11 ID:z8zSvmQp0]
たとえばこんなん? AppleScriptユーティリティでGUIスクリプティングを使用可能
にしとく。""の中は日本語環境だと書き換え必要と思う。そこは探ってくり。

tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
tell process "System Preferences"
tell tab group 1 of window 1
click radio button "Display"
tell table 1 of scroll area 1 of group 1
select row 9 -- modify this value
end tell
end tell
end tell
end tell
tell application "System Preferences" to quit

動いたけど遅いw そもそも「ディスプレイの自動検出に失敗して」る状況で使えるか
どうかわからん。それ用のユーティリティが無いか探した方が良いような気もする。

436 名前:428 mailto:sage [2006/02/12(日) 17:40:55 ID:u1L72euF0]
>>431
iKeyが嫌っていうか、何も追加せずに実現したかったんですよ。
でも無理っぽいので何か入れてやってみます、ありがとう。

437 名前:名称未設定 mailto:sage [2006/02/12(日) 21:23:42 ID:+7Mr4Ylr0]
Xkeysは?

438 名前:名称未設定 mailto:sage [2006/02/12(日) 23:21:05 ID:+ROr5YAr0]
>>435
"Display"を"ディスプレイ"に書き換えれば動作した。(MacOS 10.3.9 日本語環境)
2, 3秒画面が水色のまま何も表示されないから、ちょっとビビった。
切り替えつつ、システム環境設定.appを終了させてるからちょっと時間がかかったのかもね。

>>432
AppleScriptで解像度の切り替えを行なう命令は無い。
よって解像度の切り替えは>>435の方法しかない…かも?
Unixコマンドの方で出来るのかもしれないが調べ方がわからず…
>>435の方法はディスプレイの自動検出に失敗していても、
毎回固定の解像度に切り替えるならば、select row 9の値を自分の環境に沿ったものに
変えればいいはず。

長くなったので現在の解像度の取得方法は次に書き込む。

439 名前:名称未設定 mailto:sage [2006/02/12(日) 23:36:25 ID:RTESDnylP]
「メニューバーにディスプレイを表示する」でメニュー表示させて
そのメニューを選択させることができるなら
環境設定を起動させなくてもいいので処理が早そうだけど
スクリプトがよくわからん



440 名前:名称未設定 mailto:sage [2006/02/12(日) 23:38:17 ID:+ROr5YAr0]
>>432
現在の解像度を取得するには以下の方法があるようだ。
なお、AppleScriptの特定の命令として大きさを取得する方法はない。

(1) Finderより取得(10.4のみ動作可能)
tell application "Finder" to bounds of the window of the desktop
命令的には、Finderの背景としてあるデスクトップをウインドウとして見て、
そのウインドウの大きさを取得しているらしい。
返り値はFinderと同じ意味の数値のリストらしく、1024x768なら、{0,0,1024,768}となる。
たぶん、432にとっては一番簡単な方法。

(2) サードバーティ製OSAXを使用(未確認)
Jon's CommandのOSAXの中に、ディスプレイの解像度を取得できる方法があるようだ。

(3) 設定ファイルをUnixコマンドで読み出し
do shell script "defaults read com.apple.windowserver"で設定ファイルを読める。
多分、使うのはディスプレイの高さ(Height)、と幅(Width)だけのはず。
高さ(Height)だけが必要なら末尾に追加すればよい。
do shell script "defaults read com.apple.windowserver Height"のように。
文字列内は全角/半角はもちろん、大文字/小文字も別の文字として認識するので注意。
heightと記述して取得できないなー、なんて悩んでしまった…

441 名前:名称未設定 mailto:sage [2006/02/12(日) 23:50:00 ID:+ROr5YAr0]
>>439
GUIスクリプティングでは、メニューバーの右上に並ぶメニューたちの取得/選択はできない…はず。
だからScript Menuとか言語設定のメニューも取得できない。

取得/選択できるメニューは
システムのライブラリ/Scripts/UI Elements Scripts の Probe Menu Bar.applescriptで
取得できる範囲内…と記憶している。
間違ってたらスマソ

442 名前:名称未設定 mailto:sage [2006/02/12(日) 23:56:29 ID:heFc7FZw0]
ColorSync Scriptingの辞書の中に
Displayってコマンドがあるんだけど、これは色関係だけなのでしょうか?

443 名前:名称未設定 mailto:sage [2006/02/13(月) 02:16:38 ID:AP/mpTR50]
>>442
ColorSyncっていうのは画面(モニター)に表示する色を制御する機能。
解像度の変更は出来ない。
その中にあるdisplaysっていうのはコマンドではなくクラス。
このクラスの役割はマルチモニターへの対応。
複数のモニターがある場合に、どのモニターに対して命令を実行させるかを
指定するために存在する。

444 名前:名称未設定 mailto:sage [2006/02/13(月) 12:10:10 ID:BiRSqiY70]
>>441
>GUIスクリプティングでは、メニューバーの右上に並ぶメニューたちの取得/選択はできない…はず。
できなくはない。ただ、どれがどのメニューなのか、ほとんどは表示させないと特定は難しい。
以下、ログインウインドウを選択するスクリプト。

tell application "System Events"
tell process "SystemUIServer"
tell first menu bar
set menuExtraList to every menu bar item
repeat with aExtra in menuExtraList
try
tell aExtra
click
try
tell front menu
tell menu item "ログインウインドウ..." to click
return 0
end tell
on error
click
end try
end tell
end try
end repeat
end tell
end tell
beep
end tell

445 名前:名称未設定 mailto:sage [2006/02/13(月) 17:10:30 ID:UJzd7h+Z0]
>>444
わはは、このスクリプト派手だねえ。日本語とU.S.のスクリプト切り替えにも
使えて便利だ。ありがとう。

446 名前:432 mailto:sage [2006/02/13(月) 23:03:17 ID:z0sUqxOW0]
>435さん、>438さん、他みなさん、ありがとうございます。
解像度を直接変更することはできないのですね。
システム環境設定を開いて変更するスクリプトを参考にさせていただきます。

アップルスクリプト、深いですねぇ。これを機にもうちょっと勉強してみよう。
Automatorでは出来ないこと(アクションが提供されてないこと)が多すぎて…

447 名前:名称未設定 mailto:sage [2006/02/13(月) 23:47:46 ID:OYguLR+F0]
旧OSの時は直接設定をAppleScriptでいじれるコンパネもあったよね。
Mac OS Xでできなくなってるのは
セキュリティ上の配慮か、技術的困難か、それとも単に担当者の怠慢か…。

448 名前:名称未設定 mailto:sage [2006/02/14(火) 02:43:42 ID:V/LcuuOo0]
ウソ情報を出してしまった441です。
>>444のを試してみたのだが…4番目のevery menu bar itemでエラーに。
バックグラウンドのアプリケーションのメニューを引っ張り出すっていう方法は
すごく参考になったけども、SystemUIServerでevery menu bar の取得が出来てない模様。
(Prove Menu Bar.applescriptのtell processに、"SystemUIServer"を指定して確認)
これ、OSのバージョンの問題かな。10.3.9だからダメなのかも。
>>444が動いた方、環境をぜひ教えて下さいな。

449 名前:名称未設定 mailto:sage [2006/02/14(火) 13:38:24 ID:K2APEHKu0]
>>448
10.4.4です。動きました。
「ログインウインドウ...」というメニュー項目を含むメニューが無いので
メニューが順番に出て引っ込んだだけですが。

>>444
すごいですね。何でこんな事を思いつく(わかる)んでしょう?

入力メニューだとうまく項目をクリックできないですね。
名前を指定してもmenu item 3とかやっても失敗します。



450 名前:名称未設定 mailto:sage [2006/02/15(水) 01:10:59 ID:ucuKyfp70]
445です。
OS X 10.4.4、日本語環境で、メニューバー右には
Vidi, QuicKeys, SMARTReporter, XWinder, 音量, ディスプレイ, AppleScript, スクリプト, 時計と
てんこ盛り状態で、444の "ログインウインドウ..." を
"U.S." や "ひらがな" (ことえりでなくEGBridgeを使用している) に書き換えても
正しく動作しました。 QuicKeysより高速でいい感じです。

451 名前:名称未設定 mailto:sage [2006/02/15(水) 13:26:30 ID:LHR9rGA60]
ことえりのメニューは不完全なメニューを出す時もあるみたいだから、>>444
tell menu item "ログインウインドウ..." to click
の部分を

tell menu item "ひらがな" to select
keystroke return

としたほうが上手く行くかもしれん

452 名前:名称未設定 mailto:sage [2006/02/15(水) 14:07:30 ID:gOaZhZrr0]
うちはことえりとEGBのメニューが混在していて同名のメニュー項目が2つずつあるので、
そのせいでうまく行かないのかと思いましたが、
clickからselect→returnに変えたらうまく動きました。

453 名前:名称未設定 mailto:sage [2006/02/15(水) 22:59:32 ID:z5d5y93s0]
10.4.4だけど動かないなぁ、4行目でエラーがでるよ

454 名前:名称未設定 mailto:sage [2006/02/15(水) 23:03:03 ID:XJL91JyBP]
>>453
/Applications/AppleScript/AppleScript Utility.app
の「GUIスクリプティングを使用可能にする」

455 名前:名称未設定 mailto:sage [2006/02/15(水) 23:33:56 ID:z5d5y93s0]
>>454
動いた!
ありがとう

456 名前:名称未設定 mailto:sage [2006/02/16(木) 02:22:10 ID:u2d09KI70]
通はtryとon errorをコメントアウト。

457 名前:名称未設定 mailto:sage [2006/02/17(金) 02:35:02 ID:ZSXEyEy/0]
そして end try でコンパイルエラーを出して楽しむのですね

458 名前:名称未設定 mailto:sage [2006/02/17(金) 03:24:06 ID:V1PgdEBE0]
on error の後ろにメッセージだけでなく、
number, from, partial result, to
の引数全部入れるのが本当の通

459 名前:名称未設定 mailto:sage [2006/02/17(金) 04:07:00 ID:5gh9ifQv0]
beepを鳴らしてみたり



460 名前:名称未設定 mailto:sage [2006/02/17(金) 08:07:29 ID:RE26brNA0]
>458
そんなに色々あったんだ。
番号とメッセージ?しか使った事ないや。

エラーで分岐処理やったりしてたけど、
最近は自分用ばかりだしエラー構文も使わなくなったなぁ。
人に配るにしても、こんなエラーが出たってフィードバックがあったほうが
訂正しやすいし。

461 名前:名称未設定 mailto:sage [2006/02/17(金) 23:05:43 ID:X2fSA1sJ0]
フィードバックじゃなくて定常状態でエラー出るのを前提にして条件分岐とか
errorってわざと書いて別の処理に逝くとか

462 名前:名称未設定 mailto:sage [2006/02/18(土) 04:53:26 ID:X9pCtJQW0]
いま邪道コードを見た気がする

463 名前:名称未設定 mailto:sage [2006/02/18(土) 06:16:37 ID:4qGGfchf0]
半角数字を入力すべきところ(その後入力値で計算する)を全角数字で入力してしまった場合、
エラーとしてreturnしちゃうのは楽だけど、全角を半角に変換してやるにはどうすればいいでしょうか。
OSAXは使わない方向で。

464 名前:名称未設定 mailto:sage [2006/02/18(土) 12:55:11 ID:r80BLSwm0]
>>463
1文字ずつ取り出して、"1"なら"1"に、それ以外なら……
って置換スクリプトを書けばいいと思う。

465 名前:名称未設定 mailto:sage [2006/02/18(土) 15:36:00 ID:LNthAmam0]
>>464 (`・ω・´)こんな感じでしょうか

set a to text returned of (display dialog "半角数字でも全角数字でも" default answer "")
set b to ""
repeat with x in (text items of a)
if x contains "0" or x contains 0 then set b to b & "0"
if x contains "1" or x contains 1 then set b to b & "1"
if x contains "2" or x contains 2 then set b to b & "2"
if x contains "3" or x contains 3 then set b to b & "3"
if x contains "4" or x contains 4 then set b to b & "4"
if x contains "5" or x contains 5 then set b to b & "5"
if x contains "6" or x contains 6 then set b to b & "6"
if x contains "7" or x contains 7 then set b to b & "7"
if x contains "8" or x contains 8 then set b to b & "8"
if x contains "9" or x contains 9 then set b to b & "9"
if x contains "−" or x contains "-" then set b to b & "-"
if x contains "." or x contains "." then set b to b & "."
end repeat
set a to b as number

466 名前:名称未設定 mailto:sage [2006/02/19(日) 00:45:30 ID:xJYiDBpH0]
スクリーンショットを撮影して(OSはTigerなので標準仕様のpngで)、
撮影した年月日・時分秒をファイル名としてデスクトップ上に保存する
アップルスクリプトが作りたいのですが、
スクリーンショットを撮影するにはどうすれば良いのでしょうか?
よろしくお願いします。

467 名前:名称未設定 mailto:sage [2006/02/19(日) 02:26:00 ID:diVeUdL70]
>>466
do shell script "screencapture ~/Desktop/FileName.png"

468 名前:名称未設定 mailto:sage [2006/02/19(日) 07:09:09 ID:tsN5mmmY0]
やることがそこまで特定されてんなら、Automator使うのもオモロイかも。
4アクション。スクショ撮って固定名でセーブ、ファイル名に年月日付ける、ファイル名に時分秒
付ける、ファイル名中の固定名を空文字で置換。

実行はあまり早くない、年月日時分秒の区切り文字の自由度は少ない、ものの。

469 名前:名称未設定 mailto:sage [2006/02/19(日) 09:22:19 ID:j+1LtdJh0]
do shell script "date +%Y年%m月%d日%H時%M分%S秒"
とすれば"2006年02月19日09時22分08秒"となる。

do shell script "date +%Y-%m-%d-%H-%M-%S"
とすれば"2006-02-19-09-22-08"となる。

do shell script "date +%Y%m%d%H%M%S"
とすれば"20060219092208"となる。

ちと遅いけど



470 名前:466 mailto:sage [2006/02/19(日) 22:26:11 ID:JSAStN6C0]
467-469
ありがとうございました。やってみます。

471 名前:名称未設定 mailto:sage [2006/02/20(月) 02:09:53 ID:mZbGFRZU0]
>>469
おおー、今までcurrent dateでシコシコやってました。

472 名前:名称未設定 [2006/02/22(水) 04:00:13 ID:wxF0U00q0]
ファストユーザースイッチを自動で切り替えてかつ、切り替え時に
safariを常時あげてくれるスクリプトをがんばって書いてます。
set h to do shell script "whoami"
set newUser to "hogehoge1"
set userName to "hogehoge"
set newUser to do shell script "id -u " & userName
do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID " & newUser
do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend"

と切り替えだけはうまくいったのですが、、safariをあげれません。。。
ファストユーザースイッチの切り替え時の命令ご存知の方、ぜひご享受ください。

473 名前:名称未設定 mailto:sage [2006/02/22(水) 04:11:20 ID:j9ltAiFB0]
あげる?
起動なら tell application "Safari" to open じゃないの?

474 名前:名称未設定 mailto:sage [2006/02/22(水) 04:24:37 ID:buQcnmj80]
切り替え先のアカウントでtellしなきゃいけないってことか

475 名前:名称未設定 mailto:sage [2006/02/22(水) 04:28:43 ID:buQcnmj80]
suspendする前にリモートAppleEventを投げたりできんかね

476 名前:472 [2006/02/22(水) 04:38:47 ID:wxF0U00q0]
そうなんです。
切り替え先のアカウントでtellなんです。そこで詰まってしまって。


477 名前:名称未設定 mailto:sage [2006/02/22(水) 04:42:06 ID:buQcnmj80]
tell application "Safari" of machine "eppc://hogehoge1:password@127.0.0.1" to activate

みたいな感じで

478 名前:名称未設定 mailto:sage [2006/02/22(水) 06:20:15 ID:4hwyyJ4I0]
出だし、do shell script ばっかだな。もうちっと何とかならんのか。

479 名前:名称未設定 mailto:sage [2006/02/23(木) 01:39:27 ID:RJdFHiQm0]
>>478
OSX の UNIX 機能がいかに強力かが反映されているな
Python とか Perl からアプリの AppleScript 機能を呼び出せれば
AppleScript 要らんかも



480 名前:名称未設定 mailto:sage [2006/02/23(木) 02:45:40 ID:yvYsetLc0]
XでなくともPerlは使えたような…
以前のOSAXが殆ど使えなくなったのがつらい

481 名前:名称未設定 mailto:sage [2006/02/23(木) 03:59:54 ID:fZ2CrIjW0]
旧OSではPerlからAppleEvent呼び出したりもしてたよ。

482 名前:名称未設定 mailto:sage [2006/02/23(木) 05:11:57 ID:O2Gg2/kT0]
関係ないが、PerlでもCocoa使えるらしい。

483 名前:名称未設定 mailto:sage [2006/02/23(木) 08:53:38 ID:fZ2CrIjW0]
ほんとに関係ないな。キャメル何とかってやつだな。

484 名前:名称未設定 mailto:sage [2006/02/23(木) 09:35:10 ID:fZ2CrIjW0]
以前のOSAXが使えなくて不便というのは自分は感じてないな。
その程度しかOSAX使ってなかったんだな。
標準の機能としてコンパネ周りとか触れるようになってないのが不満だが、
具体的に自分がそっち方面をいじりたいわけでもないので
OSAX等の有無も探してないなあ。
昔と違って自分で英語のサイト読んで探さないといけないのもたいへんだしw
何か面白いOSAXとかある?

485 名前:名称未設定 mailto:sage [2006/02/23(木) 15:04:12 ID:KY+u0ap+0]
>>479
> Python とか Perl からアプリの AppleScript 機能を呼び出せれば
> AppleScript 要らんかも

MacPythonはアプリのAppleScript機能抜き出して Pythonモジュール作るユーティリティがある。

486 名前:名称未設定 mailto:sage [2006/02/23(木) 15:11:54 ID:fZ2CrIjW0]
じゃあPythonメインで記述したい人はそれで済ます事もできるわけだ。
Pythonスレ前あったのにね。

487 名前:名称未設定 mailto:sage [2006/02/23(木) 21:29:05 ID:u24GkA3h0]
アプリが対応しているのはAppleEventね。AppleScriptはそれを便利に使うためのOSA
コンポーネント、他にもOSAコンポーネントはあるし、汎用のスクリプト言語から
AppleEventやOSA経由でアプリ操作もできる。
AppleScript経由すると遅いし、細かい操作ができないから、CでごりごりAppleEvent
処理を書くのもあり。
アプリ側はどんな出自で命令が来てるかは関知しない、従うのみ。

488 名前:名称未設定 mailto:sage [2006/02/23(木) 21:37:55 ID:BpkiLyYn0]
アップルもちょっと本気出して改良してくれれば、まだまだ速くなると思うんだけど。
まあ、OS7や8の時代よりははるかに速くなってるけどさ。
それより先にバグをどうにかしてほしいもんだ。

489 名前:名称未設定 mailto:sage [2006/02/23(木) 22:38:57 ID:fZ2CrIjW0]
速くなったのはハードの進化に負う所が大きいんじゃないの?



490 名前:名称未設定 mailto:sage [2006/02/23(木) 22:41:03 ID:xM52zmjZ0]
OSAX使うと割と速かったんだが

491 名前:名称未設定 mailto:sage [2006/02/23(木) 23:21:29 ID:EtcHexJu0]
お前アホだろ。引っ込んどけ。>>489

492 名前:名称未設定 [2006/02/27(月) 04:24:07 ID:9rX6wI5B0]
質問です。

JeditXで
1:最前面に開いているファイルをPDFで保存し、
2;開いているファイルを保存せずに閉じる
というapplescriptを書きたいのですが、
PDFで保存するという部分が、全くわかりません。

参考書やWEBなどありましたら、教えてもらえないでしょうか?

493 名前:名称未設定 mailto:sage [2006/02/27(月) 07:11:00 ID:wSgUFb5N0]
>>492
10.3以降ならGUIスクリプティングで、
メニューから ファイル → プリント → PDF →
プリントウインドウから PDFで保存... → ファイル保存先を指定
と操作していいんじゃないかな。試してないけど。

GUIスクリプティングについては以下で勉強してみて
allabout.co.jp/computer/macos/closeup/CU20031220asc/index.htm

っていうか自分の環境を書いとくれ。
そして出来たらここで発表してね。

494 名前:名称未設定 mailto:sage [2006/03/02(木) 18:40:30 ID:cQY9xPah0]
保守ついでに、iTunesの今の曲を言うスクリプト

tell application "iTunes"
tell current track
say (artist as string) & ". " & (name as string)
end tell
end tell


495 名前:名称未設定 mailto:sage [2006/03/02(木) 21:59:10 ID:TGF6yUme0]
>>494
オモロw

496 名前:名称未設定 mailto:sage [2006/03/02(木) 23:40:04 ID:otGuOedM0]
>>494

いいな、これ。

数百曲のライブラリをシャッフルで聞いて、「これ、なんて曲だっけ?」
って時にいいな。

497 名前:名称未設定 mailto:sage [2006/03/03(金) 14:37:26 ID:g6r9o+/30]
property temp : ""
on idle
tell application "iTunes"
tell current track
set newtemp to (artist as string) & ". " & (name as string)
set tempgenre to genre
end tell
end tell
if newtemp is not equal to temp then
if tempgenre is in {"Drum & Bass", "Drum'n'Bass", "Electronic", "Electronica/Dance", "House"} then
set tempvoice to "Zarvox"
else
set tempvoice to "Vicki"
end if
tell application "iTunes"
repeat with i from 0 to 8
set sound volume to sound volume - i
delay 0.1
end repeat
end tell
say newtemp using tempvoice
set temp to newtemp
tell application "iTunes"
repeat with i from 0 to 8
set sound volume to sound volume + i
delay 0.1
end repeat
end tell
end if
return 4
end idle


498 名前:名称未設定 mailto:sage [2006/03/03(金) 14:38:02 ID:g6r9o+/30]
自動化してみた。これ、イイね!
アプリケーションかつ「実行後、自動的に終了しない」で保存して常駐させて使用。
日本人アーチストはそれっぽく読むように辞書作って置換した方がいいかもね。

499 名前:名称未設定 mailto:sage [2006/03/03(金) 14:48:07 ID:mGtieIKz0]
日本語はMonzaiに投げればいいんじゃまいか



500 名前:名称未設定 mailto:sage [2006/03/03(金) 14:51:30 ID:y49usNvf0]
おおお、これは(・∀・)イイ!!

501 名前:名称未設定 mailto:sage [2006/03/03(金) 21:48:45 ID:ThJrlXxD0]
DJ!

DJ!

502 名前:名称未設定 mailto:sage [2006/03/04(土) 14:06:00 ID:9sIA5nrY0]
DVコーデックの動画(iMovieキャプチャ等)を対象として、
QuickTime Player (Proのみ?)での 「高品質で再生する*」のチェックをオンにする手作業を自動化。
(* ムービー>ムービーのプロパティを表示>ビデオトラック>品質 内)
今日知ったけど HiQualという無料ツールが説明を見る限りほぼ同等。
==============
(規制に掛かったので中心部だけ抜粋)

if ((creator type) of obj is "TVOD") or ((file type) of obj is "dvc!" or "MooV") tell application "QuickTime Player"
activate
set high quality of track "ビデオ トラック" of movie 1 of window 1 to true
end tell
end if

==============
同様に ビデオの表示サイズを指定の値に変更するツールを作りたいんだけど、分かりますか?

503 名前:名称未設定 mailto:sage [2006/03/04(土) 14:14:00 ID:pY0HN1iy0]
tell application "QuickTime Player"
tell movie 1
set dimensions to {640, 480}
set high quality of tracks to true
set deinterlace fields of tracks to true
end tell
end tell

504 名前:名称未設定 mailto:sage [2006/03/04(土) 17:32:00 ID:wbbI4VYk0]
>>498
曲名喋る前に、
海外の適当なニュースサイトからニュース拾って読ませれば
気分はまさにラジオかも?

505 名前:名称未設定 mailto:sage [2006/03/04(土) 17:58:51 ID:Y9xP+zoL0]
んでガレージバンドで適当にジングルつくって ウハー

506 名前:名称未設定 mailto:sage [2006/03/05(日) 01:27:20 ID:ih3AUTQZ0]
MP3プレーヤーで、ジングルっぽいのがテキトーに流れるやつあったよね。
AroFMだっけ?

507 名前:名称未設定 mailto:sage [2006/03/06(月) 20:43:55 ID:JsCmhfgf0]
>>503ありがとう
ちなみに 高品質 と インターレース解除 を併せると
少なくともDVコーデックでは両オフと変わらない気が

508 名前:名称未設定 [2006/03/08(水) 09:41:12 ID:EKdUeFVh0]
ScriptDebugger4.0.1出てます。
4.0はMacRoman固定で処理してて全く使い物にならなかったけど、4.0.1はとりあえず
使えそう。エディタビューでダブルクリック選択できない等おかしい所はあるけど実
用上の障害にはならない。

509 名前:名称未設定 mailto:sage [2006/03/08(水) 15:12:02 ID:I3Fc2vZJ0]
>>508
超ナイス報告。僕も4.0飛び付いてorzになってた。



510 名前:名称未設定 mailto:sage [2006/03/08(水) 15:19:17 ID:QReHewhu0]
あれを使うような本格的なスクリプターさんがけっこう居るって事なのね。
なんかうれしいなあ。

511 名前:名称未設定 mailto:sage [2006/03/12(日) 00:25:04 ID:OccANb5A0]
アップルスクリプトを使って現在のIPを確認することはできますか?
synergyを自動化したいんですが。

512 名前:名称未設定 mailto:sage [2006/03/12(日) 00:33:40 ID:3wyxLHmp0]
アクセスするとグローバルIPを表示するようなページがあるから、
そこからデータを引っ張ってくるといいのでは。
そういう仕組みのAppleScript Studio使ったソフトがありましたよ。

513 名前:名称未設定 mailto:sage [2006/03/12(日) 00:36:06 ID:1XTp/Alt0]
少なくとも Tiger には
Standard Addition に system info 命令があって
そこから IPv4 address が取れる。

514 名前:名称未設定 mailto:sage [2006/03/12(日) 00:40:44 ID:3wyxLHmp0]
>>511
Synergyについて検索しましたが、ひょっとしてあなたのやりたい事は、
「Mac miniでリビングPC」というサイトさん(ブログ)の
2005年3月12日の記事に書いてあるやり方でできるのではないですか?

515 名前:名称未設定 mailto:sage [2006/03/12(日) 00:55:19 ID:DZhqdrTy0]
IPはshellでifconfig -aでもわかるが、ルーターをかましてるとそうはいかんよね。

516 名前:名称未設定 mailto:sage [2006/03/12(日) 02:23:15 ID:kFrM9jfk0]
do shell script "curl 'taruo.net/e/?'|grep 'host='"

517 名前:名称未設定 mailto:sage [2006/03/12(日) 02:32:54 ID:kFrM9jfk0]
つーか、つまらんことで{"悩むな","悩ませるな"}

518 名前:名称未設定 mailto:sage [2006/03/12(日) 02:55:46 ID:3wyxLHmp0]
ttp://checkip.dyndns.org/だともっとシンプル。

519 名前:名称未設定 mailto:sage [2006/03/12(日) 03:40:22 ID:DZhqdrTy0]
ふと思い立って、以前作ったプロジェクトを
新しいxcodeでユニバーサルとして再度ビルドしてみたけど、エラー出まくり。
新規に作ると大丈夫だけど、めんどくさい。つーか作り方忘れた(><)



520 名前:名称未設定 mailto:sage [2006/03/12(日) 04:13:03 ID:kFrM9jfk0]
つーわけで
do shell script "curl 'checkip.dyndns.org/'|sed 's/.*\\ \\([0-9]*\\.[0-9]*\\.[0-9]*\\.[0-9]*\\).*/\\1/'"

521 名前:名称未設定 mailto:sage [2006/03/12(日) 04:18:41 ID:kFrM9jfk0]
全然simpleちゃうやん (自爆する気?!

522 名前:名称未設定 [2006/03/12(日) 13:22:15 ID:qCb0Q/rU0]
>>511
do shell script "/path/to/synergys -n $(hostname -s) --config /path/to/synergy.conf"

523 名前:名称未設定 mailto:sage [2006/03/12(日) 17:24:57 ID:i8bxLq/g0]
>>521
do shell script "curl 'checkip.dyndns.org/' | tr -Cd '[0-9].'"

524 名前:名称未設定 mailto:sage [2006/03/12(日) 20:49:41 ID:sqFVuOGg0]
Safariでやってみた
tell application "Safari"
make new document with properties {URL:"checkip.dyndns.org/"}
set theWin to id of window 1
delay 2--ロード待ち(手抜き)
set myIP to word 4 of text of document of window id theWin
close window id theWin
end tell



525 名前:(・∀・) mailto:sage [2006/03/13(月) 03:03:21 ID:MbExZ1Cf0]
よーわからんけど
ipconfig getifaddr en0

526 名前:名称未設定 mailto:sage [2006/03/13(月) 03:06:34 ID:im3Ym06d0]
>525
プライベートアドレスが出ました。

527 名前:名称未設定 mailto:sage [2006/03/13(月) 03:31:57 ID:RyJxbPsz0]
とりあえず自分で使っているものを晒しておきます。
・事前にiTunesを開いておいて、top100ソングの曲順を手動で逆順にしておいてください。
・sayの文中は添削した上でお使いください。

tell application "Safari"
open location "phobos.apple.com/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.DirectAction/viewTopSongs/"
delay 5
end tell
say "Welcome to iTunesMusicStore Japan today's top 100."
delay 0.5
say "Okay, now let's start to count down the top 100 songs."
tell application "iTunes"
repeat with i from 100 to 1 by -1
say "today's number" & i
set (sound volume) to 80
play
repeat until (player position ? 27)
delay 1
end repeat
if (i > 1) then
set (sound volume) to 50
say "okay, Let's go to the next tune."
pause
next track
end if
end repeat
end tell

528 名前:名称未設定 mailto:sage [2006/03/13(月) 03:35:06 ID:RyJxbPsz0]
(player position ? 27)

(player position >= 27)
でお願いします。

529 名前:(・∀・) mailto:sage [2006/03/13(月) 05:07:44 ID:MbExZ1Cf0]
なかなか素晴らしいです。転載していいですか?

あと、ボリューム変更はクロスフェード効果なのせうか。



530 名前:527 mailto:sage [2006/03/13(月) 11:49:29 ID:RyJxbPsz0]
>>529

エラー対策を全くしていませんが、
それでもよろしければ転載okです。

531 名前:527 mailto:sage [2006/03/13(月) 11:55:45 ID:RyJxbPsz0]
ボリューム変更についてですが、
変更しないと、sayの声が音楽にかぶってしまうので、
ガレバン3の「ダッキング」エフェクトをパクって
音量を50と80で往復させました。

532 名前:名称未設定 mailto:sage [2006/03/13(月) 13:43:33 ID:im3Ym06d0]
どこに転載するか書かずに転載の許可を願うとは、これいかに。
ブログとか?実はどこかの雑誌の編集さんだったりして…。

533 名前:名称未設定 mailto:sage [2006/03/13(月) 16:19:33 ID:XHMJz0G70]
確かにどこに転載されるのかは気になる。
本人が転載許可してるみたいだからあまり突っ込まないが。

534 名前:名称未設定 mailto:sage [2006/03/13(月) 17:57:07 ID:mKOPjLL/0]
>>527
すげえええええええええええ

535 名前:名称未設定 mailto:sage [2006/03/13(月) 18:36:13 ID:OiKZHGkZP]
iTunesに直接Todaysトップソングを表示させるスクリプト
tell application "iTunes"
open location "itms://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.DirectAction/viewTopSongs/?ign-mscache=1"
end tell
web-sniffer.net/で調べた。
itmsのアドレスが固定かどうかは知らない・・・

536 名前:527 mailto:sage [2006/03/13(月) 20:44:41 ID:RyJxbPsz0]
>>533
ここに晒している以上、
権利云々も言えたもんじゃありません。www

>>535
ありがとうございます!
早速マージさせていただきました。

このように、他者の力をお借りして、
最終的にはもう少し良くしたい、という思いもあります。

ちなみに、iTMSのtop100画面上で、逆順ソートを自動化する方法が思いつかないので、
feed://phobos.apple.com/WebObjects/MZStore.woa/wpa/MRSS/topsongs/sf=143462/limit=100/rss.xml
から曲リンクを取得して自動再生させるアプローチも探ってみたいな、と。


537 名前:(・∀・) mailto:sage [2006/03/14(火) 19:12:16 ID:cQAXLWdE0]
iTunes for Mac まとめページにあぷして置きました。
www3.atwiki.jp/itunes/pages/18.html

ボリューム変更は環境依存が大きいので、ぶち抜きました。
>>535 を採用しました。ただし、535のリンクは英語のページ
みたいなので日本語ページ(itms://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.DirectAction/viewTopSongs?id=1000)へ修正

appで途中で止められるように、quitハンドラを追加しました。

タイトルとアーティストをmonzaiでしゃべるように、cmd+Lと
cmd+cを駆使して努力しましたが、iTunesがフォアになるため
挫折しました。トラック情報くらいとらせてほしい。


538 名前:名称未設定 mailto:sage [2006/03/14(火) 19:15:34 ID:4jQwPzar0]
転載とはそこのことだったのか。
最近Mac関係の色々なWikiができて情報が蓄積されてますね。
むしろ読むほうが追いつかないというか、読む前に挫折するというか。
すばらしいと思います。

539 名前:名称未設定 mailto:sage [2006/03/16(木) 22:12:31 ID:YocHupGu0]
アップルスクリプトで任意のアプリケーションを立ち上げるのに悪戦苦闘中なのですが、

 tell application "アプリケーション名" to activate

これはアプケーションフォルダーにあるアプリが起動可能なのですよね?
任意の場所にあるアプリの指定の仕方がさっぱりわかりませんorz

どうか暇つぶしに教えてくださいませ。



540 名前:名称未設定 mailto:sage [2006/03/16(木) 22:55:48 ID:cftXYU8A0]
アプリケーション名の代わりにアプリケーションのパス丸ごとで起動するんじゃなかったかな

541 名前:名称未設定 mailto:sage [2006/03/16(木) 23:09:51 ID:JB3cO3A10]
>>539
任意の場所にあるものがそれで起動するはずだけど?
ただ、バージョン違いの同じ名前のアプリケーションが複数ある場合はややこしい。

542 名前:539 mailto:sage [2006/03/17(金) 00:11:07 ID:9QHBWbbl0]
>>540-541
レスどーもです。
なんだかよくわかりませんが、アプリ名だけで起動できるようになりました。
Finderを再起動させたんですけどそのせいでしょうか?
開いたばかりのアプリだったせいで認識してなかったということはありますか?


543 名前:名称未設定 mailto:sage [2006/03/17(金) 00:15:08 ID:eNMdlnuM0]
>>542
認識してなかった事はあり得るかもね。
あとは単純にアプリ名を間違ってたとか。

544 名前:名称未設定 mailto:sage [2006/03/24(金) 21:52:31 ID:SXFC71h00]
アップルスクリプトで、実行専用アプリで保存するときに
バックグラウンド専用アプリにすることって出来る?

OS X 10.3.9 

545 名前:名称未設定 mailto:sage [2006/03/24(金) 22:26:14 ID:0lgxEjKT0]
バンドル形式で保存してInfo.plistにキーを追加すればなるんでないか。

546 名前:名称未設定 mailto:sage [2006/03/24(金) 22:26:25 ID:1yHn8ev1P]
>>544
plist で LSUIElement の値を 1 に設定する。


547 名前:名称未設定 mailto:sage [2006/03/24(金) 22:26:50 ID:XttOGzNk0]
Xcodeで作ってごにょごにょすればできると思う。

548 名前:名称未設定 mailto:sage [2006/03/24(金) 22:27:34 ID:XttOGzNk0]
書く前にリロードすればよかった。orz

549 名前:(・∀・) mailto:sage [2006/03/26(日) 12:31:08 ID:MA2XeE2J0]
iTunesスレだと、スプリクターが居ないのか受けが悪かった。
iTunesで選択した曲を埋め込まれた歌詞をテキストテロップにしてQTPlayerで表示するスクリプト
QTP 7.0がバグだらけで、苦労しました。アートワークをムービに
追加したり、タイムタグに対応したり考えたけど挫折。

on run
tell application "iTunes"
set theTrack to item 1 of selection
if lyrics of theTrack is "" then
beep
return
end if
OpenQtp(location of theTrack, lyrics of theTrack) of me
end tell
end run





550 名前:(・∀・) mailto:sage [2006/03/26(日) 12:31:41 ID:MA2XeE2J0]
on OpenQtp(theFile, theLyrics)
tell application "QuickTime Player"
activate
open theFile
--歌詞埋め込み
set the clipboard to theLyrics as string
select all movie 1
add movie 1 with scaled
set dimensions of last track of movie 1 to {320, 240}
set position of last track of movie 1 to {0, 0}
--TextFrame更新
set scroll of frames of last track of movie 1 to {scroll in, scroll continuous}
--後処理
select none movie 1
rewind movie 1
start movie 1
end tell
end OpenQtp

ずいぶん、改行制限が高いな。

551 名前:名称未設定 mailto:sage [2006/03/26(日) 15:34:12 ID:IJfdPMV70]
>>549-550
こんな感じになりますた。オモシロス
ttp://amb.sakura.ne.jp/hanyou/img-box/img20060326153223.jpg

552 名前:名称未設定 mailto:sage [2006/03/26(日) 16:14:33 ID:vVQwFlYO0]
曲によってなのか、いきなり最後尾表示になってハングしちゃう事がありました。

553 名前:名称未設定 mailto:sage [2006/03/26(日) 16:40:51 ID:V3C3Pelr0]
>>551
これは、ビジュアル的におもしろいねw

>>549
おもしろい事考えますねー。

554 名前:名称未設定 mailto:sage [2006/03/26(日) 17:02:26 ID:kuF0a4uE0]
すげー。AppleScriptってこんなことも出来るんだね。

555 名前:名称未設定 mailto:sage [2006/03/26(日) 17:06:05 ID:DYvMzdAx0]
悪い事にも使えると。

556 名前:名称未設定 mailto:sage [2006/03/26(日) 17:31:10 ID:V3C3Pelr0]
たまに、「○○なアップルスクリプトを作ってください!」とか、全く作らない人が頼んでくる場合、
それはAppleScriptでは無理、っていう物が多い。

557 名前:名称未設定 [2006/03/28(火) 09:54:45 ID:Lpu5XxP70]
ターミナルで、ちょっと通りますよの人が横切るコマンドを
作って下さい。

558 名前:名称未設定 mailto:sage [2006/03/28(火) 10:13:31 ID:HJf4mNh40]
そんなものにまでわざわざアップルスクリプト使うことないやん。

559 名前:名称未設定 mailto:sage [2006/03/28(火) 15:45:57 ID:9VKqD1W60]
エスケープシーケンス制御できんのかな。

エスケープシーケンスアニメなんて技術もあったよなぁ……。
アスキーアートはすっかり復権してるけど。




560 名前:名称未設定 mailto:sage [2006/03/28(火) 16:42:11 ID:fw335V890]
一発でOSXからOS9の起動ディスク指定して再起動するアップルスクリプト作ってください。

561 名前:名称未設定 mailto:sage [2006/03/28(火) 16:49:43 ID:X4Bb5zfB0]
>>557
slでできるんじゃないの?

>>558
557は556を受けてのネタのような気が。

562 名前:名称未設定 mailto:sage [2006/03/29(水) 18:42:50 ID:feiPC4VM0]
>>560
tell application "System Preferences"
activate
reveal anchor 1 of pane id "com.apple.preference.startupdisk"
--reveal anchor 1 of pane "起動ディスク"
end tell

tell application "System Events"
tell process "System Preferences"
repeat until (exists button "Mac OS J1-9.2.2 (Macintosh HD 上)" of radio group 1 of scroll area 1 of group 1 of splitter group 1 of window 1)
delay 1
end repeat
click button "Mac OS J1-9.2.2 (Macintosh HD 上)" of radio group 1 of scroll area 1 of group 1 of splitter group 1 of window 1
delay 1
click button 6 of window 1
-- click button "再起動..." of window 1
repeat until (exists sheet 1 of window 1)
delay 1
end repeat
keystroke return
end tell
end tell

ボタンをクリックしてシステムを選択する部分だけどうしても言語環境に依存せざるを得ませんでした。
OS 9が必ず「button 2」になると決まっていればできなくもないけど。

click item 1 of (every button whose name contains "9.2") of radio group 1 of scroll area 1 of group 1 of splitter group 1 of window 1

というのも考えたけどいまいち。

563 名前:名称未設定 mailto:sage [2006/03/29(水) 19:11:30 ID:H2qe5PdB0]
何かblessとか使ったやつがあるはず。昔作ったし、シェアウェアにしてる人もいるし。

564 名前:名称未設定 mailto:sage [2006/03/29(水) 19:18:07 ID:5lj1jkky0]
>>560
do shell script "/usr/sbin/bless -folder9 'OS9システムフォルダposixパス' -setBoot" password "うにゃ" with administrator privileges
ignoring application responses
tell application "Finder" to restart
end ignoring

565 名前:名称未設定 mailto:sage [2006/04/04(火) 21:35:51 ID:Qt9k3R830]
スクリプト書類をひな形にするとアイコンがOS9のになる

566 名前:名称未設定 mailto:sage [2006/04/04(火) 21:42:21 ID:9hnx1ZWk0]
ひな形ってOSXでもきちんと動いてたっけ。

567 名前:名称未設定 mailto:sage [2006/04/04(火) 22:23:50 ID:Qt9k3R830]
>>566
○○のコピーってのが勝手に作られる

568 名前:名称未設定 mailto:sage [2006/04/08(土) 00:35:46 ID:7JP3EugF0]
ドラッグ&ドロップ形式で作ったスクリプトで、
選択したファイルのクラスを表示させるとaliasがalisと表示される。

569 名前:名称未設定 mailto:sage [2006/04/08(土) 02:39:01 ID:Dhlu5MBO0]
文字列変換されてないんでしょ

display dialog alias
display dialog (alias as string)



570 名前:名称未設定 mailto:sage [2006/04/08(土) 03:59:42 ID:7JP3EugF0]
あーほんとだ。
docfとかと同じあれか。

571 名前:名称未設定 mailto:sage [2006/04/10(月) 15:53:46 ID:+4WadjwP0]
フォルダ内のText書類を一括でRTF書類に変換するものを作っていただけませんでしょうか?
一つ一つテキストエディットでRTFにしていってるのですがあまりに大変で...。
余力のある方がいらっしゃいましたら宜しくお願いします。

572 名前:名称未設定 mailto:sage [2006/04/10(月) 20:20:25 ID:hrIkS/SM0]
こんな感じか。前提条件を厳しくしてあるけど。

set theSource to choose folder with prompt "Source:"
set theDestination to choose folder with prompt "Destination:"
tell application "Finder" to set theFiles to every file of folder theSource whose name ends with ".txt"
repeat with aFile in theFiles
set newName to do shell script "echo " & name of aFile & " | sed 's/\\.txt/.rtf/'"
tell application "Finder"
set newFile to (make new file at folder theDestination with properties {name:newName}) as string
open aFile
end tell
tell application "TextEdit"
activate
tell application "System Events"
keystroke "t" using {command down, shift down}
end tell
save front document in newFile as alias
close front document
end tell
end repeat


573 名前:名称未設定 mailto:sage [2006/04/10(月) 21:13:00 ID:+4WadjwP0]
>>572
本当に助かります。
ありがたく使わせていただきます。
もし宜しければ拡張子がつくようにしてみたいのですがご指導願えますか?理由はWクリックでテキストエディタで開く分には問題ないのですがなぜかアイコンが消えて白紙になってしまいました。


574 名前:名称未設定 mailto:sage [2006/04/10(月) 21:25:50 ID:ZHic7eqs0]
>>573
白紙になるのは再起動すれば直ると思われ

575 名前:名称未設定 mailto:sage [2006/04/10(月) 21:31:06 ID:ZHic7eqs0]
>>572
僭越ながら、5行目をにするとベターかと
set newName to do shell script "echo " & quoted form of a & " | sed 's/¥¥.txt$/.rtf/'"


576 名前:名称未設定 mailto:sage [2006/04/10(月) 21:35:52 ID:ZHic7eqs0]
あ間違えた
set newName to do shell script "echo " & quoted form of name of aFile & " | sed 's/¥¥.txt$/.rtf/'"


577 名前:名称未設定 mailto:sage [2006/04/10(月) 23:50:44 ID:+4WadjwP0]
>>572さん、576さん
どうもありがとうございます。
今から早速試してみます。お忙しいとこ本当にありがとうございます。
嬉しいです。

578 名前:名称未設定 mailto:sage [2006/04/13(木) 13:43:13 ID:O6gt2D110]
特定のフォルダーからファイル名のリストを取得するスクリプトなんですが、
OS10.3から10.4にバージョンを上げたところ
リストがおかしくなってしまいました。
10.3の時は「10001.jpg」
10.4では「1 0 0 0 1 . jpg」
となってしまいます。何が原因か全く検討がつきません。
どなたか、原因の解る方がおられましたらアドバイスいただけないでしょうか。
宜しくお願いします。
copy cell "basepath" of current record to theBasePath
set aPath to theBasePath as string
set aFolderA to (aPath & "gazou:") as alias
set aContA to "" as text
tell application "Finder"
try
move file (aPath & "list_full.txt") to trash
end try
set aListA to (every file of aFolderA)
repeat with aFile in aListA
set My_Name to name of aFile
set aContA to (aContA & My_Name & return)
end repeat
try
set fileNum to open for access file (aPath & "list_full.txt") with write permission
write (aContA) to fileNum
close access fileNum
end try
end tell

579 名前:名称未設定 mailto:sage [2006/04/13(木) 13:52:56 ID:1IaWW36v0]
>>578
解決策になってないけど、同じことをやる別の手段として
set aContA to do shell script "ls -v フォルダのパス > ~/Desktop/list_full.txt"
これでやってみては?



580 名前:名称未設定 mailto:sage [2006/04/13(木) 14:10:06 ID:08SROwcS0]
>>579
早速のレスありがとうございます。
非常に勉強になりました。
>"ls -v フォルダのパス > ~/Desktop/list_full.txt"
この場合のフォルダのパスをアップルスクリプトで取得済みの変数
で処理することはできるのでしょうか。


581 名前:名称未設定 mailto:sage [2006/04/13(木) 14:15:22 ID:1IaWW36v0]
aFolderAがそのフォルダなら
do shell script "ls -v "& aFolderA &" > ~/Desktop/list_full.txt"
これですむね。基本的にテキスト扱いでOKよ。
> ~/Desktop/list_full.txt
は出力先なので、任意のパスで。

582 名前:名称未設定 mailto:sage [2006/04/13(木) 14:18:28 ID:1IaWW36v0]
あ、重要なことを忘れてた。
パスはaliasではなくPOSIX pathで。
set aFolderA to POSIX path of ((aPath & "gazou:") as alias)


583 名前:名称未設定 mailto:sage [2006/04/13(木) 14:27:06 ID:08SROwcS0]
>>582
びっくりしました。
こんなに早く解決出来るとは・・・
正直気が狂いそうになってました。

感謝の言葉以外にありません。
ありがとうございました。
これからももっと精進いたします。

584 名前:名称未設定 mailto:sage [2006/04/13(木) 16:18:26 ID:I26FV3KU0]
ふとautomatorで
選択したファインダー項目を取得

フォルダの内容を取得(見つかった各サブフォルダからも取得する)

新規テキストファイル

で作ってみた。内包するフォルダの中身も取れるしドラッグ&ドロップで
動作してイイ、と思ったが…クソ遅かったです('A`)

585 名前:名称未設定 [2006/04/15(土) 15:39:34 ID:JMQmWsMh0]
あの--スリープに切り替えるのではなくて、imacのような液晶のブライトネスが0にならないものを
0にするようなscriptってありますでしょうか?
PBとかノート型は環境設定の基本設定で0になるんですがIMACとかPB型のものはならなくて。。
必要のないときにバックライトが切れてほしいのです。
ご存知のかたご助言いただければ幸いです。

586 名前:名称未設定 mailto:sage [2006/04/15(土) 15:48:40 ID:L0YbjH+q0]
>>585
「省エネルギー設定」に「ディスプレイをスリープさせるまでの時間」って項目ないの?

587 名前:名称未設定 mailto:sage [2006/04/15(土) 16:15:33 ID:AjBbvRMx0]
#!/bin/csh

touch ./nuko.txt

@ i = 1

while ($i <= 9999 )
 echo 'ぬこかわいいよぬこ' >> ./nuko.txt
 @ i++
end

588 名前:名称未設定 [2006/04/15(土) 16:19:42 ID:JMQmWsMh0]
ワンクリックで一瞬でバックライトをきれればとおもっているのですが。。。
スリープでやってみたのですがと最低でも一分待たないとだめですよね。。

589 名前:名称未設定 mailto:sage [2006/04/15(土) 16:26:18 ID:L0YbjH+q0]
>>588
うーん。AppleScriptの領域じゃないと思うよ。

>>587
最初のtouchは必要?>>でもファイルが無ければ作ったような気が。



590 名前:名称未設定 mailto:sage [2006/04/15(土) 16:27:30 ID:L0YbjH+q0]
ああそうか。touchで、ねこにさわる、という事を表しているのかな。
無駄レスすまん。

591 名前:名称未設定 mailto:sage [2006/04/18(火) 14:48:16 ID:vHrGxhgg0]
AppleScriptでiTunesをコントロールして、

午前中、午後、夕方で、プレイリストを切り替えて、各プレイリストの中でシャッフルプレイする。

...のは、可能でしょうか?
自分で調べたのでは、分かりませんでした。
どうかお願いします。

592 名前:名称未設定 [2006/04/19(水) 19:19:24 ID:qNXCxKOR0]
>>591
可能。プレイリストにtellしてplayする。
朝昼晩三つのスクリプトを用意するか時間判別するかして
cronで呼び出しでもすればいい。

593 名前:名称未設定 mailto:sage [2006/04/20(木) 11:41:59 ID:H144QjvH0]
アップルスクリプトからcrontabを編集するのは無理だよね?

594 名前:名称未設定 mailto:sage [2006/04/20(木) 12:20:38 ID:rO2rAVS10]
このスクリプトで問題無く書く出せるのですが、
シェルでシンプルにしようと書き出し部分を下記2行のような方法で
行えると思ったんですが、上手く行きません。何がいけないんでしょうか。
どなたかご教授ねがえたらアドバイス願いします。
set A to B
do shell script "cd ~/desktop; echo " & A & " > a.txt"
-------------------------------------------------------------------
set A to readSomeLines(choose file of "", 50)
set aPath to "Macintosh HD:Users:Shared:testdb:"
try
move file (aPath & "list.txt") to trash
end try
try
delete file (aPath & "list.txt")
end try
try
set fileNum to open for access file (aPath & "list.txt") with write permission
write (A) to fileNum
close access fileNum
end try

on readSomeLines(theFile, theLine)
set textData to ""
try
open for access theFile
repeat theLine times
set textData to textData & (read theFile until return)
end repeat
end try
close access theFile
return textData
end readSomeLines

595 名前:名称未設定 mailto:sage [2006/04/20(木) 12:27:42 ID:H144QjvH0]
>>594
よく見てないけど、とりあえずお約束として、こうしとく
do shell script "cd ~/desktop; echo " & quoted form of A & " > a.txt"


596 名前:名称未設定 mailto:sage [2006/04/20(木) 13:20:53 ID:RcuP25d50]
>>595
quoted form of
こんなの全然しりませんでした。すごいですね。ありがとうございました。

597 名前:名称未設定 mailto:sage [2006/04/20(木) 13:27:25 ID:qpgUYt/S0]
とりあえずAppleのdo shell scriptのページは隅から隅まで読んだ?

598 名前:名称未設定 mailto:sage [2006/04/20(木) 14:08:24 ID:ic5pccqx0]
>>597
そのページの存在すら知りませんでした。

599 名前:名称未設定 mailto:sage [2006/04/20(木) 14:23:47 ID:H144QjvH0]
あとシェルで書き出す場合、基本的に既存のファイル名と同じ場合は上書きされるので、
古いファイルをゴミ箱に捨てる作業は不要。



600 名前:名称未設定 mailto:sage [2006/04/20(木) 16:56:37 ID:vGXrsKL70]
>>599
了解です。
ありがとうございます。


601 名前:名称未設定 mailto:sage [2006/04/20(木) 17:44:47 ID:qpgUYt/S0]
いやAppleScriptでやる場合も既存のファイルをオープンして書けば同じ事のような…。
まあいいか。

602 名前:名称未設定 mailto:sage [2006/04/20(木) 22:27:10 ID:k/oqrw/J0]
>>592
サンクス!!
(お礼が遅くなってスマソ)

603 名前:名称未設定 mailto:sage [2006/04/21(金) 23:25:18 ID:JGE4Xn7h0]
>>593
do shell scriptでできるんじゃない?

604 名前:名称未設定 mailto:sage [2006/04/22(土) 00:29:51 ID:wVxBRr3M0]
>>603
do shell script "crontab -e"
ってやると止まっちまう。
ターミナルを立ち上げないとviで編集しようがないから。

605 名前:名称未設定 mailto:sage [2006/04/22(土) 06:31:10 ID:GDWKQcEm0]
ファイル名に.mp3が含まれてる場合だけ
ファイルタイプMPEG、クリエータータイプTVODに変更したいんですが、
名前に〜が含まれる場合というのはどうやればいいでしょうか?

606 名前:名称未設定 mailto:sage [2006/04/22(土) 06:54:49 ID:6UDGvqLM0]
--Finderで選択中の物の中で.mp3で名前が終わるファイルの
--クリエータとファイルタイプを変更するスクリプト
tell application "Finder"
repeat with aFile in (every file of selection whose name ends with ".mp3")
set creator type of aFile to "TVOD"
set file type of aFile to "MPEG"
end repeat
end tell

>>605
start withとかends withとかcontainsとかis inとかを使う。

607 名前:名称未設定 mailto:sage [2006/04/22(土) 07:10:28 ID:6UDGvqLM0]
>>606の上のスクリプト、動かなかった。ごめん。

608 名前:名称未設定 mailto:sage [2006/04/22(土) 07:28:02 ID:6UDGvqLM0]
結局、10.4.6/AppleScript 1.10.6/スクリプトエディタ 2.1.1の環境では、
下記のような物しか動かないみたいだな。
tell application "Finder"
repeat with aFile in (selection as list)
if name of aFile ends with ".mp3" then
set creator type of aFile to "hook"
set file type of aFile to "MPG3"
end if
end repeat
end tell

609 名前:名称未設定 mailto:sage [2006/04/22(土) 14:30:50 ID:yP/F5ojC0]
>>606-608
即レスありがとうございます。

>start withとかends withとかcontainsとかis inとかを使う。
しかも勉強になりました。



610 名前:名称未設定 mailto:sage [2006/04/22(土) 14:47:30 ID:6UDGvqLM0]
後から気付いたけど、OSXでXcode入ってる環境だったら、
この目的には、do shell scriptでSetFile呼び出したほうが速い。
大量のファイルの処理になるとかなり速度に差が出ると思う。
>>95参照されたし。

611 名前:名称未設定 mailto:sage [2006/04/24(月) 17:08:34 ID:aGiVrMob0]
レス違いだったら申し訳有りません。
ファイルメーカー用に使用するスクリプととし用意した物なんですが、
(read theFile until return)の部分を受け付けてくれません。
何故受け付けてくれないのかが解りません。
スクリプトエディタ上では問題無く動くんですが・・・。
詳しい方、アドバイスいただけないでしょうか。宜しくお願いします。

set A to readSomeLines(choose file of "", 200)

on readSomeLines(theFile, theLine)
set textData to ""
try
open for access theFile
repeat theLine times
set textData to textData & (read theFile until return)
end repeat
end try
close access theFile
return textData
end readSomeLines

612 名前:名称未設定 mailto:sage [2006/04/25(火) 00:58:02 ID:0oZrNNc+0]
OSとアプリのバージョンも書いとけよ。

どのみち俺はFM持ってないから試せんが。

613 名前:名称未設定 mailto:sage [2006/04/25(火) 03:46:55 ID:JTmXt24g0]
>>610
Script Additions の read とFM Proの中のなにかの名前がぶつかってるからだろうな
外部にスクリプトを置くとか、その部分だけ他のアプリ(Finderとか)のtellでくくるとか、
生Apple Event(《event rdwrread》)で呼び出すとか

614 名前:名称未設定 mailto:sage [2006/04/25(火) 03:47:53 ID:JTmXt24g0]
上は
>>611
だった。すまん

615 名前:名称未設定 mailto:sage [2006/04/25(火) 08:30:50 ID:LtUkaBS/0]
>>612
>>613

即レスありがとうございます。
OS:10.4.6
FM7
です。
>その部分だけ他のアプリ(Finderとか)のtellでくくるとか、
試してみます。

616 名前:名称未設定 mailto:sage [2006/04/25(火) 08:48:05 ID:RiqNhc2e0]
何の用語って明言する構文がなかったっけ?

617 名前:名称未設定 mailto:sage [2006/04/25(火) 09:11:51 ID:qm6yILcfP]
using terms from

618 名前:名称未設定 mailto:sage [2006/04/25(火) 09:22:16 ID:XuD+ug2Q0]
>>617
初めて聞いた用語だ。オクブカス
使い方が特殊みたいね。

619 名前:名称未設定 mailto:sage [2006/04/25(火) 11:56:31 ID:jZ+mddwa0]
>>615
解決することができました。皆さんありがとうございました。




620 名前:名称未設定 mailto:sage [2006/04/25(火) 15:26:53 ID:ETfJTrlj0]
>>619
アドバイスを基に修正したのですが、更に上手く行かない箇所があります。
set A to readSomeLines(theBasePath of "", 200)
なんですが、set A to readSomeLines(choose file of "", 200)を基に
別途取得したパスを使って指定のファイルから読み込みしたいのですが、
何が足りないんでしょうか。
へたれですみませんが、アドバイスお願いします。


copy cell "path" of current record to theBasePath

set A to readSomeLines(theBasePath of "", 200)
do shell script "cd ~/desktop/imageget/script; echo " & quoted form of A & " > C.txt"

on readSomeLines(theFile, theLine)
tell application "Finder"
set textData to ""
try
open for access theFile
repeat theLine times
set textData to textData & (read theFile until return)
end repeat
end try
close access theFile
return textData
end tell
end readSomeLines


621 名前:名称未設定 mailto:sage [2006/04/25(火) 16:41:06 ID:4WdqAxew0]
>>620
自己レス
解決できました。ご迷惑おかけしました。


622 名前:名称未設定 mailto:sage [2006/04/25(火) 20:37:09 ID:jSgkO1Oq0]
どこをどう修正したら解決できたかも書いておくと、
君みたいな人が今後助かるという互助主義はいかがかな?

623 名前:名称未設定 mailto:sage [2006/04/26(水) 16:53:41 ID:8cpfeIVZ0]
FMの掲示板にもマルチしてるような奴に言っても無駄

624 名前:名称未設定 mailto:sage [2006/04/26(水) 16:57:33 ID:y5OsEivK0]
日本語のAppleScriptのメーリングリストが、さっぱり投稿が無くなってるみたいですね。
皆それぞれAppleScriptを使ってはいるのだろうか。

625 名前:名称未設定 mailto:sage [2006/04/27(木) 20:29:50 ID:RU0kCUUg0]
>>624
あそこはすでに廃墟になったよ。
今頃購読者数なんて>>624くらいだろ。管理人も失踪したし

626 名前:名称未設定 mailto:sage [2006/04/27(木) 21:09:45 ID:xv0cGDCW0]
みんな次のステップへ巣立っていったんじゃ?


627 名前:名称未設定 mailto:sage [2006/04/28(金) 10:21:06 ID:0AxBtDxT0]
>>622
set aFile to theBasePath as alias
を追加しました。

copy cell "path" of current record to theBasePath
set aFile to theBasePath as alias

これでset A to readSomeLines(theBasePath of "", 200)を実行できるようになりました。


>>623 FMの掲示板にもマルチしてるような奴に言っても無駄
すみません。以後注意します。

628 名前:名称未設定 mailto:sage [2006/04/29(土) 21:31:59 ID:hmcquEri0]
URL Access Scriptingのdownloadでファイルを
ダウンロードするものを作ってます。
ダウンロードに時間がかかるのでprogressをyesにして経過を表示させたいのですが
表示されません。
スクリプトは
tell application "URL Access Scripting"
activate
download theURL to file thePath with progress
end
です。どうすれば表示されるのでしょうか?
OS 10.4.6です。

629 名前:名称未設定 mailto:sage [2006/04/30(日) 20:11:24 ID:DErkdcLYP]
628です。URL Access Scriptingだと進行状況がわからない&キャンセルできないので
ターミナルでcurl使ってダウンロードすることにしました。
保存するファイル名を指定できるAppleScript対応ダウンローダーってありますかね。
YouTubeからファイル名をタイトルにしてムービフォルダに動画を保存するスクリプト。
日本語ファイル名は試してない。
tell application "Safari"
set theURL to URL of document 1
set theTitle to name of document 1
set theTitle to text 11 thru -1 of theTitle
end tell
if theURL starts with "www.youtube.com/watch?v=" then
--動画表示ページからURLを抜き出す
set theFLVURL to do shell script "curl --max-time 30 " & quoted form of theURL & " | perl -e '$data = join(q||,<>); ($tmp, $key) = split( q{player.swf?}, $data ); ($key) = split( q{\"},$key ); print qq{www.youtube.com/get_video$key}; '"
--保存フォルダ
tell application "Finder"
set theFolder to (home as string) & "Movies:"
set theSavePath to theFolder & theTitle & ".flv"
set isExist to exists (file theSavePath)
end tell
if isExist then
say "already exists " & theTitle
else
tell application "Terminal"
do script "curl -L -o " & quoted form of POSIX path of theSavePath & " " & quoted form of theFLVURL & "; say finish download"
end tell
end if
end if



630 名前:名称未設定 mailto:sage [2006/05/01(月) 21:53:30 ID:NS8ywTZU0]
すいません。基本的な事ですが、
choose file nameなどを使った時にダイアログが文字化けする問題、
どうやって解決すればいいんでしたっけ?
バンドルアプリケーション形式で保存して、
中のplistをどうにかするか、中にJapanese.projというフォルダを作る?か、
そんな感じだったと思うのですが、思い出せません。

631 名前:名称未設定 mailto:sage [2006/05/01(月) 21:56:58 ID:AIonNJIr0]
(1) 保存時の「フォーマット」を「アプリケーションバンドル」に。
(2) Finderで「Japanese.lproj」という名前の空フォルダを作っておく。
(3) Finderで(1)で保存したアプリを選択し、
  情報を見る=>言語=>追加で、(2)のJapanese.lprojを選ぶ。
(4) 情報を見る=>言語で、「Japanese」にチェックがついていることを確認。

632 名前:名称未設定 mailto:sage [2006/05/01(月) 22:25:40 ID:NS8ywTZU0]
>>631
ありがとん。

633 名前:名称未設定 mailto:sage [2006/05/02(火) 19:30:08 ID:OkuzRmGz0]
Unicodeで指定城
choose file name with prompt <<data ut1630D530A130A430EB540DFF1F>>

634 名前:名称未設定 mailto:sage [2006/05/02(火) 19:54:03 ID:QadQ57IB0]
ほほー。おもしろそうですね。
でもダイアログのタイトルバーが化けちゃうんですよ。

635 名前:名称未設定 mailto:sage [2006/05/03(水) 23:03:58 ID:57w6xGtD0]
普段こんなのでJapanese.lprojを追加してます。

--Finder 上でアプレットを選択して実行
tell application "Finder"
activate
set applets to {}
set appNames to ""
repeat with j in (selection as list)
tell application "System Events"
set pkBool to package folder of (j as alias)
set creatorType to creator type of (j as alias)
end tell
if (pkBool is true) and (creatorType is "aplt") and (exists folder "Japanese.lproj" of folder "Resources" of folder "Contents" of (j as alias)) is false then
set applets to applets & (j as alias)
set appNames to appNames & (name of (j as alias)) & return
end if
end repeat
if not applets is {} then
display dialog appNames & return & "に Japanese.lproj を追加します。"
repeat with jj in applets
make new folder at folder "Resources" of folder "Contents" of (jj as alias) with properties {name:"Japanese.lproj"}
end repeat
display dialog "完了" buttons {"OK"} default button 1 giving up after 1
else
display dialog "Japanese.lproj を追加する必要がないようです。" buttons {"キャンセル"} default button 1 giving up after 2
end if
end tell

636 名前:名称未設定 mailto:sage [2006/05/03(水) 23:13:31 ID:WmZBc3dT0]
おー。いいですねえ。スクリプト開発のためのツールもスクリプトで。
これぞって感じですね。

637 名前:名称未設定 mailto:sage [2006/05/03(水) 23:14:53 ID:57w6xGtD0]
if (pkBool is true) and ((creatorType is "aplt") or (creatorType is "dplt")) and (exists folder "Japanese.lproj" of folder "Resources" of folder "Contents" of (j as alias)) is false then

ってしないとドロップレットには使えないことに気付いた。すまんこ。

638 名前:名称未設定 mailto:sage [2006/05/06(土) 20:35:42 ID:zECA/cNy0]
>>628
試してないけど、iAlertとかGrowlのアラートウインドウを使って

(完了したDL数)/(DLする総数)

みたいな文字列を表示させればいいんじゃまいか。

639 名前:名称未設定 [2006/05/07(日) 16:16:39 ID:b9F01q2j0]
tell application "Safari" to get source of front document
とすると、htmlのテキストデータを得られるのですが,これと同じ事をFirefoxでもできませんか。

tell application "Firefox" to get source of front documentではもちろんだめでした。
class of pTitやclass of curlなどでは、タイトルとURIしかえられません。

get properties of front windowとしてもそれらしいクラスが無いので,無理なのでしょうか?



640 名前:名称未設定 mailto:sage [2006/05/07(日) 16:39:50 ID:GmGQj0yb0]
>>639
無理

641 名前:名称未設定 mailto:sage [2006/05/07(日) 17:02:52 ID:3861gjpq0]
URLが得られれば、URL Accessとかdo shell scriptなんかでwgetとかcurlに渡せばいいんでは。

tell application "Firefox" to set myURL to ↓class curl⊇ of front window
set mySource to do shell script "curl " & myURL

mySourceにページのソース入ってる。


642 名前:名称未設定 mailto:sage [2006/05/07(日) 21:14:29 ID:TRxhAofs0]
class curlのカッコが凄い事になってるな。
それを避けて扱いやすくする方法がある。
下記の場合、コンパイルする時に、その環境にiCabがインストールされている事が必要。

tell application "Firefox"
using terms from application "iCab"
set urlStr to URL of window 1
end using terms from
end tell
set htmlStr to do shell script "curl -s " & urlStr

643 名前:名称未設定 mailto:sage [2006/05/13(土) 21:59:12 ID:ZQJEXtk30]
>>629
新しいインターフェースに対応したやつに改造したいけどASわからない・・・

644 名前:名称未設定 mailto:sage [2006/05/13(土) 22:13:59 ID:3KCNrIX4P]
>>643
pc7.2ch.net/test/read.cgi/mac/1147098915/39
に改善したのをちょうど書いた所です

645 名前:643 mailto:sage [2006/05/14(日) 00:06:54 ID:KLW/UlP00]
>>644
ありがとうございます!

646 名前:名称未設定 [2006/05/19(金) 18:17:38 ID:oCIZ0S/m0]
はじめまして。
皆様に教えていただきたいのですが・・・。

command keyを押し続けるだけのスクリプトはどうやって書くのでしょうか?



647 名前:名称未設定 mailto:sage [2006/05/19(金) 18:22:29 ID:GnKilBEA0]
環境を明示しろやボケ

648 名前:名称未設定 mailto:sage [2006/05/19(金) 18:25:55 ID:oCIZ0S/m0]
>>647

失礼いたしました。

OS10.4.6をしようしております。

649 名前:名称未設定 mailto:sage [2006/05/19(金) 18:26:15 ID:NIuD8sz00]
>>646
やりたい事もちゃんと書かないと思った通りに動かないよ。たぶん。



650 名前:名称未設定 mailto:sage [2006/05/19(金) 18:29:03 ID:oCIZ0S/m0]
>>649

そうですね。

マイティマウスのボタン4に割り当てをしたいのです。

651 名前:名称未設定 mailto:sage [2006/05/19(金) 18:34:24 ID:NIuD8sz00]
コマンド+クリックを割り当てたいわけか。
それは厳しいと思うよ。
それができるマウスドライバを買うか、
ドライバ付きのマウスを買った方がいんじゃないかな?

652 名前:名称未設定 mailto:sage [2006/05/19(金) 18:36:00 ID:MORdrpex0]
例えば
3ボタン:コマンド+A
1ボタン:クリック

で、コマンド+Aが無効になる場合、コマンド+クリックがはたらく。

653 名前:名称未設定 mailto:sage [2006/05/19(金) 18:36:33 ID:oCIZ0S/m0]
>>651

ボタン4とクリックホイール左右を使用したかったんです・・・。

やっぱり無理ですか・・・。



654 名前:名称未設定 [2006/05/19(金) 21:13:05 ID:c3c8cvK10]
つか一週間前に買った
マックブック買えばよかった

655 名前:名称未設定 [2006/05/27(土) 23:01:06 ID:AGrn3QjO0]
MacBookに外付けLCDで常用してます
で、たまにMacBookのLCDも使用してます。

で、AppleScriptを使用してMacBook側の液晶の輝度調整を
キーボードショートカットに割り当てることはできないモノでしょうか?
たとえばCtrl+Aで輝度0、Ctrl+Bで輝度50%、Ctrl+Cで輝度100%とか。

656 名前:名称未設定 mailto:sage [2006/05/28(日) 00:26:01 ID:eCIysfGT0]
無理。
Keyboard Maestroでできるようだ。シェアウェア。
金が惜しいなら自分で探せ。
www.keyboardmaestro.com/documentation/2/actions.html#actions_system


657 名前:名称未設定 [2006/05/28(日) 01:03:29 ID:4rX/xyxl0]
なぜ無理?

658 名前:名称未設定 mailto:sage [2006/05/29(月) 00:57:52 ID:t7sXnzxS0]
>>630,631
よくわからんのだが、情報ウインドウの言語に「Japanese」にチェックが
ついていても他人に配布したら文字化けしたって言われることがときどきある

何故なんだ??

659 名前:名称未設定 mailto:sage [2006/06/01(木) 21:56:35 ID:qwcEQxpE0]
>>658
(1) 保存時の「フォーマット」を「アプリケーションバンドル」に。
(2)Info.plistのCFBundleDevelopmentRegionをjapaneseにしる。

Japanese.lprojは、特に必要ない。

CFBundleDevelopmentRegionがEnglishのままだと、pantherで化ける。

で、最近のScriptEditorか、AppleScriptだと治ってたような気がす。



660 名前:名称未設定 mailto:sage [2006/06/02(金) 09:58:44 ID:NFRPeJ/W0]
>>659
Thx
でも CFBundleDevelopmentRegion も japanese にしてあるんだよなー
う〜んう〜ん

661 名前:名称未設定 mailto:sage [2006/06/02(金) 10:00:51 ID:NFRPeJ/W0]
あっ Japanese だった。
もしかして小文字じゃないといけないのかな?

662 名前:名称未設定 mailto:sage [2006/06/03(土) 22:28:15 ID:WHCsOstf0]
Opera 9がAppleScript対応してます。
何か、IEとかiCabとか昔のNetscapeとかの、古めのブラウザの用語をごちゃまぜにしたような
変わった感じの印象を受ける用語辞書だけど、基本的な事はできるようになった模様。

無料になってすぐ落としてみた時は対応してなかったんだけどね。
公式のフォーラムで外国の人が「対応しないの?」って書き込んでるのに対しても
「予定なし」って書いてあったから、対応しないつもりかと思ってた。

663 名前:名称未設定 mailto:sage [2006/06/04(日) 17:00:33 ID:FjBMWmwQ0]
そういえば、PagesがAppleScriptに対応したよーという話をあんまり聞かないね。
Operaダウンロード中。

664 名前:名称未設定 mailto:sage [2006/06/04(日) 19:12:29 ID:8QbESrZa0]
>>663
> Pages
対応したの?というかむしろ、前は対応してなかったの?

665 名前:名称未設定 mailto:sage [2006/06/04(日) 20:22:30 ID:FjBMWmwQ0]
してなかった。

666 名前:名称未設定 mailto:sage [2006/06/04(日) 20:41:30 ID:7I3E149s0]
macを指定時間に起こす方法を調べています。
do shell scriptで以下のスクリプトをadmin権限で実行すれば
いいのは分かったのですが、どうも挙動が変なのです。

pmset schedule wakeorpoweron "mm/dd/yy HH:MM:SS"

登録後にコマンドラインで確認すると、
$ sudo pmset -g sched
Scheduled power events:
[0] wakeorpoweron at 06/04/06 20:45:00
[1] wakeorpoweron at 06/04/06 20:45:00
と言う感じで、なぜか2行出てくるのです。
一応キチンと動くのですが、こういうものなんでしょうか?

667 名前:名称未設定 mailto:sage [2006/06/04(日) 21:05:13 ID:8QbESrZa0]
よくそんな情報見つけますね。
ttp://www.macosxhints.com/article.php?story=2005122507424492
の最後の書き込みにtwiceがどうのと書いてあるようですが、
解説があるわけじゃないのかな?
pmsetのman見ても何もわからないでしょうか。
ttp://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/pmset.1.html

ターミナルじゃなくシステム環境設定の省エネルギーからスケジュール入れて、
その時にpmset -gでどう表示されるか見てみてはどうですか?
結果が同じように二重ならたぶんOKという感じで。

668 名前:名称未設定 mailto:sage [2006/06/04(日) 22:04:50 ID:FjBMWmwQ0]
cronみたいに定期的にスリープから起こしてスクリプト起動ってできないかね。


669 名前:名称未設定 mailto:sage [2006/06/04(日) 22:21:49 ID:8QbESrZa0]
cronだとスリープしてても起こせるのか。それは便利だね。
OSXになってUNIX系のツールがスクリプトに応用できて
それはそれで便利だが、
そっちがあるからいいだろうみたいな感じで
AppleScriptの手を抜かれるのは困る。
もっとAppleScriptに力を入れてくれ〜。



670 名前:名称未設定 mailto:sage [2006/06/05(月) 01:58:30 ID:E7bVUrFl0]
cronだとわざわざviで入力しなけりゃならんからめんどい


671 名前:名称未設定 mailto:sage [2006/06/05(月) 03:11:57 ID:48DcA1Xe0]
>>670
> わざわざviで入力しなけりゃならん
そうなのか?

672 名前:名称未設定 mailto:sage [2006/06/05(月) 05:39:28 ID:hVWqZ6WP0]
>>669
あ、ごめん。cronではできないと思う(実はできる?)。
「cronみたいに」は「定期的に」にかかってます。
>>670
そんなことないっしょ?
crontab -eで起動するエディタは環境変数EDITORで変わるんでないかな。
でも、viも覚えると便利だよ。

673 名前:名称未設定 mailto:sage [2006/06/05(月) 16:13:37 ID:GZK2jW4qP]
>>670
CronniX
ttp://h5197.serverkompetenz.net:9080/abstracture_public/projects-en/cronnix/

674 名前:名称未設定 mailto:sage [2006/06/06(火) 00:06:13 ID:UZ7+gRGn0]
>>666
/Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist
をみると、
poweronで一項目、wakeで一項目ってなってるから、
電源OFF、スリープの両方に対応できるようにってことじゃないか?
って、家の設定はeyeTVがやったやつだけど

675 名前:名称未設定 mailto:sage [2006/06/08(木) 11:59:35 ID:0aDeE2Ny0]
下記シェルの部分でファイルの一覧は取得、書き出しできるのですが、
フォルダーの一覧の場合に書き出しできません。良い方法があればご教授願えないでしょうか。
宜しくお願いします。

set aPath to (theBasePath & "Image:General:") as string
set aFolderA to POSIX path of ((aPath & "photo:") as alias)
set aFolderB to POSIX path of (aPath as alias)
set aContA to "" as text
set aContA to do shell script "ls -v "& aFolderA &" > "& aFolderB &"/list.txt"
end tell

676 名前:名称未設定 mailto:sage [2006/06/08(木) 13:05:33 ID:NM8RurzK0]
言ってる意味がわからん。ls -d を使えばええよ、ってこと?

677 名前:名称未設定 mailto:sage [2006/06/08(木) 14:07:19 ID:JH73+in50]
>>1349
>set aContA to do shell script "ls -v "& aFolderA &" > "& aFolderB &"/list.txt"
最後の/が余分でした。失礼しました。

678 名前:名称未設定 mailto:sage [2006/06/08(木) 14:12:54 ID:LTQjNtXb0]
完全に独り言だな…。

679 名前:名称未設定 mailto:sage [2006/06/08(木) 17:33:47 ID:NMMYFvSd0]
1349!!?



680 名前:名称未設定 mailto:sage [2006/06/16(金) 22:56:05 ID:OiTL74go0]
質問です。
スクリーンキャプチャを撮影したファイルを直接ある外付けHDに書き込みたいのですが、
do shell script "screencapture /Volumes/hd/desktop/aaa.png"
とやってもSyntax Errorと出て動きません。

どうしたらよろしいのでしょうか?

681 名前:名称未設定 mailto:sage [2006/06/16(金) 23:29:50 ID:+g3YTBzU0]
do shell script "screencapture ~/Desktop/aaa.png"
ウチではちゃんと動きました。

682 名前:名称未設定 mailto:sage [2006/06/17(土) 02:39:16 ID:7MnIPeqj0]
つづり間違いとか半角スペースが抜けてるとか、
ほかの部分に間違いがあるとかじゃないの?>>680

683 名前:名称未設定 mailto:sage [2006/06/24(土) 11:12:25 ID:nN7VtVCK0]
/hd/desktop/がおかしいかな。
デスクトップはユーザー以下だから>>681な書き方かと。
詳しくないから間違ってたらすまんです。

684 名前:名称未設定 mailto:sage [2006/06/24(土) 12:08:06 ID:wMrkz/ut0]
まずTerminalで自分がいじりたいフォルダのパスを確認すべしだね。

685 名前:名称未設定 mailto:sage [2006/06/25(日) 20:33:47 ID:7e+enAWv0]
USB 1.1の外付け直下にいつのまにか「デスクトップ」ができてたので

screencapture /Volumes/ボリューム名/desktop/aaa.png

ってやってみたけど問題なかったよ。

686 名前:名称未設定 mailto:sage [2006/06/26(月) 08:11:12 ID:WtRhSijb0]
それ何が作ったフォルダだろうね。
OS9が作るやつは「Desktop Folder」みたいなんだが…。

687 名前:名称未設定 mailto:sage [2006/06/26(月) 08:12:22 ID:WtRhSijb0]
あとシェルスクリプト使う時は一応大文字小文字は気にしたほうがいいんじゃ…。

688 名前:ゴミ箱をrmコマンドで空にする1/2 mailto:sage [2006/06/26(月) 12:05:25 ID:Y8NVBXjh0]
--//ゴミ箱の内容を取得
tell application "Finder"
set |項目リスト| to (every item of trash)
set |項目テキスト| to ("" as Unicode text)
repeat with |項目| in |項目リスト|
set |項目テキスト| to |項目テキスト| & return & (POSIX path of (|項目| as alias)) as Unicode text
end repeat
end tell
--//空なら終了
if |項目テキスト| is equal to ("" as Unicode text) then
display alert "ゴミ箱は空です" message "" as informational buttons {"終了"} default button 1 giving up after 3
return 0
end if


689 名前:ゴミ箱をrmコマンドで空にする2/2 mailto:sage [2006/06/26(月) 12:05:55 ID:Y8NVBXjh0]
--//処理を選択させる
try
display alert "ゴミ箱を空にします!!" message "ゴミ箱の内容:" & (|項目テキスト| as string) as critical buttons {"しない", "ゴミ箱を開く", "OK"} cancel button 1 default button 3
set |選択処理| to (button returned of result)
on error
return 0
end try
--//選択に合わせて処理
if |選択処理| is equal to "OK" then
--//ゴミ箱の内容を削除
set |パスリスト| to every paragraph of |項目テキスト|
repeat with |パス| in |パスリスト|
if (|パス| as Unicode text) is not equal to ("" as Unicode text) then
do shell script "rm -rf '" & |パス| & "'"
end if
end repeat
else
--//ゴミ箱を開く
tell application "Finder"
open trash
end tell
end if



690 名前:名称未設定 mailto:sage [2006/06/26(月) 14:04:26 ID:WtRhSijb0]
変数が日本語なところがしぶいなw

691 名前:名称未設定 mailto:sage [2006/06/26(月) 16:50:33 ID:DBmFx+YD0]
役に立たなさすぎ

692 名前:名称未設定 mailto:sage [2006/06/26(月) 16:56:01 ID:WtRhSijb0]


693 名前:名称未設定 mailto:sage [2006/06/26(月) 17:58:37 ID:kh73jeiH0]
10.3だから動かなかったとか。

694 名前:名称未設定 mailto:sage [2006/06/27(火) 06:51:21 ID:2+W5KcZM0]
作成目的がわからないという事かな?
ゴミ箱が空にできなくなった時のための物なんじゃないの?
たまにそういう初心者質問あるよね。

695 名前:名称未設定 mailto:sage [2006/06/27(火) 09:05:54 ID:kuhLYFPT0]
「ゴミ箱を空にしています」が終了しないバグが未だにあるからね
あと、空にする前にゴミ箱の内容を確認できるのもいいんでない?
rmで削除したほうが早い場合もあるし

696 名前:名称未設定 mailto:sage [2006/06/27(火) 09:33:56 ID:2+W5KcZM0]
> 終了しない
あれはアップルメニューの「最近使った書類」を停止すれば
出なくなるという噂が。
Finder再起動すれば消せるよ。確か。

697 名前:名称未設定 mailto:sage [2006/06/27(火) 16:33:12 ID:+NyHGUTO0]

噂とか確かとか、あやふやなことばっかだな、おい。
お前の存在自体、罪だ。死ね。

698 名前:名称未設定 mailto:sage [2006/06/27(火) 16:41:48 ID:2+W5KcZM0]
はいはい。

699 名前:名称未設定 mailto:sage [2006/06/27(火) 16:47:21 ID:2+W5KcZM0]
確かに言える事は、俺んとこで
以前は頻繁に出ていた症状が最近は出てない。
で、出なくなった後に、
最近使った〜のメニューと関係があるらしいという話を読んだのだが、
その時点で俺は最近使った書類は使ってなかったので、
やはり関係があるのだろうかと思った。

で、症状が出た時の対処法として、
option押してDockのFinderをクリックした時に出るメニュー
「再度開く」でのFinderの再起動をすれば削除できるようになる、
というのをやってた気がするが、最近は症状が出てないので覚えてない、
という事だ。



700 名前:名称未設定 mailto:sage [2006/06/27(火) 21:21:23 ID:e6u13THN0]
688、689をスクリプトエディタに貼付けてそこから実行してみたのですが、
私の環境(OS X 10.4.6)では次のような動きになりました。
私のやり方か環境になにか問題があるのでしょうか。
1. 表示されたゴミ箱の項目が多すぎてボタンが画面の外に。ボタンが押せない
2. たぶんreturnキーを押せばデフォルトのボタンが押されるだろうと思いreturn
3. ガリガリとハードディスクに書き込んでいる音
4. ゴミ箱を開けてみるとまだファイルやフォルダが残っている
5. そういえばさっきたくさん表示された項目はかなり前にとっくに消去したもののような気もするが…気のせい?
6. もう一度実行してみようと思いスクリプトエディタを見るとまだスクリプトを実行中のまま
7. 中止ボタンを押してからもう一度実行ボタンを押す
8. 今度は項目が少ないので直接OKボタンを押せた
9. しかしやはり削除されずまるまる残っている。スクリプトも実行中のまま

701 名前:名称未設定 mailto:sage [2006/06/28(水) 01:39:30 ID:yt+qu2Kz0]
俺も試したけど、これシンボリックリンクはリンク先を削除してるね
>>700 はそれじゃない?

702 名前:名称未設定 mailto:sage [2006/06/28(水) 03:10:00 ID:i+sbY2lB0]
エイリアスをas aliasするとエイリアスファイルそのもののaliasが得られるが
シンボリックリンクだとオリジナルのaliasになってしまう模様。
覚えておかないと危険かもしれん。

703 名前:名称未設定 mailto:sage [2006/06/28(水) 09:16:11 ID:wta6K/xV0]
うーん。そんな事があるのか。
普段、エイリアスだったらどうなるかとかシンボリックリンクだったらとか
考えてなかったけど、やっかいですね。

704 名前:688-689 に問題あり mailto:sage [2006/06/28(水) 14:20:33 ID:iZFu8EE80]
確認したら確かにシンボリックリンクはオリジナルを削除してます
>>688 の6行目

set |項目テキスト| to |項目テキスト| & return & (POSIX path of (|項目| as alias)) as Unicode text



set |項目テキスト| to |項目テキスト| & return & ((POSIX path of (|項目| as Unicode text)) as Unicode text)

に変えるとシンボリックリンクの問題は解決するようです(OS 10.4.6で確認)
>>700 さん。大切なファイル消しちゃってないですか?だとしたら申し訳ないです。

705 名前:700 mailto:sage [2006/06/29(木) 01:16:23 ID:aVmYOARU0]
>>704
今のところ大切なファイルを消した様子はないです。
もし消していたとしても自己責任で試しているので問題ないです。
気を使っていただいてすみません。

706 名前:名称未設定 [2006/07/05(水) 01:51:19 ID:ufSTtuTX0]
DVDを挿入したときに風呂が起動するようにしたいんだけど
tell application "Front Row"
activate または launch
end tell
これで起動できないなぜ?

707 名前:名称未設定 mailto:sage [2006/07/05(水) 01:56:55 ID:Rd5tvP1B0]
バックグラウンドで起動してるから

708 名前:706 [2006/07/06(木) 10:12:38 ID:jRb3p9JP0]
ひょっとしてAppleScriptじゃFrontRowの起動は無理ですか?

709 名前:名称未設定 mailto:sage [2006/07/06(木) 10:20:21 ID:DSm0V7LN0]
使ってないのでわからないのだが、手で操作する時はどうやって呼び出すの?



710 名前:名称未設定 mailto:sage [2006/07/06(木) 10:22:41 ID:jRb3p9JP0]
キーボードならコマンド+ESCでメニューが立ち上がります

711 名前:名称未設定 mailto:sage [2006/07/06(木) 10:25:58 ID:DSm0V7LN0]
じゃあescのキーのコード?を調べてGUI Scriptingでそのまま再現してみたらどうでしょう。
それ以前に、DVDの挿入はどうやって検知するの?

712 名前:名称未設定 mailto:sage [2006/07/06(木) 10:29:14 ID:jRb3p9JP0]
システム環境設定の「DVDとCD」で挿入されたときにスクリプトを実行するを選ぶだけです

713 名前:名称未設定 mailto:sage [2006/07/06(木) 10:35:17 ID:DSm0V7LN0]
いつの間にかそんな事ができるように…。

714 名前:名称未設定 mailto:sage [2006/07/06(木) 10:47:37 ID:DSm0V7LN0]
key codeを調べる方法については、もう一方のスクリプトスレに載ってました。
pc7.2ch.net/test/read.cgi/mac/1111760449/507-508

715 名前:名称未設定 mailto:sage [2006/07/06(木) 11:34:12 ID:jRb3p9JP0]
thx
てかこのスレは発表用でしたね
移動しますありがとうございました。

716 名前:名称未設定 mailto:sage [2006/07/16(日) 18:53:10 ID:LA5Pcynf0]
>>706
当初ハックされた頃は下記のスクリプトで起動できましたが、
今は動かないような...

tell application "System Events"
tell application "Front Row" to activate
key code 53 using {command down}
delay 0.5
key code 53
end tell

717 名前:名称未設定 mailto:sage [2006/07/17(月) 04:02:22 ID:MCrONrOi0]
あれ? ApplescriptでiTunesから情報を取得する構文って最近仕様変わった?

tell application "iTunes"
set hoge to album of current track
end tell

前は↑こういうのでいけてたと思うんだけど、通らない。

718 名前:名称未設定 mailto:sage [2006/07/17(月) 04:39:38 ID:1HRrO9nI0]
問題ありませんが

719 名前:名称未設定 mailto:sage [2006/07/17(月) 04:44:56 ID:MCrONrOi0]
あれー、おかしいな。なんでだろ。
「end of lineがあるべきところですがidentifierが見つかりました」エラーが
2行目最後のtrackの部分で出る。
OS X 10.4.7
iTunes 6.0.5です



720 名前:名称未設定 mailto:sage [2006/07/17(月) 06:23:53 ID:SjOC3/3J0]
あっそ

721 名前:名称未設定 mailto:sage [2006/07/17(月) 09:41:45 ID:FBn5ELN40]
何かタイプミスがあって余計な物が入ってたりするんじゃないですか?
それか、長いスクリプトの一部なら、問題はそこじゃなくて、
もっと前にあるとか。

722 名前:名称未設定 mailto:sage [2006/07/17(月) 15:28:03 ID:MCrONrOi0]
>>721

>>717の内容だけをそのままコピペしても、
いちからタイプし直しても通らなかったです。
が、なぜかMacを再起動させたら、
同じ内容のスクリプトで通るようになりました。謎です。

再起動させる前は、自分で書いたもの以外でも、
ネットから落としてきたiTunesの情報取得系のスクリプト全般が
動きませんでした。

723 名前:名称未設定 mailto:sage [2006/07/18(火) 03:19:01 ID:mwalplrk0]
再起動ぐらい聞く前に試せと言いたいけど言わない。

724 名前:名称未設定 mailto:sage [2006/07/18(火) 06:24:24 ID:AfM45w4d0]
いろいろエラーのあるAppleScriptを試してると、
たまにおかしくなることあるよ。
「AppleScriptのホストが変になる」というのが自分の内部表現(w


725 名前:名称未設定 mailto:sage [2006/07/18(火) 11:14:46 ID:q9+ZhTXP0]
>>723
後から考えるとそうだけど、
スクリプトの構文エラーと再起動って、思考が直接的に結びつかなくって。

726 名前:名称未設定 mailto:sage [2006/07/18(火) 13:42:22 ID:8WQteKpd0]
AppleScript Studio使って作られたソフトとかあるから
そういうの使ってて何かおかしくなったりしたのかもね。

727 名前:名称未設定 mailto:sage [2006/07/19(水) 00:32:09 ID:MroxpPSZ0]
AppleScript StudioはCocoa-Javaのように消えてくだろ

728 名前:名称未設定 mailto:sage [2006/07/19(水) 06:05:58 ID:xXHCkYjT0]
LeopardにはRubyCocoaバンドルらしいので、
そっちに流れていくかもね。

729 名前:名称未設定 mailto:sage [2006/07/19(水) 22:02:22 ID:aPAeVTVh0]
>>722
俺も一部の自作スクリプトがiTunes6.0.5にしたら動かなくなった。
動かないのは、選択したトラックを取得するのに、うっかり
「set 変数 to a reference to selection」にしてなかったやつ。
これを書かないと以前から動いたり動かなかったりしてた。



730 名前:名称未設定 [2006/07/19(水) 22:02:45 ID:tKMQMkXJ0]
質問なんですが、AppleScriptで
「アプリケーションのプロセスを待って動作させる」というようなスクリプトは作成できるのでしょうか?
例えば「QuickTimeのエンコード終了を待って次の動作に移る」等。
可能であるならばその方法を教えていただけないでしょうか?
よろしくお願いしますm(_ _)m

731 名前:名称未設定 mailto:sage [2006/07/20(木) 00:55:32 ID:p7ceYB7N0]
on idleのタイミングでエンコード中のダイアログが出てるかUI Scriptingで調べるとか

732 名前:名称未設定 mailto:sage [2006/07/20(木) 01:08:35 ID:GlRrYNtn0]
QuickTimeからresult来るまでウェイト入れた空ループじゃ駄目なの?

733 名前:名称未設定 [2006/07/20(木) 01:12:23 ID:g8sNbFz20]
皆さんありがとうございます!

>on idleのタイミングでエンコード中のダイアログが出てるかUI Scriptingで調べるとか

なるほど、、、しかし、書き方がわかりません、、、申し訳ない。



>QuickTimeからresult来るまでウェイト入れた空ループじゃ駄目なの?

repeat with i from 1 to result
(中身)
end repeat

こういうことですか?

734 名前:名称未設定 mailto:sage [2006/07/20(木) 01:45:27 ID:g8sNbFz20]
いまはこういう書き方をしてるんですけど、いちいちQuickTimeを終了せねばならず。
そのためフォルダアクションで複数のファイルを処理する時に失敗するんです。
(1つしかエンコードできない)

tell application "Finder"
set applist to (name of application processes)
end tell
if "QuickTime Player" is in applist then

tell application "Finder"
delete file aItem
empty trash
end tell

end if

735 名前:名称未設定 mailto:sage [2006/07/20(木) 02:42:22 ID:shwPOoJX0]
>>706
もう見てないと思うけどスクリプト動かして起動できたよ。

736 名前:名称未設定 mailto:sage [2006/07/22(土) 23:13:12 ID:CocKmnsj0]
iTunesの、あるプレイリスト内のムービーの「ビデオの種類」を「ミュージックビデオ」に
変更するスクリプトをどう作ればいいか分かる方はいませんか?

スクリプトエディタのライブラリを見ても、該当するプロパティ?は見つかりませんでした。

使用しているOSは10.4、iTunesは6.0.5です。

737 名前:名称未設定 mailto:sage [2006/07/23(日) 02:46:51 ID:CzN2p98D0]
もはや発表会とは名ばかりか

738 名前:名称未設定 mailto:sage [2006/07/24(月) 00:57:57 ID:wegvkJB70]
質問の発表会。。ヾ(´∇`)。。

739 名前:名称未設定 mailto:sage [2006/07/25(火) 09:47:50 ID:dfuHrfG60]
>>562縺ョ襍キ蜍輔ョ繧」繧ケ繧ッ繧貞、峨∴繧九せ繧ッ繝ェ繝励ヨ縺後≧縺セ縺丞虚縺九↑縺??縺ァ縺?

repeat until (exists button縲懊?縺ゅ◆繧翫〒豁「縺セ縺」縺。繧?≧

迺ー蠅??OSX10.4.7縲`acBook縺ァ縺吶?√←縺ェ縺溘°蜉ゥ縺題亜繧偵r繧偵r



740 名前:名称未設定 mailto:sage [2006/07/25(火) 09:50:34 ID:dfuHrfG60]
>>562の起動ディスクを変えるスクリプトがうまく動きませんです

repeat until (exists button〜のあたりで止まってしまいます

環境はOSX10.4.7、MacBookです、どなたか解決方法を教えてください
文字化けすいません

741 名前:740 mailto:sage [2006/07/25(火) 10:30:08 ID:dfuHrfG60]
自己解決

システム環境設定>ユニバーサルアクセスの「画面表示」タブの一番下にある
「補助装置を使用可能にする」にチェックを入れると動きました

562さんありがとう

742 名前:名称未設定 mailto:sage [2006/07/25(火) 11:15:41 ID:pGhhrrLi0]
bless?使ってもっとシンプルなの作れなかったっけ。
まあいいや。

743 名前:名称未設定 [2006/07/30(日) 14:57:10 ID:IvFaWGqE0]
ほしゅ

744 名前:名称未設定 [2006/07/31(月) 10:08:18 ID:GSUtYZTM0]
OSX10.4で
ttp://homepage1.nifty.com/ton_b/tips/Handler/Recursive.html
ttp://homepage1.nifty.com/ton_b/tips/Reference/Plural.html
みて再帰処理でドロップしたフォルダ内全てのファイルを処理したいんだけど、
サンプルを実行するとエラーがでるんだけど。OSX10.4でなにか変わったのでしょうか?

745 名前:名称未設定 mailto:sage [2006/07/31(月) 14:19:53 ID:GL7aWMae0]
> OSX10.4でなにか変わったのでしょうか?

リリースノートでも読め。
ttp://developer.apple.com/releasenotes/AppleScript/index.html

746 名前:名称未設定 mailto:sage [2006/08/01(火) 04:39:27 ID:JiFW6OPM0]
このスレかどこかで俺が質問したやりとりがあったような気がしたけど、
do shell scriptでコマンドのfindを使って
フォルダ以下のファイルのリストを出して
ループで順番に処理して行く方法がありますよ。

747 名前:名称未設定 mailto:sage [2006/08/01(火) 06:36:41 ID:WH1ijfh80]
AppleScript に System Events の menu item 関係の命令で右クリックの命令なんてないよね??

748 名前:名称未設定 mailto:sage [2006/08/01(火) 09:13:53 ID:KWMx4E2U0]
Ctrl押したまま選択とかじゃね


749 名前:744 [2006/08/01(火) 09:35:39 ID:ePM4mbTt0]
>>745
今回は、アップルスクリプトだけで処理を書き直してみようと思って挑戦してたのですが、駄目なようですね。
情報ありがとうございました。



750 名前:名称未設定 mailto:sage [2006/08/07(月) 10:19:44 ID:MpajR1Ui0]
pismo400MHzでOS X 10.3.9を使っているんですが、
iTunes でライブラリ中のmp3ファイルをconvert コマンドでAAC に変換しようとすると、
2分くらいでアップルイベントがタイムアウトしてしまい、作成されたファイルの参照を取得できません。
変換自体は最後まで行われますが、作成されたAACファイル(track)の情報を取得するにはどうしたらいいのでしょうか。
まあタグ情報自体は元のファイルから引き継がれるようなので、enable を false に出来ればいいんですが。

751 名前:名称未設定 mailto:sage [2006/08/07(月) 17:59:50 ID:1OcA356R0]
こういうこと?

tell application "iTunes"
set curEncoder to (current encoder)
set current encoder to encoder "AAC Encoder"

with timeout of 3600 seconds
set encodedTracks to (convert (selection as list))
end timeout

set current encoder to curEncoder
return encodedTracks
end tell

752 名前:名称未設定 mailto:sage [2006/08/07(月) 22:45:11 ID:eD9/OPBs0]
>752
そういうことです。有り難うございます、勉強になります!

‥‥‥、timeout って汎用的に使えるのか。

753 名前:名称未設定 [2006/08/10(木) 18:24:21 ID:ekj8vQPu0]
ITunesスレでと思ったのですが、こちらの方が詳しい方多そうなので教えてください。

エンコーディングし直すと消えてしまう「最後に再生した日」を
指定して設定するか、もしくは今日に設定するAppleScriptって
どうしたら良いのでしょうか?

ttp://members.at.infoseek.co.jp/obto/script/script3.html#playedcount

再生回数を変更というのは見つかったのですが...。
発表ではないのですが、よろしくお願いします。

754 名前:名称未設定 mailto:sage [2006/08/10(木) 20:53:28 ID:/hppnkkL0]
そんな君には最後に再生した日にエンコードすることをお勧めする

どうしてもScriptで、と言うならば
>>3
のサイトを回って、Appleのサンプルを見れば、
半日もあれば書けるようになるはずだ。
ぷろぐらみんぐ知識ゼロからでも問題ない(俺)

755 名前:名称未設定 mailto:sage [2006/08/10(木) 23:10:23 ID:ekj8vQPu0]
>>754
無事できました。ありがとうございます。
今は「最後に再生した日」と現在の「再生回数」+1に同時に処理するのが
できるよう、また勉強します。

756 名前:名称未設定 mailto:sage [2006/08/11(金) 02:11:15 ID:dHyzPpgt0]
>>755
はやっ。すげ。
あなた様の努力を前に、
適当な回答をしたことを後悔しています。

と思った矢先ですが、あいにく
>「最後に再生した日」と現在の「再生回数」+1に同時に処理するのが
というのが意味がわからず、今回もまっとうな回答はできません。
ごめんなさい。

757 名前:名称未設定 mailto:sage [2006/08/11(金) 02:45:14 ID:mP7GlcA60]
>>753
--最後に再生した日を変更
tell application "iTunes"
set seltrack to a reference to selection
repeat with x in seltrack
set pldate to ((played date) of x as string)
if pldate is "missing value" then set pldate to (current date) as string
set newdate to text returned of (display dialog "最後に再生した日を変更" default answer pldate)
set (played date) of x to date newdate
end repeat
end tell

ってことで、そのページにも載せといた

758 名前:名称未設定 [2006/08/15(火) 17:24:33 ID:BOQTRGx80]
safariで現在のタブから画像ファイルのアドレスを抽出するにはどうしたらいい?

759 名前:名称未設定 mailto:sage [2006/08/15(火) 21:30:57 ID:jofmHk9N0]
>>758
ウインドウメニュー>構成ファイル一覧



760 名前:名称未設定 mailto:sage [2006/08/16(水) 02:36:05 ID:VJ0p8aWL0]
>>758
do javascript
www.apple.com/applescript/safari/jscript.01.html


761 名前:名称未設定 [2006/08/16(水) 07:41:01 ID:gkbF1T330]
iChatのメンバーリストの人数を調べるスクリプト
iChatのメンバーリストを前面に持ってきて実行

activate application "iChat"
tell application "System Events"
tell process "iChat"
try
set tbl to table 1 of scroll area 1 of window 1
set tblRow to row of tbl
set num to number of tblRow
display dialog num & "人"
end try
end tell
end tell




762 名前:名称未設定 [2006/08/16(水) 07:44:37 ID:gkbF1T330]
ごめん。
display dialog num & "人" as string
としないとエラーになる。

763 名前:名称未設定 mailto:sage [2006/08/16(水) 20:27:14 ID:IJuZ3yrr0]
>>758
何したいのかわからんけど、lynx入れて
set imageLinks to do shell script "path/to/lynx -dump -image_links URL"
とかが手っ取り早いんじゃ?

764 名前:名称未設定 mailto:sage [2006/08/17(木) 12:30:45 ID:sVUCFaPi0]
アップルスクリプトでブラウザの
テキストボックスの入力と、ラジオボタンの選択、メニュー項目の選択を
自動で行わせ送信するやり方ってありますか?

765 名前:名称未設定 mailto:sage [2006/08/17(木) 12:55:36 ID:LaflLNWq0]
あるね

766 名前:名称未設定 mailto:sage [2006/08/17(木) 14:01:24 ID:kDCkY2Az0]
バージョンも書かんと質問する奴ってのは絶えんもんだの。

767 名前:名称未設定 mailto:sage [2006/08/17(木) 14:18:21 ID:sVUCFaPi0]
Script Editor 2.0
Safari 1.3.2

property target_URL : ""

open location target_URL

set textboxvalue to ""
set radioboxvalue to ""
set optionvalue to ""

スクリプトやった事ないのでコレしか分かりません。
ググってもソレらしい関数が見つかりません。
やり方か説明サイト教えてくれませんか?


768 名前:名称未設定 mailto:sage [2006/08/17(木) 14:43:51 ID:LaflLNWq0]
GUI スクリプティング
UIElementInspector

769 名前:名称未設定 mailto:sage [2006/08/17(木) 14:56:04 ID:kDCkY2Az0]
つttp://www.apple.com/applescript/uiscripting/
っttp://www.prefab.com/uibrowser/



770 名前:名称未設定 mailto:sage [2006/08/17(木) 15:19:21 ID:sVUCFaPi0]
>>768-769
有り難うございます。色々分かりました。
UI Element Inspectorでカーソルの情報を習得し、
apple scriptでウィンドウのカーソルの座標を利用して入力して行く感じですね。
apple scriptの関数はまだ知りませんが、何とかなるでしょう。

771 名前:名称未設定 mailto:sage [2006/08/17(木) 17:51:25 ID:ChchAyoL0]
実際やるとなるとうまくいかないことが多いんだよね・・・UIって。

772 名前:名称未設定 mailto:sage [2006/08/17(木) 18:27:54 ID:RwGBdV2AP]
>>760
のdo javascriptでもできるんじゃないかな
試しにグーグルで書いてみた
tell application "Safari"
open location "www.google.co.jp/"
delay 2

-- 検索ワードに1~5を入力
repeat with i from 1 to 5
do JavaScript "document.f.q.value = " & i & ";" in document 1
delay 1
end repeat

--ウェブ全体から検索 日本語のページを検索のトグル
do JavaScript "document.f.lr[1].checked = true;" in document 1
delay 1
do JavaScript "document.f.lr[0].checked = true;" in document 1
delay 1
do JavaScript "document.f.lr[1].checked = true;" in document 1

--検索実行
do JavaScript "document.f.submit();" in document 1
end tell

Safari 1.3.2でdo JavaScriptができるかは知りませんけど

773 名前:名称未設定 mailto:sage [2006/08/18(金) 05:04:04 ID:gQtP13lr0]
>>772
もの凄くいいこと聞いた。


774 名前:名称未設定 mailto:sage [2006/08/19(土) 00:06:35 ID:oOgaebit0]
>>772
AppleScriptの威力に驚きました!

>do JavaScript "document.f.lr[1].checked = true;" in document 1
このようなコマンドは、Safariのソースを表示して、それを目で読んで、
解析して、Javascriptに手で入力する必要がありますか?

簡単に行う裏技などはございますか?

775 名前:773 mailto:sage [2006/08/19(土) 13:10:09 ID:rCILBtZI0]
強いて言えばFirefox/MozillaのDOMインスペクタを使うこととか。

でも、「簡単に」は無いな。
JavaScript DOMでググるといいよ。


776 名前:名称未設定 [2006/08/20(日) 16:20:58 ID:fFVjCPjq0]
iTunesの「ライブラリに追加」をAppleScriptまたはAutomatorから呼び出す方法を教えてください。
ScriptEditorについてる、マニュアルは一通り読んだのですがなさそぅなので。

777 名前:名称未設定 mailto:sage [2006/08/20(日) 16:43:38 ID:sUsNHhvY0]
試してないけどaddコマンドとか

778 名前:名称未設定 mailto:sage [2006/08/20(日) 19:08:01 ID:3zT69OL90]
>>776
tell application "iTunes" to open (choose file with multiple selections allowed without invisibles)


# 灯台下暗し

779 名前:名称未設定 mailto:sage [2006/08/20(日) 21:07:58 ID:+F+DKr+C0]
>>776
あるアプリケーションを使うAppleScriptを書きたい時は、
そのアプリケーションをスクリプトエディタで開いてみるといいです。
(アプリケーションのアイコンをスクリプトエディタのアイコンにドラッグ&ドロップ)



780 名前:名称未設定 mailto:sage [2006/08/22(火) 01:44:44 ID:vk5PF/zm0]
複数のアプリケーションのスクリプト辞書をマージしてひとつの新しい辞書を作る AppleScript を作ってみました。

*Script Editor が開いたスクリプト辞書の実体は /tmp に作成された sdef ファイルですので、それらを操作します。
 ちなみに辞書ウィンドウのタイトルバーのアイコンをデスクトップにドラッグすれば、/tmp にあるそれらの sdef のエイリアスがデスクトップに作成されます。

*はじめに、Script Editor で好きなアプリケーションの辞書をいくつか開いてください。
 Macを起動してから既に何度か辞書を開いたことがあるなら、その必要はありません。

*このスクリプトは、Saveダイアログで指定した名前の sdef ファイルを作成します。ただ、その作成されたファイルは TextEdit か何かの書類アイコンになっています。これを Script Editor で開いて、終了します。
このウィンドウに対して "Save as..." コマンドを実行すれば、正しいアイコンのファイルに置き換えることができます(ダブルクリックで Script Editor が開く。)

* マージされた辞書のなかで "Standard Suite" などが重複しないようにしていますが、例えば iTunes ではこの部分の "****" という文字列が "????" になっているので、別のスイートと解釈して重複します。

*基本的にクソです。

781 名前:名称未設定 mailto:sage [2006/08/22(火) 01:47:05 ID:vk5PF/zm0]
(* sdefMerge.applescript *)
-- 1/2
set suiteTags to {}
set suiteObjects to {}

do shell script "ls /tmp/*.sdef"
repeat with sdef in paragraphs of the result

set FH to open for access (sdef as POSIX file)
set x to read FH using delimiter "<"
close access FH

set {theSuite, inDepth} to {"", 0}
repeat with i in x
if inDepth < 2 then
if i begins with "suite" then
if (i as text) is not in suiteTags then
set theSuite to theSuite & "<" & i as text
set end of suiteTags to i as text
set inDepth to 2
else
set inDepth to 3
end if
end if


782 名前:名称未設定 mailto:sage [2006/08/22(火) 01:48:31 ID:vk5PF/zm0]
-- 2/2
else if inDepth = 2 then
if i begins with "/suite" then
set theSuite to theSuite & "<" & i as text
set end of suiteObjects to theSuite
set theSuite to ""
set inDepth to 1
else
set theSuite to theSuite & "<" & i as text
end if
else if inDepth = 3 then
if i begins with "/suite" then set inDepth to 1
end if
end repeat -- with i

end repeat -- with sdef

--
set line1 to "<?xml version=¥"1.0¥" encoding=¥"UTF-8¥"?>"
set line2 to "<!DOCTYPE dictionary SYSTEM ¥"file://localhost/System/Library/DTDs/sdef.dtd¥">"

set outputFileRef to (choose file name default name "Various Suites.sdef" default location (path to desktop folder))

set AppleScript's text item delimiters to return
set suiteObjects to suiteObjects as text
set AppleScript's text item delimiters to ""

set FH to open for access outputFileRef with write permission
write line1 & return & line2 & return & "<dictionary>" & suiteObjects & "</dictionary>" to FH
close access FH

tell application "Script Editor" to open outputFileRef

783 名前:名称未設定 [2006/08/27(日) 00:37:55 ID:poBZfix20]
 教えてクレクレ君で初登場します。
特定のホルダーに同じテキストが1000枚あります。
この中の各書類の「ABCDE」という部分だけを「あいうえお」と置き換えるスクリプトってどう書けばいいのか教えて下さい m(_ _)m ゴシゴシ
 有名なHPは見たんですが、なにぶん意味がよくわかりませぬ・・・・・

784 名前:名称未設定 mailto:sage [2006/08/27(日) 01:01:59 ID:orWIXy400]
OSバージョンも書かずに何言ってんだボケ

Jeditのマルチファイル置換とか使えば良いんじゃねーの?
同じテキストってんなら、1個書き換えて999個コピーすりゃ良いんじゃねーの?

785 名前:名称未設定 mailto:sage [2006/08/27(日) 01:12:32 ID:wzt6c3lt0]
>>783
やりかたはあるがASは昔からテキストの扱いは遅くて使い物にならんからやめたほうがいい
同じことが出来るアプリはいくつもあるんだが
自分で作ったものに組み込みたいという話ならPerl使え。


786 名前:783 [2006/08/27(日) 01:25:25 ID:poBZfix20]
OSXです。
各書類に通し番号のリンクが張ってあるhtml文書なので、コピーができないんです。
0001.html〜0999.htmlみたいな感じです。
Jedit、Perlですか。ちょっと見てみます。どうも、です。m(_ _)m

787 名前:783 [2006/08/27(日) 02:14:34 ID:poBZfix20]
Jedit、すばらしいです。超簡単ですた。

788 名前:名称未設定 mailto:sage [2006/08/28(月) 03:29:49 ID:ek0Kjxqg0]
>>786
次からはOSXのバージョンも書きましょうね
OSX10.x.yのyまで

789 名前:名称未設定 mailto:sage [2006/08/28(月) 21:13:49 ID:SFaWeRSn0]
>>788
横やりいれるが、なんで??



790 名前:名称未設定 mailto:sage [2006/08/28(月) 21:19:17 ID:PeGrrzzL0]
(´д`)

791 名前:名称未設定 [2006/08/29(火) 02:19:40 ID:yBb/YZ5b0]
(´д`)

792 名前:名称未設定 mailto:sage [2006/08/29(火) 10:44:09 ID:Vz+35o5B0]
(´д`)

793 名前:名称未設定 mailto:sage [2006/08/31(木) 14:14:42 ID:iLgwAL7r0]
自分はマルチファイル置換ならAppleScript使ってる。
普通のデリミタ置換だったらかなり速い。
正規表現とか文字コードとか入ってくるとダメだけど。

794 名前:名称未設定 mailto:sage [2006/09/02(土) 23:16:47 ID:xw0rVWxe0]
OS9でテキスト操作は俺の場合OSAXでやってたから結構速かったけどな。
デリミタ使うのはちょっと面倒だし遅い。


795 名前:名称未設定 mailto:sage [2006/09/02(土) 23:37:29 ID:LVzkzeQU0]
書くのが簡単だからってdo shell script でperlとか使うと、あとで大変な目に遭う。
デリミターのほうが遥かに速い。個人でしか使わないならosaxでいいけど。

796 名前:名称未設定 mailto:sage [2006/09/02(土) 23:48:03 ID:TANFKvo30]
>あとで大変な目に遭う

このへんを具体的に詳しく。

797 名前:名称未設定 mailto:sage [2006/09/03(日) 01:26:17 ID:Z32bhVhy0]
do shell scriptのオーバーヘッドが大きいってことでしょ。
repeatループの中で細かくdo shell scriptすると大変なことになるってことだろう。


798 名前:名称未設定 mailto:sage [2006/09/03(日) 11:24:55 ID:E5sumffD0]
ごく簡単な置換スクリプトを、
delimitersで書いたときと、do shell scriptで書いたときと、
repeatで100回回してみれば、速さの差は歴然。

799 名前:名称未設定 mailto:sage [2006/09/03(日) 19:03:28 ID:SA8UZTXV0]
過去ログを探しているんですが、まとめサイトってあります?
4,5スレは、まだ2ch側でHTML化されてないので読めなくて。



800 名前:名称未設定 mailto:sage [2006/09/03(日) 20:15:30 ID:PmV8cIRr0]
5
makimo.to/2ch/pc7_mac/1067/1067367790.html

801 名前:名称未設定 mailto:sage [2006/09/03(日) 21:59:09 ID:pp5U4xYG0]
>>800
サンクスでした

802 名前:名称未設定 mailto:sage [2006/09/04(月) 20:00:16 ID:dIIYrgLQP]
最近
set thePath to "/private/tmp/tmp.txt"
POSIX file thePath
でunixパスをhfs形式(file)に変換できることを知ったのでメモ

803 名前:名称未設定 mailto:sage [2006/09/04(月) 22:47:33 ID:GA4rxehr0]
>>802
知らんかった。




4 (ただし987レスまで)
ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_20746zip.html

804 名前:名称未設定 mailto:sage [2006/09/05(火) 13:36:22 ID:170rSk9J0]
>>798
Perl内でループさせればいいじゃん

…っていう風にやってるとAS側はdo shell script以外何も書かない
ただの呼び出し用になったりするわけだがw

805 名前:名称未設定 mailto:sage [2006/09/05(火) 16:51:22 ID:KRCcBaxC0]
Automator -> AppleScript呼び出し用
AppleScript -> do shell script呼び出し用

806 名前:名称未設定 mailto:sage [2006/09/05(火) 21:03:24 ID:4xAmLoDP0]
もはやはじめからPerlで書いてもいいような気が...

変数の扱いがAS経由の方が楽なのか?

807 名前:名称未設定 mailto:sage [2006/09/06(水) 01:21:36 ID:hU65Wacp0]
>>803
サンクスコ

808 名前:名称未設定 mailto:sage [2006/09/06(水) 11:50:28 ID:qZmE/1B60]
>>806
そう、変数をあれこれ操作する場合にASのほうが楽。
テキストはテキストで細かいこと考えずに扱えるし。
つーか、俺がperlとかはよく知らないだけなんだけど、
エスケープ文字の扱いがめんどくさくていやになる。

809 名前:名称未設定 mailto:sage [2006/09/06(水) 21:45:17 ID:TMezbApr0]
そもそもアプリを操作するのにAS使わないと面倒なので。



810 名前:名称未設定 [2006/09/06(水) 23:50:06 ID:DuyMOU6H0]
リストが遅過ぎてperlやawkの用途には使えんな、AppleScriptは。

811 名前:名称未設定 mailto:sage [2006/09/07(木) 06:23:55 ID:K27vXepD0]
だからリストは使わずにテキスト操作でやってます

812 名前:名称未設定 mailto:sage [2006/09/07(木) 11:32:57 ID:32yfDfBI0]
どっちも良いところはあるけど

813 名前:名称未設定 mailto:sage [2006/09/07(木) 19:31:25 ID:7BCL55gq0]
コマンドラインから受けたエスケープされたパス
(日本語とか空白とか含むもの)って、
osascriptに渡すとエラーするみたいなんだけど
みんなどうやって対処しているの?

814 名前:名称未設定 mailto:sage [2006/09/07(木) 19:37:06 ID:2jQzgdDv0]
>>813
以前、その問題にぶつかったときは、日本語をファイルに書き込む。
受け側でファイルの中身を読み取る。って感じにしたような。

815 名前:名称未設定 mailto:sage [2006/09/13(水) 09:22:51 ID:jtTWXuyG0]
みんな色々ノウハウ持ってるんだなー。
そういうのどこかにまとめられたりしないだろうか。

816 名前:名称未設定 mailto:sage [2006/09/13(水) 12:04:31 ID:WytsoAIK0]
CocoaだとCocoa Wikiとかあるけどね

817 名前:名称未設定 [2006/09/14(木) 01:20:38 ID:YZ7BSad+0]
誘導されてきました。既出ならスマソです。

ムービーフォルダに貯まっていく.movの拡張子がついた録画ファイルを
夜中の12時なったら自動的に「携帯動画変換ちゃん」で.mp4ファイルに
変換、元のファイルを削除する、

このようなスクリプトをautomater とapple scriptで作りたいのですが
アドバイスお願いします。

818 名前:名称未設定 mailto:sage [2006/09/14(木) 02:05:14 ID:Bjnyeigi0]
まず、どこまで書けていて何がわからないのかを明確にせよ。

819 名前:名称未設定 mailto:sage [2006/09/14(木) 05:46:28 ID:BG3apx5l0]
>>817
>>1-5



820 名前:名称未設定 mailto:sage [2006/09/14(木) 16:37:02 ID:DTXwhRJT0]
携帯動画変換ちゃんがアップルスクリプトに対応しているかどうかが、まず肝心。
携帯動画変換ちゃんをスクリプトエディタに重ねてみて、変換用のコマンドがあるかどうか。

821 名前:名称未設定 mailto:sage [2006/09/14(木) 18:07:24 ID:aM1jNbnT0]
>>817
GUI Scriptingでがりがり書く。

822 名前:名称未設定 mailto:sage [2006/09/14(木) 18:48:42 ID:vIpLp0yY0]
817です。レスありがとうございます。
まだ何も書けていない状態のド素人です。
今、携帯動画変換ちゃんのアイコンをスクリプトエディタにDrag and Dropして
みましたが無反応でした。対応してないようです。
GUI Scripting 初耳です。Apple ScriptやAMに対応していなくとも
いけるのでしょうか?



823 名前:名称未設定 mailto:sage [2006/09/15(金) 13:33:06 ID:8swwBzUg0]
GUI Scripting使えば、ASに対応してないアプリでもメニューの中にある機能
やショートカットのボタンを操作して動かせるよ。
allabout.co.jp/computer/macos/closeup/CU20031220asc/index.htm

押すキーを書いていくだけだからまずは自分で試してみては。

824 名前:名称未設定 mailto:sage [2006/09/15(金) 18:55:29 ID:CcUDHIMm0]
>>823
トンクスです。さっそくいじくってみます〜!

825 名前:名称未設定 mailto:sage [2006/09/15(金) 23:21:08 ID:Dn0sqRbd0]
ほとんど同じ機能のMETでいいじゃんか。
あれなら連動にも対応しているし。

826 名前:名称未設定 mailto:sage [2006/09/16(土) 19:12:28 ID:eMtdMXbW0]
iTunesのアップルスクリプトが7で少し変わった。
新機能がらみのプロパティの他に、従来は開始時間や停止時間の設定で値がヌルでもよかったのが、0としないとエラーするようになった。

827 名前:名称未設定 mailto:sage [2006/09/17(日) 00:13:40 ID:ORQ+CIEg0]
再生中の曲のジャケットをデスクトップピクチャにできないかと思ったが無理そう
artwork of current track が取り出せないような

828 名前:名称未設定 mailto:sage [2006/09/17(日) 00:35:41 ID:wHhKKTWL0]
>>827
アートワークは複数登録できるので

artwork [番号] of current track

でおk。

829 名前:名称未設定 mailto:sage [2006/09/17(日) 00:59:21 ID:yDnYZmUtP]
昔再生してる曲のアートワークをDragThingのゴミ箱アイコンにしてたので
それをちょっと改造してみた。別途osaxが必要です。
--iTunesで再生してる曲のアートワークをデスクトップピクチャにする
--必要なosax GraphicsImporter OSAX
--www.azug.gr.jp/~h-abe/freeware/gio/index.ja.html
tell application "iTunes"
set theCurrentTrack to current track
try
set theArtwork to data of artwork 1 of theCurrentTrack
on error error_message
return -1
end try
end tell
-- iTunes7で取得したアートワークは形式不明で変換しないと駄目みたいだった
-- 昔埋め込んだのはpictで取り出せるけどpictはデスクトップに貼れないみたい
try
set theArtwork to giconvert theArtwork type "JPEG" --resolution {72, 72}
on error error_message
return -1
end try
set theFolder to path to desktop as string
set theHFSFile to theFolder & "iTunes_Artwork_to_Desktop.pict"
set refNum to open for access theHFSFile with write permission
if refNum > 0 then
write theArtwork to refNum
close access refNum
else
return -1 --アートワークを保存できなかったので終了
end if
tell application "Finder"--PICT、TIFFは設定できないみたい
set desktop picture to theHFSFile as alias
end tell



830 名前:名称未設定 mailto:sage [2006/09/17(日) 01:19:32 ID:yDnYZmUtP]
.pictは.jpgの方がいいですね
あと、デスクトップピクチャをランダムで指定してると
スクリプトから変更できない見たいです。
詳しくはよくわかりませんが

831 名前:名称未設定 mailto:sage [2006/09/17(日) 03:31:01 ID:ORQ+CIEg0]
>>828 サンクス
>>829で解決してるが、色々やってみたので一応報告
以下、僕の環境ではartworkのformatがどれも「JPEG picture」しか返さないのでそれ以外の場合は不明

・artworkのdataをそのままファイルに保存&クリエータをJPEGにしても画像ファイルになってないが、
 GraphicConverterで無理矢理開くとJPEGとして開いてはくれる
・先頭の220バイト程度(ファイルによって異なるようだ)を削ったらJPEGになったっぽい
 (Finderプレピューも表示され、set desktop pictureで設定できた)

832 名前:名称未設定 mailto:sage [2006/09/17(日) 04:28:57 ID:XUomvoiY0]
このページ紹介しておきます。

TBBOY'S ROOM: iTunesのアートワークを.jpgや.pngに変換
tbboy.cocolog-nifty.com/tbboys_room/2006/09/itunesjpgpng_5603.html

ただ、上でも言われているように、このスクリプトでも
.pngと.jpgの判別が甘いというか、うまく判別ができないようです。

833 名前:名称未設定 mailto:sage [2006/09/17(日) 08:17:40 ID:ALQpUbC20]
iTunesがdata of artworkで返すのはjpegやpngを埋め込んだPICTです。
PICTは柔軟なフォーマットで、中に他の画像形式を埋め込める。表示時は自動的に
QuickTimeが解釈する。
PICTに埋め込まれた元データを取り出すにはQuickTime APIを使わないとダメ
AppleScriptでは無理っす。上げられてるスクリプトは画像変換し直してるけど、
かなり遠回り。

834 名前:名称未設定 mailto:sage [2006/09/17(日) 16:14:59 ID:hR2t04mM0]
>>833
PICTって昔からそうだけどフォーマットというよりはパッケージに近いね
内部構造でいえばEPSやPDFみたいな。


835 名前:名称未設定 mailto:sage [2006/09/18(月) 02:40:23 ID:u6C6Dq950]
832のスクリプトのtheDataはクリップボード経由で扱える(iTunes7でのみ確認)。
画像処理アプリに渡すみたいな時は

set the clipboard to theData

してやれば、アプリ側でペーストでける

836 名前:名称未設定 mailto:sage [2006/09/18(月) 05:58:23 ID:akJmAfEg0]
ほんとだ

tell application "iTunes"
tell current track
tell artwork 1
set |art data| to data
set the clipboard to |art data|
end tell
end tell
end tell

これ実行したあとプレビューで新規作成できる

837 名前:名称未設定 mailto:sage [2006/09/19(火) 00:41:51 ID:YvMX6Vwz0]
Apple Mailでちょっとした日記をつけることにしました(自分のGmailアカウントに送信)。
Subjectに日付を入れているのですが、夜遅くの、日付が変わってから書くことが多いので、
午前6時まではその日付を前日のものにするかどうか訊ねるダイアログを出すようにしました。

ダイアログで"Yes"を選択すると、前日の23:59頃のDateオブジェクトを作って、一度セットした
変数を上書きするようにしています。
以下のコードでうまく動いていますが、もっといい方法があれば知りたいです。

set {y, m, d, w, h, min, sec} to my date2list((current date))
if h < 6 then
display dialog "The date has been changed already." & return & "Do you want to overwrite the date as it is still on the previous date?" buttons {"No", "Yes"} default button 2 giving up after 15
if button returned of result is not equal to "No" then set {y, m, d, w, h, min, sec} to my date2list((current date) - h * hours - min * minutes - sec - 60)
end if

set wkd to item w of {" (Sun)", " (Mon)", " (Tue)", " (Wed)", " (Thu)", " (Fri)", " (Sat)"}
set sdate to "" & y & "-" & m & "-" & d & wkd

sdate


on date2list(aDate)
if class of aDate = date then
set theDate to aDate
else
set theDate to current date
end if
tell theDate to return {year, its month as number, day, its weekday as number, its hours, its minutes, its seconds}
end date2list


838 名前:名称未設定 mailto:sage [2006/09/19(火) 04:54:10 ID:Pta6O2Lf0]
>>836
コレいいですね! しかし、うっかり再生しないで実行すると、
-------------------------------------------------------------------
<<class pPCT>> of <<class cArt>> 1 of <<class pTrk>> of
application "iTunes" を取得できません。
-------------------------------------------------------------------
とエラーになってしまいます。
選択するだけで値を取得することは難しいのでしょうか?


あと、その>836スクリプト実行後、プレビューで自動的に新規作成するのは

tell application "Preview"
activate
end tell

なんて追記すればいいのでしょうか?
make new ? do shell scriptとか?

最近勉強始めたばかりで質問ばかりですが、よろしくお願いいたします。



839 名前:名称未設定 mailto:sage [2006/09/19(火) 19:33:15 ID:9WpoI1rO0]
プレビューってアップルスクリプトに対応してないんだねえ。
まあ、とりあえず、こうするか。

tell application "System Events"
tell application process "Preview"
tell application "Preview" to activate
delay 0.5
keystroke "n" using command down
delay 0.5
end tell
end tell



840 名前:名称未設定 mailto:sage [2006/09/19(火) 19:56:02 ID:9WpoI1rO0]
選択した曲のアートワークをプレビューで表示させる

set cb to the clipboard as record

tell application "iTunes"
set seltrack to a reference to selection
set theartwork to data of artwork 1 of item 1 of seltrack
set the clipboard to theartwork
end tell

tell application "System Events"
tell application process "Preview"
tell application "Preview" to activate
delay 0.5
keystroke "n" using command down
end tell
end tell

set the clipboard to cb

841 名前:名称未設定 mailto:sage [2006/09/19(火) 21:03:50 ID:Pta6O2Lf0]
>>840
ありがとうございます!!!

842 名前:名称未設定 mailto:sage [2006/09/20(水) 00:39:18 ID:fGZFVg2B0]
あらかじめプレビューを起動してない場合、起動が完了する前にコマンドNしてしまうので、
tell application "System Events"の段落はこうしたほうがましかも。

tell application "System Events"
tell application "Preview" to activate
repeat
if (visible of process "Preview") is true then exit repeat
end repeat
tell application process "Preview"
delay 1
keystroke "n" using command down
delay 1
end tell
end tell

843 名前:名称未設定 mailto:sage [2006/09/20(水) 17:35:22 ID:LlDkRovY0]
>>840
いいですね!ありがとうございます。

>>832
そのスクリプトだと、.pngと.jpgを判別しても結局.pngで
保存してる気がするのですが、どうでしょうか?

Save Album Art to Album Folderというのもあるのですが、
ダイアログがいちいち出て保存まで手間が掛かります。

最終的には曲ファイルのアートワーク画像をバックアップする。
という感じで、ネタ元を見ながら自分なりに書き換えてみてますが、
よく分からなくなってきてしまいました... _| ̄|○
なにかヒントご助言いただけたら幸いです。


●課題
・選択してる曲を保存、可能であれば複数選択にも対応
・既に同じファイル名が保存されてる時はスキップする
・保存先フォルダを設定できるように

●疑問
・ファイル名に問題あるキャラクターを除去がDoug'sのまま挿入してるので、
 もっとスマートになるかどうか?
・アートワークデータをtmpに書き出さずに処理できるか?


844 名前:843 mailto:sage [2006/09/20(水) 17:36:45 ID:LlDkRovY0]
(*
再生中のアートワークを保存 β
ネタ元 ♪ Art to Desktop Picture ♪ Save Album Art to Album Folder ♪ Show Artwork in Preview
www.dougscripts.com/itunes/scripts/scripts09.php
tbboy.cocolog-nifty.com/tbboys_room/2006/09/itunesjpgpng_5603.html
*)

tell application "iTunes"

set current_track to item 1 of selection
set artworkData to data of artwork 1 of current_track
set imageFormat to format of artwork 1 of current_track as string

-- 画像フォーマットを判定
if imageFormat contains "JPEG" then
set extension to ".jpg"
else if imageFormat contains "PNG" then
set extension to ".png"
else
return
end if

-- ファイル名を設定
set art to artist of current track
set alb to album of current track
set file_name to (art & " - " & alb & " Artwork" & extension) as string

845 名前:843 mailto:sage [2006/09/20(水) 17:37:25 ID:LlDkRovY0]
-- ファイル名に問題あるキャラクターを除去
if file_name contains "/" or file_name contains ":" then
repeat with c from 1 to length of (file_name as string)
if item c of file_name = "/" or item c of file_name = ":" then
set file_name to (text 1 through (c - 1) of file_name) & "_" & (text (c + 1) through length of file_name)
end if
end repeat
end if

-- tmp にアートワークデータを書き出し
set tempFile to ("tmp:" & "Artwork.bin" as string)
set fileRef to open for access tempFile with write permission
write artworkData to fileRef
close access fileRef

-- アートワークデータから先頭222バイトを削りデスクトップに保存
do shell script "cd ~/desktop/ ; tail -c +223 " & quoted form of the (POSIX path of tempFile) & " > " & quoted form of (file_name)

end tell

846 名前:名称未設定 mailto:sage [2006/09/20(水) 20:16:33 ID:Eo2y9CO/0]
>>843
複数の選択を可能にしたければ、
set seltrack to a reference to selection
repeat with x in seltrack
set artworkData to data of artwork 1 of x
以下同様に処理
end repeat

保存先の指定は、set savefolder to POSIX path of (choose folder)
とでもする。

禁止文字の変換はこうすると文は短いが、、、
do shell script "echo " & quoted form of thename & " | sed s/'¥¥/'/_/g | sed s/'¥¥:'/_/g"

tmpを使わぬ処理は
tell application "Finder" to set thefile to make new file at thepath with properties {name:ファイル名}
set thefile to thefile as alias
という風に、先に空のファイルを作ってから、
そこにopen for access〜のようにデータを書き込み、頭222Bを削る。

部分的に検証しただけだけど、できます。

847 名前:名称未設定 mailto:sage [2006/09/20(水) 20:37:02 ID:OXxUJLl50]
半角スラッシュはファイル名に使えるよ
先頭のドットが注意必要

848 名前:名称未設定 mailto:sage [2006/09/20(水) 21:27:54 ID:Vd+qGiCA0]
スラッシュ使えるけどなんか気持ち悪いのでこんな風にしてます。

set theName to ".text/text:text.text"
do shell script "echo " & quoted form of theName & " | sed 's/^./_/;s/[/|:]/_/g'"



"_text_text_text.text"

849 名前:843 mailto:sage [2006/09/20(水) 22:43:09 ID:LlDkRovY0]
>>846
即答、有り難うございます。
あまり詳しくないので他がまだですが、保存先の指定は出来ました!

>>848
試したのですが、843のfile_nameに置き換えたところ、
「:」は「/」に変換されて、先頭のドットが
変換されずにエラーになってしまいました...

とりいそぎレスいただいた方、有り難うございました。



850 名前:名称未設定 mailto:sage [2006/09/20(水) 23:40:43 ID:Vd+qGiCA0]
書き出せてるけどなあ。。。
ttp://amb.sakura.ne.jp/hanyou/img-box/img20060920233711.png
ttp://amb.sakura.ne.jp/hanyou/img-box/img20060920233859.png

もし「"iTunes Music"フォルダを整理する」にチェック入ってるならこれが確実。

tell application "iTunes"
set extension to ".jpg"
set current_track to current track
set track_loc to location of current_track
end tell

tell application "Finder"
set alb to name of (container of track_loc)
set art to name of (container of (container of track_loc))
set file_name to (art & " - " & alb & " Artwork" & extension) as Unicode text
end tell

851 名前:名称未設定 mailto:sage [2006/09/22(金) 19:51:59 ID:5Lj13njP0]
choose folder
set objlist to files of result
で、リストに不可視ファイルも含めたい場合
どのようにすれば良いでしょうか。

852 名前:名称未設定 mailto:sage [2006/09/22(金) 20:17:46 ID:gHXFlnyX0]
invisibles true
用語説明に載ってるだろ。

853 名前:名称未設定 mailto:sage [2006/09/22(金) 23:16:56 ID:5Lj13njP0]
ありがとうございます。
まだ始めて1週間な物で…がんばってみます。

854 名前:名称未設定 mailto:sage [2006/09/23(土) 18:02:05 ID:ILNPg0X40]
>>846をまとめてみた。ちと長いので下記に。
禁則文字がややこしくなったのでシェルスクリプトは使わず。

members.at.infoseek.co.jp/obto/script/script3.html#artworksave

855 名前:名称未設定 mailto:sage [2006/09/23(土) 23:01:25 ID:7w4w5+ad0]
自動保守スクリプトマダー

856 名前:名称未設定 mailto:sage [2006/09/25(月) 02:14:30 ID:lYKeEm9d0]
>>837
シェルスクリプトを使って書くとこうなるっぽい

set theDate to do shell script "date +%Y-%m-%d¥¥ ¥¥(%a¥¥)"
set hr to (do shell script "date +%H") as number
if hr < 6 then
set theDate to (do shell script "date -r $(($(date +%s)-86400)) +%Y-%m-%d¥¥ ¥¥(%a¥¥)")
end if
theDate

857 名前:名称未設定 mailto:sage [2006/09/25(月) 10:40:20 ID:s7obF/BH0]
ここで聞くことじゃないとは思うんだけど…

ttp://homepage.mac.com/okunott/
ここの人はどこ行っちゃいましたか?参考にスクリプトを落とそうと思ったら
ページが消えてました。

858 名前:名称未設定 mailto:sage [2006/09/25(月) 12:16:00 ID:s7obF/BH0]
ごめん、キャッシュ見て理解した。
スレ汚しすまんです。

859 名前:名称未設定 mailto:sage [2006/09/25(月) 19:02:07 ID:h0pit1it0]
>>854
843です、ありがとうございます!自分にはやはり難しい部分も
あったので甘えさせて使わせていただきます-。感謝



860 名前:名称未設定 mailto:sage [2006/09/29(金) 23:00:12 ID:sbmxveHv0]
質問です。どなたか指導お願いします。
Safariで開いてるページのリンクにマウスポインタをあててそのまま一定間隔マウスクリックと同じ動作(連打)をするためにはどのような文を書けばいいのでしょうか?
GUIの方を見てみても具体的にmouse関連のがなかったので……

861 名前:名称未設定 mailto:sage [2006/09/30(土) 00:18:41 ID:9sV+0IQJ0]
>どなたか指導お願いします。

こういう一文を付けるやつって
これが丁寧なんだと勘違いしているのか
誰でもいいから早く答えろという意思がにじみ出ているのか
どっちなんだろう。

内容もどう見ても厨だし・・・

862 名前:名称未設定 mailto:sage [2006/09/30(土) 00:19:44 ID:j3LaJ7fk0]
厨とか厨じゃない以前に言ってる意味が理解できなかった

863 名前:名称未設定 mailto:sage [2006/09/30(土) 03:07:48 ID:nXl0e7P30]
Web上の漫画かなんかのページをめくる動作を自動でやりたいとかかなあ

864 名前:名称未設定 mailto:sage [2006/09/30(土) 04:23:54 ID:n/KFtEdF0]
UI関係はややこしくてよくわからんが、いじるならbuttonだと思う。

865 名前:名称未設定 [2006/10/03(火) 01:36:46 ID:tvd/8IG30]
age

866 名前:名称未設定 mailto:sage [2006/10/06(金) 18:13:42 ID:v7/Ilwsl0]
-- スクリプトフォルダ直下に何個もスクリプトとかエイリアスを置くとメニューが開くのに
-- 時間がかかるので、それらを別の場所に置き、リストから選んで起動するようにしました。

-- "~/Library/Script/Load Script….scpt"
property script_lib_location : (path to library folder from user domain as string) & "Application Support:Script Menu:"


(* On Run *)

tell application "Finder"
set scriptsList to displayed name of files of alias script_lib_location
set chosenFile to file (script_lib_location & (item 1 of my chooseFromBigList(scriptsList, 10, 1)))
if name extension of chosenFile is not equal to "scpt" then return (open chosenFile)
end tell

tell (load script (chosenFile as alias)) to run

-- [cont]

867 名前:名称未設定 mailto:sage [2006/10/06(金) 18:15:22 ID:v7/Ilwsl0]
(* Subroutines *)

on chooseFromBigList(aList, itemsPerPage, startPage)
set nextPageLabel to "[ Next page ] >>"
set firstPagelabel to "[ First page ] >>"
set totalItems to the length of aList
set pageItems to itemsPerPage as integer
set pagingOption to nextPageLabel

-- handling some likely errors...
if totalItems < pageItems then return (choose from list aList) --with multiple selections allowed)
if startPage > (totalItems div pageItems + 1) then
error "Invalid argument: startpage=" & startPage
end if

set topItemIdx to (startPage - 1) * pageItems + 1

if totalItems < (topItemIdx + pageItems) then
-- here we've reached at the last page.
set pagingOption to firstPagelabel
if not totalItems = (topItemIdx + pageItems - 1) then set pageItems to totalItems mod pageItems
end if

-- [cont]

868 名前:名称未設定 mailto:sage [2006/10/06(金) 18:16:15 ID:v7/Ilwsl0]
set lastItemIdx to topItemIdx + pageItems - 1

set theList to (items topItemIdx thru lastItemIdx of aList) & pagingOption

choose from list theList with title (topItemIdx & " - " & lastItemIdx & " of " & totalItems & " items" as string) default items {pagingOption} --with multiple selections allowed
if the result = false then
return false
else if the last item of result = nextPageLabel then
return my chooseFromBigList(aList, itemsPerPage, (startPage + 1))
else if the last item of result = firstPagelabel then
return my chooseFromBigList(aList, itemsPerPage, 1)
else
return the result
end if

end chooseFromBigList

869 名前:名称未設定 mailto:sage [2006/10/06(金) 18:56:09 ID:oRTeKvUs0]
日本語でおk



870 名前:名称未設定 mailto:sage [2006/10/06(金) 23:27:07 ID:0DYHFGiV0]
--"~図書館/スクリプト/負荷スクリプト….scpt"
特性のスクリプト_リブ_位置: (ストリングとしてのユーザドメインからのライブラリフォルダーへの経路)
「アプリケーションサポート: メニューに原稿を書いてください」


(*走行に関して*)

アプリケーション「ファインダー」を言ってください。
別名スクリプト_リブ_位置のファイルの表示された名前にscriptsListを設定してください。
chosenFileにファイルするように設定してください。(スクリプト_リブ_位置と(私のchooseFromBigList
(scriptsList、10、1)の項目1))
chosenFileの名前拡大が"scpt"と等しくないなら、戻ってください。(開いているchosenFile)
終わりは言います。
稼働するために言ってください(負荷スクリプト(別名としてのchosenFile))。

--(ry


871 名前:名称未設定 mailto:sage [2006/10/07(土) 02:43:17 ID:9MVN3e0X0]
--Safariで開いてるページのURLをローカルのフォルダにインターネットショートカット形式で保存するだけです・・・
--spotlightではてブみたいな事ができないかなぁと。

--get URL data
tell application "Safari"
set fileName to name of document 1
set tarURL to URL of document 1
end tell

set myComment to text returned of (display dialog "コメントを入れてください" default answer "")

--where to save
set mySave to "Documents:BookMark:"
set fileExt to ".url"



872 名前:名称未設定 mailto:sage [2006/10/07(土) 02:44:17 ID:9MVN3e0X0]
--escape of file name
set fileName to do shell script "echo " & quoted form of fileName & " | sed -e s/:/\\\\//g"

--make unique file name
set myDir to ((path to home folder) as string) & mySave
set fileNames to fileName & fileExt
set i to 0

repeat while ((fileNames) is in (list folder myDir))
set i to i + 1
set fileNames to fileName & i & fileExt
end repeat

--make file
tell application "System Events"
set theFile to make new file at end of folder myDir with properties {name:fileNames}
set thePath to path of theFile
end tell

--Internet Shortcut data(it needs to be saved by Shift-JIS & CRLF)
set wMsg to "[InternetShortcut]" & (ASCII character 13) & (ASCII character 10) & "URL=" & tarURL & (ASCII character 13) & (ASCII character 10)
do shell script "echo " & quoted form of wMsg & " | iconv -f UTF8 -t Shift-JIS > " & quoted form of (POSIX path of thePath)

--set comment
tell application "Finder"
set theFinderFile to file thePath
set comment of theFinderFile to myComment
end tell


873 名前:名称未設定 mailto:sage [2006/10/07(土) 18:11:54 ID:2eRiKU3/0]
>>870
アプリケーション「Finder」について
(以下略)
だろ。
AppleScript日本語を知らない世代なのかな...

874 名前:名称未設定 mailto:sage [2006/10/07(土) 18:42:15 ID:IvT5H1UB0]
>>871
せっかく2行に縮めたのに長過ぎて書き込めねえええ

tell application "Safari" to set aList to {(URL of document 1), (do shell script "echo " & quoted form of ((name of document 1) as Unicode text) & --改行
" | perl -pe 's/(^" & (ASCII character 128) & ".|" & (ASCII character 128) & (ASCII character 128) & "|:)/_/g'")} --改行
tell application "Finder" to (make new internet location file at (folder "BookMark" of (path to documents folder)) to --改行
(item 1 of aList) with properties {name:(item 2 of aList), comment:(text returned of (display dialog "コメントを入れてください" default answer ""))})

875 名前:名称未設定 mailto:sage [2006/10/10(火) 00:37:02 ID:2eF2arbi0]
テキストエディタ上の選択されている文字列(シェルコマンド)を最前面のterminalにペーストして(出来ればその後リターン)してくれる様なアップルスクリプトって無いでしょうか?

876 名前:名称未設定 mailto:sage [2006/10/10(火) 01:19:22 ID:20VtVVvx0]
>>875
tell application "System Events" to tell process "TextEdit" to tell scroll area 1 of window 1 to set A to value of text area 1
tell application "Terminal" to do script A in window 1

でいいですかね?あんまUI Element使ったスクリプトって好きじゃないんですよ・・・

分かりやすい書き方だと
tell application "System Events"
tell process "TextEdit"
tell scroll area 1 of window 1
set A to value of text area 1
end tell
end tell
end tell
tell application "Terminal" to do script A in window 1

877 名前:名称未設定 mailto:sage [2006/10/10(火) 01:46:10 ID:2eF2arbi0]
>>876
サンクス。いまから試してみます。
TextEditだけではなく任意のアプリケーションでの選択文字列ってなると難しくなるのかな?
例えば、他のテキストエディタであったりブラウザで表示されてる文字列だったりってのは。

このアップルスクリプトをicecofeeでコンテクストメニューから実行したら便利そうだ。

878 名前:875 mailto:sage [2006/10/10(火) 01:54:37 ID:2eF2arbi0]
>>876
だめだったですorz

スクリプト実行中にエラーが起きました。
System Events でエラーが起きました:
NSReceiverEvaluationScriptError: 4

Evalなんたらってことは文字列をコマンドとして実行するのはダメよ!ってことかな?

879 名前:名称未設定 mailto:sage [2006/10/10(火) 01:57:10 ID:20VtVVvx0]
ごめんなさい・・・
多分、ソレだと、選択文字じゃなくて、文章全体を変数に入れてますね・・・

tell application "System Events"
tell process "TextEdit"
tell text area 1 of scroll area 1 of window 1
set A to value of attribute "AXSelectedText"
end tell
end tell
end tell

tell application "Terminal"
do script A in window 1
end tell

これで動かなかったらすみません。



880 名前:875 mailto:sage [2006/10/10(火) 02:06:29 ID:2eF2arbi0]
>>879
残念ながら同じエラーが出てしまいますた。
なかなか難しい物なのですね。

881 名前:名称未設定 mailto:sage [2006/10/10(火) 04:20:56 ID:8QbJY7Au0]
Jeditだとそれができるんだけどね。
テキストエディットやサファリではselectが使えないのが痛い。
これがあるとないとではアップルスクリプトの使いようが大幅に変わるんだよなあ。

882 名前:名称未設定 mailto:sage [2006/10/10(火) 07:59:27 ID:3sccagFE0]
単純にコピペじゃいかんの?

tell application "System Events"
tell application "TextEdit" to activate
tell process "TextEdit" to keystroke "c" using command down
tell application "Terminal" to activate
tell process "Terminal"
keystroke "v" using command down
keystroke return
end tell
end tell

883 名前:エスパー mailto:sage [2006/10/10(火) 17:54:37 ID:S6SnnmPN0]
>>875よ、
/アプリケーション/AppleScript/AppleScript ユーティリティ.app
を起動して「GUI スクリプティングを使用可能にする」のじゃ。

884 名前:875 mailto:sage [2006/10/11(水) 01:23:49 ID:V5R8j3TD0]
>>881
Jedit Xで試したけどだめみたいでした。

>>882
見事!ばっちりです。

tell application "System Events"
tell application "Jedit X" to activate
tell process "Jedit X" to keystroke "c" using command down
tell application "Terminal" to activate
tell process "Terminal"
keystroke "v" using command down
keystroke return
end tell
end tell

Jedit Xの部分をそのときに前面に来てるアプリに出来たらいいけどまったく想像がつかないや。
例えば、webブラウザでsqlのクエリを勉強してるときに選択してそのままターミナルからsql実行出来たらいいな、なんて。


>>883
見たところ、元々オンになってました。
ユニバーサルアクセスの方をいじくった事があるせいかもしれませんが。

885 名前:名称未設定 mailto:sage [2006/10/11(水) 05:15:07 ID:wlu2vNIM0]
>>884
Jeditだとshellコマンドを実行っていうスクリプト機能がついてるのよ

886 名前:875 mailto:sage [2006/10/11(水) 10:25:47 ID:V5R8j3TD0]
>>885
Artman21 - Jedit X - ライブラリ
www.artman21.net/product/JeditX/library.html
Jedit Xのカーソル位置の行を shell コマンドとして実行し、次行以下にその結果を表示します

これの事でしょうか?


887 名前:名称未設定 mailto:sage [2006/10/18(水) 18:47:13 ID:EqG0qfwt0]
環境依存かもしれんけど
tell application "Finder" to open desktop
ってやると、開いたFinderウィンドウ内に(デスクトップに表示してる)ボリュームも含まれてるね
@10.4.8

888 名前:名称未設定 mailto:sage [2006/10/26(木) 02:07:37 ID:RqdMZVDn0]
スレ違いですが、FaceSpan3.52を有償で譲っていただける方いませんか?
本家では4.3しかなく買うことができなく、途方に暮れてます。

889 名前:名称未設定 mailto:sage [2006/10/26(木) 09:56:03 ID:nvFQ8u7A0]
本家にメールしてみるというのも手だと思うよ



890 名前:名称未設定 mailto:sage [2006/10/27(金) 00:11:35 ID:r7viu+WJ0]
>>889
レスありがとう。駄目元でメールしてみるよ。

891 名前:名称未設定 mailto:sage [2006/10/27(金) 12:24:20 ID:Q9aWVgLW0]
Classic環境ならREALbasicを使うのも手。


892 名前:名称未設定 mailto:sage [2006/10/27(金) 15:01:19 ID:glYZYt/50]
ハイパカ

893 名前:名称未設定 mailto:sage [2006/10/27(金) 16:41:02 ID:WBwaLP/30]
ハイパーカードに始めて触れた時の感動をもう一度味わいたい。

894 名前:名称未設定 mailto:sage [2006/10/27(金) 22:30:30 ID:caSX3ce10]
フォルダアクション用のスクリプトを作っているのですが、
行き詰まってしまって困っています。

例えば以下のようなスクリプトを参考にしてお尋ねしますが、
このスクリプトを使うと家の環境では延々と*******・・・・○○○
とファイル名の冒頭に*がくっついてきてしまいます。
(実際に自分で作っているものでも同様の状態になります)
これは何かスクリプト以外に原因があるということなのでしょうか。

on adding folder items to open_folder after receiving target_items
tell application "Finder"
repeat with obj in target_items
set name of obj to "*" & name of obj
end repeat
end tell
end adding folder items to

895 名前:名称未設定 mailto:sage [2006/10/27(金) 22:39:25 ID:caSX3ce10]
書き忘れましたがOSは10.3.9です。
よろしくお願いします。

896 名前:名称未設定 mailto:sage [2006/10/27(金) 22:49:06 ID:SgmFCgWE0]
リネームで再度フォルダアクションが呼ばれちゃってんじゃないの

897 名前:894,895 mailto:sage [2006/10/27(金) 23:25:19 ID:caSX3ce10]
>>896
ではもう少し調べてみます。
ありがとうございました。

898 名前:894,895 mailto:sage [2006/10/27(金) 23:44:36 ID:caSX3ce10]
半日悩んでてんぱっていましたがやっと解決しました。
結局ファイル名を照合することで反復を回避するようにしました。
ありがとうございました。

899 名前:名称未設定 mailto:sage [2006/11/04(土) 16:44:22 ID:DoZ4XvF20]
ほしゅ



900 名前:名称未設定 mailto:sage [2006/11/08(水) 12:09:50 ID:rYDFVHlj0]
tell "2ch"
get 900 of 2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6
end tell

901 名前:名称未設定 mailto:sage [2006/11/08(水) 13:19:11 ID:thFr+p+80]
tell "2ch"
delete 900 of 2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6
end tell

902 名前:名称未設定 [2006/11/08(水) 13:57:11 ID:Oeg5r+600]
試したわけじゃないが、それじゃあエラーになるぞ、たぶん。
get response 900 of topic "2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6"
じゃないか?


903 名前:名称未設定 mailto:sage [2006/11/08(水) 23:04:45 ID:BkRH0Hdj0]
get responce id 900 of topic "おもろい、めずらしいアップルスクリプト発表会 6" of bbs "mac"

904 名前:名称未設定 [2006/11/15(水) 02:43:16 ID:kNmxGg6+0]
wakaba.c3.cx/s/lotsablankers/lotsawater.html

「AMSTracker」あわせた面白いものできないかな

905 名前:名称未設定 mailto:sage [2006/11/20(月) 18:11:13 ID:aCr0B3ho0]
curl使えば、Amazonチェックして、
在庫ありになったらカートにつっこむようなもの、作れそうだよね。
cookieの扱いがちょっと面倒かと思うけど。

906 名前:名称未設定 mailto:sage [2006/11/24(金) 19:58:12 ID:nTyAPfWu0]
tell thread "おもろい、めずらしいアップルスクリプト発表会 6" of bbs "pc7.2ch.net/mac/"
 get content of response 900
end tell

907 名前:神経質な性格だから mailto:sage [2006/11/24(金) 20:47:05 ID:Rxlxs3Ac0]
tell application "iTunes"
tell current EQ preset
if not modifiable then error "The current preset cannot be modified."
set preamp to my qroundFloat(preamp)
set band 1 to my qroundFloat(band 1)
set band 2 to my qroundFloat(band 2)
set band 3 to my qroundFloat(band 3)
set band 4 to my qroundFloat(band 4)
set band 5 to my qroundFloat(band 5)
set band 6 to my qroundFloat(band 6)
set band 7 to my qroundFloat(band 7)
set band 8 to my qroundFloat(band 8)
set band 9 to my qroundFloat(band 9)
set band 10 to my qroundFloat(band 10)
end tell
my checkEQLevels()
end tell

---- Subroutines ----
on qroundFloat(aFloat)
return aFloat div 0.25 * 0.25
end qroundFloat

on checkEQLevels()
tell application "iTunes" to tell current EQ preset
display dialog "........Preamp level: " & preamp & " dB" & return & "
..32 Hz band level: " & band 1 & " dB" & return & "..64 Hz band level: " & band 2 & " dB" & return & "125 Hz band level: " & band 3 & " dB
250 Hz band level: " & band 4 & " dB" & return & "500 Hz band level: " & band 5 & " dB" & return & "..1 kHz band level: " & band 6 & " dB
..2 kHz band level: " & band 7 & " dB" & return & "..4 kHz band level: " & band 8 & " dB" & return & "..8 kHz band level: " & band 9 & " dB
16 kHz band level: " & band 10 & " dB" buttons {"OK"} with title "iTunes EQ preset - " & its name with icon 1
end tell
end checkEQLevels

908 名前:名称未設定 mailto:sage [2006/11/27(月) 08:29:12 ID:6mITRRlK0]
既出でしたらスマソ
(OS X 10.4.7で)クリップボード経由でFinderアイコンを
コピーやペーストするスクリプト作ろうとしたんですが、

tell application "Finder"
activate
set thelist to selection
set theIcon to {icon of item 1 of thelist}
set the clipboard to theIcon
end tell

みたいにすると、クリップボードの内容が「不明」となり、うまくいきません。
theIconの内容も見てみたんですが、「missing value」とのことで、
なんかうまく取得できてないみたいです。

原因や対策など、ご教示おながいしまつ・・・

909 名前:名称未設定 mailto:sage [2006/11/27(月) 09:07:37 ID:/Y/p05Kj0]
thelistの内容を見るんだ



910 名前:名称未設定 mailto:sage [2006/11/27(月) 09:50:45 ID:juwTIPxC0]
そもそもほとんどのアイコンはプロパティーのiconで設定されてないみたいだけど、どーなんだろ

911 名前:名称未設定 mailto:sage [2006/11/27(月) 23:43:22 ID:enAoaX+I0]
-- カスタムアイコンがセットされていない限りpropertyのiconはmissing valueなので、
-- 対策...
tell application "Finder"
tell selection as list
if its length < 1 then return 0
open information window of item 1
set infoWindow to name of the result
end tell
end tell

tell application "System Events"
tell window infoWindow of process "Finder"
set iconButton to a reference to button 2 of scroll area 1
if not focused of iconButton then click iconButton
keystroke "c" using command
end tell
end tell

tell application "Finder"
close window infoWindow
end tell

912 名前:名称未設定 mailto:sage [2006/11/28(火) 00:36:19 ID:Ln/Hzn640]
>>911
それね、フォルダだと

button 1 of scroll area 1

になる模様。

913 名前:911 mailto:sage [2006/11/29(水) 00:48:01 ID:RFvE8OhX0]
では
last button of scroll area 1
に修正。試してないけど。

914 名前:908 mailto:sage [2006/11/29(水) 18:38:47 ID:dD4ee4ON0]
レス遅れてすいません

>>909-913さん、アドバイス&例示下さってアリガトンですm(_ _)m

itemのproperty使わずに、GUI Scriptingで直に操作するのが確実そうですね。
>>911=913さんの言うとおり、当該箇所を「last button of scroll area 1」にしてみると、
フォルダアイコンのコピーもエラーが出ずに出来ました。
とりあえずproperty使っての操作は諦めて、ペーストの方も組んで、AmScriptCMXに突っ込んで
使ってみます。

前述のmissing valueの他にも、>>910さんの話や、property「icon family」が
「NOT AVAILABLE YET」になってたりとか、Xでのアイコン周りのAppleScriptは、10.4に
なってもあんま整備されてないよーな気が('A`) GUI操作を純正環境だけで出来るのは
9の頃より遙かにウマーですけど。

蛇足スマソです&皆様改めてアリガトンヽ( ´∇`)ノ

915 名前:名称未設定 mailto:sage [2006/11/30(木) 01:22:49 ID:4JP/PMZ70]
AmScriptsCMX でクリック位置にある項目をスクリプトに渡せたら最高なんだけどな。
デスクトップ以下の項目を移動しようとしたらデスクトップフォルダを移動しちゃったことがあって以来怖くて使えない。

916 名前:(・∀・) mailto:sage [2006/11/30(木) 02:42:08 ID:PN79DLVh0]
作者に要望してみては。

917 名前:名称未設定 mailto:sage [2006/11/30(木) 08:56:50 ID:DSA6lM5o0]
Finderで右クリック使う時って、
右クリックした項目が選択状態にならないまま操作できちゃうもんね。
この事自体がどうなのかって感じる事もあるけど、
FinderのAppleScript辞書に「右クリックされてる項目」を指す
用語があれば、AmScriptsCMXから、
普通の右クリックと同じ感覚で操作できそうだけどね。

918 名前:名称未設定 mailto:sage [2006/12/02(土) 23:22:54 ID:nLcAyM9/0]
ごめん、AppleScript入門者なんだけど、
言語は読めば理解できるんだが、
書いたものをどこに置けばいいのかが分からん。
そういう情報はどこに書いてあるんだ?
~/Library/Safari/Scripts
とかを作って、そこに置けばいいの?
Appleのweb見るとiTunesは↑みたいにしろってあるんだけど、
Safariにはどうすりゃいいんでしょ。
~/Library/Application Support/hoge/Scripts
みたいな場合もあるようだし、規則がよく分からん。

919 名前:名称未設定 [2006/12/02(土) 23:52:47 ID:qy+Dx43z0]
>>918
逆だろ
/Library/Scripts/Safari/か
~/Library/Scripts/Safari/
スクリプトメニューをインストールした時に表示される場所がデフォと考えれば
いいだろう。

とか書いてたらこれは10.3の場合で10.4では違うな。
/Library/Scripts/Safari/か
~/Library/Scripts/Applications/Safari/
取り敢えずApplescriptユーティリティでメニューをオンにしてみれば?



920 名前:名称未設定 mailto:sage [2006/12/03(日) 00:09:40 ID:k4Oos03c0]
>>918
スクリプトはどこに置いたっていいんだよ。

どこそこに置け、と指示があるのは、例えば iTunes の
メニューバーから直接スクリプトを呼び出すためとか、
スクリプトメニューにスクリプトを表示させるためとか、そういう
ことであって、ただ自分のスクリプトを実行させるために
どこそこに置かないと絶対にダメ、という意味ではない。

921 名前:名称未設定 mailto:sage [2006/12/03(日) 00:32:51 ID:kyHCQf7Y0]
>>919-920
れすさんくす。
おk。理解した。

>例えば iTunesのメニューバーから直接スクリプトを呼び出すためとか
この機能にアプリが対応してるか知るにはどうすればよい?

ttp://www.apple.com/applescript/itunes/
Appleのページ見るとiTunesのとこには
~/Library/iTunes/Scripts
におけって書いてあるんだけど、Safariのとこでは記述がない。
で、試しに
~/Library/Safari/Scripts
を作ってみてscriptを置いたんだけど、メニューに出ない。
これはSafariではメニューに出ないっつーことかしら。

922 名前:名称未設定 mailto:sage [2006/12/03(日) 01:08:13 ID:fd/NtXWZ0]
スクリプトメニューをインストールする。
safariを立ち上げる。
スクリプトメニューの「スクリプトフォルダを開く」に「safariフォルダを開く」が出てくる。
そこにsafari用のスクリプトを入れる。
safariがアクティブなときはそれがスクリプトメニューに現れ、
他のアプリがアクティブなときは現れないのですっきり。

923 名前:名称未設定 mailto:sage [2006/12/03(日) 01:51:36 ID:kyHCQf7Y0]
>>922
できたできた。ありがとう。
んでも、ショートカットが設定できないのか。

924 名前:名称未設定 mailto:sage [2006/12/03(日) 07:49:57 ID:uAINv7so0]
そう言えば前は声で実行させたりしてたけど、
あれ今でもできるのかな。

925 名前:名称未設定 mailto:sage [2006/12/04(月) 06:54:19 ID:Xxwxdp1F0]
エクセルをアップルスクリプトで動かしてみようとしたけど、
やたら機能が多いのはいいんだけど、わかりづらいなー

926 名前:名称未設定 mailto:sage [2006/12/09(土) 09:55:13 ID:VcqjbtcM0]
AppleScriptの皮をかぶったVBA


927 名前:名称未設定 mailto:sage [2006/12/09(土) 11:11:53 ID:tKT1tWrt0]
だいぶ昔のバージョンだけど、
VBAのほうと用語を照らし合わせてみたら
対応してて面白かったような覚えがある。
記述方法も癖があったようななかったような。

928 名前:名称未設定 [2006/12/17(日) 00:17:27 ID:E1f87bwq0]
初心者なんですが、
{a,b,c}と{d,e,f}という2つのリストを
{{a,b,c},{d,e,f}}のような形にするには
どうすればいいのでしょうか。

929 名前:名称未設定 [2006/12/17(日) 08:16:12 ID:oGl4vDy40]
最近tigerにしたんだけど
___ctl-t とかでショートカット設定できなくなっちゃったの?



930 名前:sage [2006/12/17(日) 16:23:19 ID:cJIHguLoO]
はじめますて。超初心者です。
Mail.appのルールでスクリプトを指定して実行できるみたいなんだけど、
届いたメールを自動で印刷とか可能ですか?
教えていただけたらと。
スクリプト覚えたいです。

931 名前:名称未設定 mailto:sage [2006/12/18(月) 01:36:18 ID:iJJx9Ykl0]
君んところはスパムとか来ないのか

932 名前:名称未設定 mailto:sage [2006/12/18(月) 03:54:07 ID:ctln39cs0]
>>928
まず
set theList to {}
と空のリストを宣言して、
set end of theList to hoge
と、なにかを順次格納していく。
-- 検証コード
set theList to {}
set end of theList to {1, 3, 5}
set end of theList to {2, 4, 6}
theList

933 名前:名称未設定 mailto:sage [2006/12/18(月) 21:57:06 ID:EJmnkHip0]
set theList1 to {1, 2, 3}
set theList2 to {4, 5, 6}
set finalList to {theList1, theList2}

934 名前:名称未設定 [2006/12/19(火) 00:08:18 ID:PDW9qp5C0]
>>932
どーもです。
普通にリストを結合しても、思うように行かなかったもんで。
助かりました。ありがとうございます。

935 名前:名称未設定 mailto:sage [2006/12/19(火) 12:34:21 ID:H46l0VSY0]
そのへんのリストの扱いは、AppleScript Parkに詳しい記述があったような。

936 名前:名称未設定 mailto:sage [2006/12/21(木) 21:28:47 ID:8zr6VPSP0]
ファインダーでクリックして開いたファイルを掴むにはどうしたらいいですか?
そのファイルを開いた、という情報が取得したいです。

937 名前:名称未設定 mailto:sage [2006/12/21(木) 22:04:38 ID:hH+3Fjvo0]
通知を受け取る機能がないから無理だけど、
>そのファイルを開いた、という情報が取得したいです。
その先で具体的に何がしたいの?

938 名前:名称未設定 mailto:sage [2006/12/21(木) 22:32:57 ID:JPn2VnqX0]
>>937
どのファイルを開いたのか記録したいんです。
結果的にはそれを、コメント欄に回数として記入したいと思います。

939 名前:名称未設定 mailto:sage [2006/12/22(金) 00:00:41 ID:Ihg9Qcd30]
標準的には出来そうにない気がする。

別手段として、このTrackerとか使えば情報は収集出来るのかも。ここの英文、
俺にはどうにも読みこなせないが。
ttp://rixstep.com/4/0/tracker/



940 名前:名称未設定 mailto:sage [2006/12/22(金) 00:09:32 ID:zbHmjtWQ0]
似たような感じで、スクリプトエディタの記録が使える環境なら
open document file の部分を抜き出してカウントできる。

941 名前:名称未設定 mailto:sage [2006/12/22(金) 04:28:51 ID:viuUar760]
そういえば昔、AppleEventを記録するようなソフトあったよね。

942 名前:名称未設定 mailto:sage [2006/12/22(金) 08:04:13 ID:3eOgjxUy0]
SpotlightはkMDItemLastUsedDateというMetadata Attributeにオープンした
時刻を記録してる。mdlsコマンドで確認できる。
AppleScriptから利用するのは難しいけど、OSAXかヘルパーアプリを書けば
アクセスできる。

943 名前:名称未設定 mailto:sage [2006/12/25(月) 08:52:12 ID:Kv6YEQdi0]
do shell scriptではだめそうなの?

944 名前:名称未設定 mailto:sage [2006/12/25(月) 21:02:34 ID:avuDy7cv0]
おいらの力じゃ書けないっす

945 名前:名称未設定 mailto:sage [2006/12/27(水) 20:12:28 ID:T0rh068Z0]
(*************************************************************************************
  FinderウインドウをOS 9のポップアップウインドウのようにするスクリプト
  自動的に終了しないアプリケーションとして保存する事
*************************************************************************************)
on run
return
end run
on idle
try
with timeout of 35791394 seconds
tell application "Finder"
set |window list| to every Finder window
repeat with |Finder window| in |window list|
if (frontmost is false) or ((index of |Finder window|) is not 1) then
set (collapsed of |Finder window|) to true
end if
end repeat
end tell
end timeout
end try
return 3
end idle
on quit
continue quit
end quit

946 名前:名称未設定 mailto:sage [2006/12/28(木) 00:43:54 ID:N+Pputka0]
今、プレビューで開いてる画像を再度開けるようにワークスペースの保存みたいのってできないですかね?

947 名前:名称未設定 mailto:sage [2006/12/28(木) 12:46:41 ID:5eF7fDOZ0]
>>946
プレビューはアップルスクリプト非対応。対応してりゃ何でもできるって訳でもないけど。
GUIスクリプティング使ってブックマークでもしとけば?

948 名前:名称未設定 mailto:sage [2006/12/28(木) 14:43:31 ID:1BQu06HN0]
>>947
非対応か…。ファインダーで指定ファイルを開いた方が早そうだな。

949 名前:名称未設定 mailto:sage [2006/12/28(木) 16:58:20 ID:Ae8HJiM90]
一応、open、quitぐらいはできるよ。
PantherのPreviewはできないけど、TigerのPreviewはprintも理解する。
基本的に、どのアプリでもそのくらいはできるようになっているわけだが。

tell app "preview"
open (choose file)
end tell

以下のGUI Scriptingの手法でPreviewで開いてるファイルのパスのリストが取得できる。
(事情でPantherのPreviewで試してんだけど……)

set values to {}
activate application "Preview"
tell application "System Events"
tell process "preview"
repeat with i in windows
set values to values & value of attribute "AXDocument" of i
end repeat
end tell
end tell

後はがんばってくれ。

GUI Scriptingだからお膳立てが必要だよ。詳しくはググれ。









[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef