1 名前:名称未設定 [2007/12/12(水) 16:04:22 ID:Ar0Uzkma0] 質問、発表どっちでもスレ。 ・前スレ AppleScript アップルスクリプト 質問、発表 pc11.2ch.net/test/read.cgi/mac/1174045850/ ・関連旧スレ 【標準装備】スクリプトエディタ pc9.2ch.net/test/read.cgi/mac/1111760449/ おもろい、めずらしいアップルスクリプト発表会 6 pc7.2ch.net/test/read.cgi/mac/1117979906/ ・参考リンク AppleScript ヘルプ help:///Library/Documentation/Help/AppleScript.help 発表まとめ members.at.infoseek.co.jp/obto/script/script.html MacWiki - AppleScript macwiki.sourceforge.jp/cgi-bin/wiki.cgi?AppleScript AppleScript PARK www.tonbi.jp/AppleScript/ TN2065: do shell script developer.apple.com/jp/technotes/tn2065.html developer.apple.com/technotes/tn2002/tn2065.html
2 名前:名称未設定 mailto:sage [2007/12/12(水) 16:49:48 ID:jjWSkRss0] 2ゲットもされないとは
3 名前:名称未設定 mailto:sage [2007/12/12(水) 16:56:07 ID:M7U4NWpJ0] このスレ動くのか?
4 名前:名称未設定 mailto:sage [2007/12/12(水) 17:31:07 ID:cu2c+tAy0] repeat set 1san to "乙" end repeat
5 名前:名称未設定 mailto:sage [2007/12/12(水) 18:24:16 ID:eQ2nqvVL0] >>3 ブーーン
6 名前:名称未設定 mailto:sage [2007/12/12(水) 21:47:14 ID:i3mrALz+0] フォルダアクション用のスクリプトを作りたいのですが、フォルダAの中に入れられた、 フォルダBの中身をカウントしてパスをとりたいのですが、どうしたらいいでしょう? アクションのついてるフォルダAの中身やカウントは出来るのですが、その中に入れられた フォルダの中を見るのが出来なくて.....
7 名前:名称未設定 mailto:sage [2007/12/12(水) 23:18:37 ID:DvU/VTHg0] >>6 do shell script "ls"
8 名前:名称未設定 mailto:sage [2007/12/13(木) 19:19:31 ID:/TaqswLu0] >>6 どういう風にできないのか、状況が今一よくわからない。 とりあえずscriptみせてくれ
9 名前:名称未設定 mailto:sage [2007/12/13(木) 20:24:45 ID:WwbKlxRO0] フォルダアクション以前に、フォルダの中を見ることは出来ているか? 処理を切り出して、スクリプトエディタ上で動作するか? イベントログを確認したか?
10 名前:名称未設定 mailto:sage [2007/12/13(木) 22:33:11 ID:9uvslLjy0] Safari 3.0.4(523.12PPC) Mac OS X 10.4.11 カレントページのリンクを順にTABで開く (最大5個だけ開く、delay 3 / 重複もマーカーも見境無しに新規TABで開く) ---------------- tell application "Safari" set theWindow to front window set theTab to current tab of theWindow set linkNum to do JavaScript "document.links.length" in theTab if linkNum > 5 then set linkNum to 5 end if repeat with index from 0 to linkNum - 1 set aJSS to ("document.links[" & index as string) & "].href" set aLink to do JavaScript aJSS in theTab tell theWindow make new tab with properties {URL:aLink} end tell delay 3 end repeat end tell ---------------- window に tel l すると make new tab できるんだ
11 名前:6 mailto:sage [2007/12/13(木) 23:39:16 ID:dZVmU19G0] やりたい事は、フォルダAの中にフォルダBが入れられたら、フォルダBの名前を参照して、 別のHDのフォルダBと同名のフォルダに、中身をコピーするといったスクリプトを作りたいんです。 で、入れられたフォルダの名前とかは見れるんですが、その中のファイルをいじれなくて... 中身をコピーとか、どう書けばよろしいんでしょうか?
12 名前:名称未設定 mailto:sage [2007/12/13(木) 23:47:05 ID:/TaqswLu0] Finderのduplicate命令を調べればいいのかも。
13 名前:名称未設定 mailto:sage [2007/12/14(金) 00:26:40 ID:zt/QqJok0] >>10 >window に tel l すると make new tab できるんだ お、Stand入れてるから気付かなかったよ。
14 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/14(金) 01:12:13 ID:XYoMzff60] 前スレが1000近くだったので,仕事から帰ってきたらdat保存しようと思ってたら, もう落ちてた…….1000まで行ったのかな? どなたか,datファイルをアップして いただけませんか.
15 名前:名称未設定 mailto:sage [2007/12/14(金) 01:24:35 ID:fav3kosL0] >>14 ttp://dat.hitobashira.org/mac/dat/1174045850.dat どぞ
16 名前:名称未設定 mailto:sage [2007/12/14(金) 01:34:56 ID:mQAB4gIi0] >>11 知りたかったのはこれか? on adding folder items to of this_folder after receiving theItems theNameToDialog(theItems) end adding folder items to on theNameToDialog(theList) repeat with aItem in theList if character -1 of (aItem as text) is ":" as Unicode text then tell application "Finder" set theItems to (items of aItem) end tell theNameToDialog(theItems) end if display dialog aItem as Unicode text end repeat end theNameToDialog
17 名前:名称未設定 mailto:sage [2007/12/14(金) 01:44:10 ID:3tXFwvBg0] >>6 >>11 Automator使ったことはあるか? アクションがいろいろ用意されてるから、そっちの方が楽だと思うぞ。 フォルダの内容を取得、Finder項目をコピー、とか目的にすぐ適うのもある。
18 名前:名称未設定 mailto:sage [2007/12/14(金) 01:45:01 ID:ldmHvnNy0] >>17 逆におまえに使ったことがあるのか聞きたい
19 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/14(金) 01:50:13 ID:5orZGDZ20] >>15 ありがとうございます.助かりました!
20 名前:名称未設定 mailto:sage [2007/12/14(金) 11:16:12 ID:qhSPA3Y+0] 質問です。 tell application "Mail" set aMessages to selected messages of message viewer 1 set aMessage to reply item 1 of aMessages set subject of aMessage to "something" set content of aMessage to "some content" end tell というテストをしています。 1. Leopardではreplyコマンドでoutgoing messageをもらえるようになったみたいですが、 setしようとするとsubjectの行で 「Mail でエラーが起きました:AppleEvent のハンドラで誤りが起きました。」 と怒られます。 ただしsubject自体は変わってます。 これってやっぱりバグでしょうか? 2.replyするとまず不要な新規メッセージが開いて次に返信のメッセージが開くのですが、 返信だけ表示させるにはどうしたら良いでしょうか?
21 名前:名称未設定 mailto:sage [2007/12/15(土) 10:29:27 ID:WA4TIzRE0] ショック 前スレ最後のほうdat取得する前に落ちちゃった・・
22 名前:名称未設定 mailto:sage [2007/12/15(土) 10:33:49 ID:Xp/CdYBR0] QuickTimeで参照ムービー形式で保存できない。調べるとバグっぽい。 これってまだ直ってないのかな? blog.so-net.ne.jp/MyCometG3/2005-06-25
23 名前:名称未設定 mailto:sage [2007/12/15(土) 10:34:35 ID:z7vbsHc40] バカ発見
24 名前:名称未設定 mailto:sage [2007/12/15(土) 16:29:26 ID:cmNmOA2u0] >>23 何のことを言っているんだ?
25 名前:名称未設定 [2007/12/15(土) 19:24:49 ID:4Ek+GjpsO] 既に開いているTerminal.appのウインドウ上で シェルコマンドを実行させるにはどうすればよいでしょうか? tell application "Terminal" do shell script "ls" end tell ではスクリプトエディタの標準出力に結果が返ってきます。 do script "ls" とすると、Terminal.app上で実行されますが、 必ず新規のウインドウ上になってしまいます。 tell application "Terminal" tell window 0 of application "Terminal" do shell script "ls" end tell end tell のようにしても結果は同じでした。 OSは10.5.1を利用しています。 すみませんがお願いします。
26 名前:25 mailto:sage [2007/12/15(土) 20:07:48 ID:5KCgCNUe0] 事故解決しました。 tell application "Terminal" do script "ls" in window frontmost end tell
27 名前:6 mailto:sage [2007/12/15(土) 22:17:01 ID:tkd/btMa0] >>16 おかげさまで、記述のスクリプトを参考にして出来そうな感じです。 ありがとうございます。 >>17 Automatorは最初に考えましたが、そこまで凝った事はできないですよね? こちらの設定が悪いからかな...
28 名前:16 mailto:sage [2007/12/16(日) 14:05:26 ID:HpGZaPBu0] >>27 >>16 の記述一カ所間違いを見つけた。気づいとるかもしれんが if character -1 of (aItem as text) is ":" as Unicode text then のところを if character -1 of (aItem as Unicode text) is ":" as Unicode text then になおしといてくれ
29 名前:名称未設定 mailto:sage [2007/12/18(火) 18:59:52 ID:tI3u0/2d0] applescript使って、任意のフォルダを起動しているToastにドラッグする方法ってありますか?あったら書き方を教えて欲しいです。
30 名前:名称未設定 mailto:sage [2007/12/18(火) 19:11:45 ID:8G7jFN970] >>29 set theFolder to choose folder tell application "Toast Titanium" set myDisc to make Data disc add to myDisc items theFolder end tell たとえばデータディスクならこんな感じ。
31 名前:名称未設定 mailto:sage [2007/12/18(火) 19:14:51 ID:8G7jFN970] 訂正 1行目は set theFolder to (choose folder as list) が正しかった(あのままでも暗黙の型変換されて動くけど) add to という名前とは裏腹に、add toするたびに入れ替わっちゃってるみたいなんで あらかじめ書き込みたいフォルダ(やファイル)のlistを作っておいて、一気に add toしないとだめなようです。
32 名前:名称未設定 mailto:sage [2007/12/18(火) 19:18:33 ID:8G7jFN970] 訂正の訂正(ごめん) >add to という名前とは裏腹に、add toするたびに入れ替わっちゃってる これは嘘でした。 実験用のスクリプトで毎回make Data discしちゃってたミスです。
33 名前:名称未設定 mailto:sage [2007/12/18(火) 19:22:05 ID:6VOoaA1M0] ___ ←樹海|  ̄|| ̄ ┗(´・ω・` )┓三 ちょっと出かけてくるがな || ┏┗ 三
34 名前:名称未設定 mailto:sage [2007/12/18(火) 19:48:33 ID:6VOoaA1M0] ここに誤爆してたか…すまぬ(´・ω・`)
35 名前:名称未設定 mailto:sage [2007/12/18(火) 23:55:34 ID:C6DbmXj60] サンプルにすら入ってるkey up/downがまともに動かないけど、 これはバグなんかな 何故か全部"a"に化ける
36 名前:名称未設定 mailto:sage [2007/12/19(水) 21:01:27 ID:kppU26Um0] >>32 おお!有難う御座いました。早速試してみます。
37 名前:名称未設定 mailto:sage [2007/12/20(木) 00:40:17 ID:Ev7WE0vJ0] Leopard発売を記念して、オライリーがAppleScript: The Definitive Guideを 和訳して出版してくれるとありがたいんだが。 これを通読するとスクリプトを書くのに迷いがなくなる。
38 名前:名称未設定 mailto:sage [2007/12/20(木) 13:30:11 ID:/85vAf2r0] 英語覚えろbyオラオライリー
39 名前:名称未設定 mailto:sage [2007/12/20(木) 15:07:41 ID:X9Q17bpi0] スクリプトをバックグラウンドで実行したいのですが どんな命令を書いたらいいでしょうか。
40 名前:名称未設定 mailto:sage [2007/12/20(木) 15:19:19 ID:BAUdlxYm0] LSBackgroundOnly
41 名前:名称未設定 mailto:sage [2007/12/21(金) 17:19:11 ID:w9oOciz80] Camino1.6用 カレントタブの タイトル URL のようにコピー。 tell application "Camino" set TandU to title of current tab of window 1 set TandU to TandU & return set TandU to TandU & URL of current tab of window 1 set the clipboard to TandU end tell
42 名前:名称未設定 mailto:sage [2007/12/21(金) 20:25:46 ID:mpgVWqcT0] >>40 ありがとうございます。 これだと、メニューやウインドウが使えないみたいなんですが 自分で自分をバックグラウンドにする命令 ってのはないんでしょうか。
43 名前:名称未設定 mailto:sage [2007/12/21(金) 20:40:19 ID:WkJMD1hi0] Caminoアルファ版のツールバースクリプトは面白いんだけど12インチ画面だと微妙。
44 名前:名称未設定 mailto:sage [2007/12/22(土) 02:48:40 ID:hZsjQBLX0] >>42 用語に混乱が見られるんだが、たとえば set the_app to "Safari" as unicode text tell application "System Events" to set visible of application process the_app to false これで、アプリケーションメニューの「なになにを隠す」を実行したと同じ操作になる。
45 名前:名称未設定 [2007/12/23(日) 22:35:28 ID:vj/DnVeJ0] いましがたクラッシュレポーター送信したんですが、どうもdisplay alertでgiving upを使い、 かつボタンが1つでそれがキャンセルボタンだと、100%クラッシュするようですね。 display alertっつうぐらいだから、キャンセルボタンをデフォルトボタンにしたいけど、拒否 されるので、キャンセルボタンのみのダイアログを作ったら、この事故に遭遇しました。 検証コード: -- This works. --display dialog "cancel button 1 + giving up" buttons {"1"} cancel button 1 giving up after 60 -- This also works. display alert "cancel button 1 + giving up" buttons {"1", "2"} cancel button 1 giving up after 60 -- 次のダイアログが死亡フラグ -- But this makes the script editor ***CRASH***. display alert "cancel button 1 + giving up" buttons {"1"} cancel button 1 giving up after 60
46 名前:名称未設定 mailto:sage [2007/12/24(月) 01:58:50 ID:VOe4ew7f0] >>45 再現性のある問題コードを洗い出した点は乙。 10.3.9で止まっているので、display alert関連は一切試せないのだが、 「キャンセルボタンの指定がデフォルトボタンの指定無しにできる」って AppleScriptのひどい仕様だと思うな。 デフォルトボタンもキャンセルボタンも同じにしたければ、次のようなコードに してはどうだろう。 display dialog のキャンセルボタンはESCキーでキャンセルが反応するから。 ただし、ボタン名が"キャンセル"と"Cancel"の二択になる上、 エラーコードを必ず返すのでtry構文を使う必要が出てくる。 >>45 のやりたい事の希望には添えないかもしれん。 display dialog "キャンセルしかできない" buttons {"キャンセル"} default button "キャンセル" with icon stop giving up after 60
47 名前:名称未設定 mailto:sage [2007/12/24(月) 02:03:36 ID:x38QJxgF0] 確認して無いけど、拒否されるって時点で既にバグじゃないの?
48 名前:名称未設定 mailto:sage [2007/12/24(月) 09:36:38 ID:cvmlmFPy0] AppleScriptを特定のキーショートカットで実行しようとしています。 (10.5.1, Mail 3.1) ぐぐって出てきたMail 2.0のHelpによると、 ttp://docs.info.apple.com/jarticle.html?path=Mail/2.0/jp/ml1083.html たとえばCtrl-Oで起動したければ "~/Library/Scripts/Mail Scripts"にスクリプトを保存し、 スクリプトのファイル名末尾に「___ctrl-o」を入れて 「スクリプトメニューをアップデート」するとよいように 書いてあります。しかし、Leopardのスクリプトメニューには そのメニューがありません。 スクリプトメニューから手動で実行するとちゃんと動作するん ですが、希望するショートカットでは動作しません。 さらに、ぐぐって出てきた他のページでは「___ctrl-」ではなく 「___ctl-」となっているのでそれも試しましたが動作しません。 この仕様はLeopardでは削除されたのでしょうか。
49 名前:名称未設定 mailto:sage [2007/12/24(月) 13:48:07 ID:e4ptlFhi0] 昔はMail.app自身がスクリプトメニュー持ってたけど、その頃の話じゃねえべか? Tigerでも動かない。 こういうのみつけた。 lists.apple.com/archives/applescript-users/2003/Oct/msg00823.html www.sfc.wide.ad.jp/~gen/blog/archives/2006/01/script_menu.html www.microsoft.com/japan/mac/column/contents/98.mspx (*5)の説明のとこ
50 名前:名称未設定 mailto:sage [2007/12/24(月) 13:50:05 ID:bKfuMTsQ0] >>45 スクリプトエディタからの実行ではクラッシュしなかったのだが やり方が違うのか?
51 名前:名称未設定 mailto:sage [2007/12/24(月) 14:00:14 ID:PMlwBjQD0] >>49 当方 10.3.9、Mail 1.3.11 の環境ですが、 Mail のメニューバーの巻物印をクリックすると、たしかに 上から2番目に「スクリプトメニューをアップデート」ってのがありますな。
52 名前:名称未設定 mailto:sage [2007/12/24(月) 14:05:30 ID:P4VbbP/m0] 解答になってないけどこんなのもあるよ ttp://www.red-sweater.com/fastscripts/
53 名前:名称未設定 mailto:sage [2007/12/24(月) 20:27:24 ID:Nac2AV4C0] >>45 giving up after ...を書かないと キャンセルボタンをデフォルトのボタンにすることはできません。 というエラーメッセージが出るね。 AppleScriptというよりも>>45 をコンパイルできてしまうスクリプトエディタのバグなのでは。 @10.4.11
54 名前:名称未設定 mailto:sage [2007/12/24(月) 21:11:17 ID:vuPwK32c0] OSX 10.5.1 Intelでは display alert "Danger, Will Robinson!" buttons {"OK", "Cancel"} default button 2 cancel button 2 と書けるし display alert "cancel button 1 + giving up" buttons {"1"} cancel button 1 giving up after 60 もcrashしません。
55 名前:名称未設定 mailto:sage [2007/12/24(月) 21:36:06 ID:Nac2AV4C0] レパード欲しいのう。。。
56 名前:質問 [2007/12/26(水) 01:37:13 ID:Jcz3GcRF0] blackbird.cocolog-nifty.com/progtalk/2007/03/itunes_f4ed.html このサイトで紹介されている30分後にMacを終了するスクリプトを実行してみたところ 「NOT super user」と表示され、実行されません。権限が無い?とかそういったことかなと 思うのですが、解決方法を分かるかた教えてください。よろしくおねがいします。
57 名前:56 [2007/12/26(水) 01:38:28 ID:Jcz3GcRF0] 書き忘れましたが当方 OS10.5.1です 初心者質問で申し訳ないですがよろしくお願いします。
58 名前:名称未設定 mailto:sage [2007/12/26(水) 08:55:40 ID:QpduC8Xy0] 件のページにそうコメントしてスクリプト直させれw
59 名前:名称未設定 mailto:sage [2007/12/26(水) 10:49:45 ID:DykRmPC50] >>56 管理者権限でないと動作しないスクリプトなんだろうよ。 アカウント設定で管理レベルを上げて使うしかないだろう。
60 名前:56 [2007/12/26(水) 13:13:00 ID:Jcz3GcRF0] >>59 ありがとうございます。しかし、管理者権限でログオンしても何も変わりませんでした 何か別の手順があるんでしょうか?
61 名前:名称未設定 mailto:sage [2007/12/26(水) 13:29:39 ID:XoQzgrkG0] >>56 delay 1800 tell application "Finder" to sleep これでやってみて
62 名前:名称未設定 mailto:sage [2007/12/26(水) 13:30:05 ID:fAxFLO6h0] do shell script "Sleep 10"--これなら10秒 tell application "Finder" to sleep こっちはTigerだけど、上の通りで、スクリプトエディタからの実行でも問題なく動いたよ。 内容的にも、通常のユーザー(=管理者だよね?)で問題ないはずだけど。 LepardではスーパーユーザーじゃないとSleepが使えないのか? ターミナル起動してSleep 10って入力してリターンで、10秒後に次の行が出るか試してみたら?
63 名前:56 [2007/12/26(水) 14:42:42 ID:Jcz3GcRF0] ありがとうございます。教えていただいた方法で無事動きました。 自分の書いたスクリプトはこんなかんじだったのですが、shutdownがいけなかったんですね。 ありがとうございました。 do shell script "shutdown 180" tell application "Finder" shutdown end tell
64 名前:名称未設定 mailto:sage [2007/12/26(水) 17:13:08 ID:milt/RbT0] ああ、なるほど。 do shell script "sleep" の sleep は、Macをスリープさせるのではなく コマンドの実行をしばらく休むというものでした。だから、ここは書き換えちゃ ダメだったんです。 (ほんとは、AppleScriptにdelayコマンドがあるんで、それを使えば簡単なんですが)
65 名前:名称未設定 mailto:sage [2007/12/26(水) 17:53:21 ID:EjE9lbUP0] むしろこんなのをスクリプトメニューから実行した方が邪魔にならなくていいんでは #!/bin/sh sleep 10 osascript -e 'tell application "System Events" to shut down' あと、shut downとかsleepとかのパワー関連はFinderでなくSystem Eventsにtellするのが流行りらしい、というかOS Xでは推奨。
66 名前:名称未設定 mailto:sage [2007/12/27(木) 01:47:14 ID:RndQBQ+30] Apple Eventのログ取ると分かるけど、Finderにtellしても 結局System Eventsに下請けに出されてる。プロセス関係もそう。
67 名前:名称未設定 mailto:sage [2007/12/27(木) 03:36:23 ID:Co1d2Pbu0] そのうち tell application "Finder" to sleep なんて書いたら AppleScript エラー 変数 sleep が定義されていません。 て怒られるようになるんだろうか。
68 名前:名称未設定 mailto:sage [2007/12/27(木) 10:46:53 ID:/KIEzCw20] そっちのほうがいいなあ
69 名前:名称未設定 [2007/12/28(金) 13:02:50 ID:+XIGD6Sl0] CDを挿入すると自動的にitunesが立ち上がり、ビットレート選択画面が表示され、 選択すると自動的に音楽の読み込みが始まるような動作ってapplescriptでできますか?
70 名前:名称未設定 mailto:sage [2007/12/28(金) 13:24:23 ID:E9eNe2G00] 知らんけどコンパネの「CDとDVD」の設定で自分で作ったスクリプトでも設定しておけば良いんじゃない?
71 名前:名称未設定 mailto:sage [2007/12/28(金) 17:22:31 ID:e6qZoYE70] >>65 スクリプトメニューからシェルスクリプト実行できるの?
72 名前:名称未設定 mailto:sage [2007/12/28(金) 19:30:28 ID:Yy9Yv8ct0] iTunesは自動で立ち上がらないか? 自動で読み込むのもiTunesの設定でできるな。 毎回ビットレートを選択したいの?
73 名前:名称未設定 mailto:sage [2007/12/28(金) 20:00:44 ID:9tTwCYMZ0] >>71 うん。 ただしターミナル上で実行される訳じゃない。
74 名前:名称未設定 mailto:sage [2007/12/28(金) 21:04:56 ID:0whPc3T9P] >>71 >スクリプトメニュー - route99 の日記 ttp://slashdot.jp/~route99/journal/78037
75 名前:名称未設定 mailto:sage [2007/12/29(土) 01:22:56 ID:AwbgqQHE0] >>56 このスレはさ、1から作ってくれっていう初心者の質問にも答える人とかいるぐらい 優しい人が多いんだけどさ、それにしても他のサイトにも同じ質問するなんて たとえ初心者でもルール違反だぜ。 同じ質問するなら、同じ日に書くんじゃなく少し時間をあけて若干質問内容も変えようよな。 1から作ってくれっていう図々しい奴もそうだが、こういうこと平気でやってると ここのいい人たちも答えることしなくなってスレが枯れてくんんだよ。 はっきり言うけど、マジやめろよな。初心者だからという言い訳はすんなよ。
76 名前:名称未設定 mailto:sage [2007/12/29(土) 03:50:39 ID:y3Wq1JFf0] 人間としての初心者だろうから大目に見てやれよ。
77 名前:名称未設定 mailto:sage [2007/12/29(土) 04:10:22 ID:4OWyvzdg0] ほんとこのスレの連中には驚くというか、呆れるというか。 親切ってよりもASジャンキーで、解決する課題に飢えてるんじゃないかとも思える。
78 名前:名称未設定 mailto:sage [2007/12/29(土) 05:07:15 ID:EDaQL3es0] >>76 そういう問題以前の話しだろ。自分で自分の首を締めるつもりか?
79 名前:名称未設定 mailto:sage [2007/12/29(土) 05:12:14 ID:EDaQL3es0] 大体他のサイトでも同じ質問するなんて、答えてくれた人たちに対して失礼もいいところだ。 まだ1から作ってくれってホザいてる方が、かわいいよ。
80 名前:名称未設定 mailto:sage [2007/12/29(土) 22:02:55 ID:tax5Gvzs0] まあまあ、もういいじゃないか こうやってあちこちで嫌われて損するのは本人なんだから
81 名前:69 [2007/12/30(日) 03:27:55 ID:l4VNXBnB0] >>72 itunesは立ち上がるんですが、動き方として、 CDを入れるたびにitunesが立ち上がって、それだけでなくビットレートの選択も聞いて欲しいんです CDごとにビットレートを微妙に変えたくて… 細かい注文ですみません。 >>70 ヒントをありがとうございます。 ここで設定できそうですね。あとはスクリプトを用意すれば… itunes関連のサイトは多いのですが、ビットレートはなかなか見つかりません。
82 名前:名称未設定 mailto:sage [2007/12/30(日) 05:05:42 ID:EVhz60Rf0] 69はAppleScript書けるの書けないの? 書けるならiTunesがAppleScriptからビットレート変更したりできないの すぐ分かると思うが。mp3ならiTunes-LAME使ったら? AACは知らん。ffmpegとかか。
83 名前:名称未設定 [2007/12/30(日) 05:42:38 ID:l4VNXBnB0] >>82 回答ありがとうございます。itunesから乗り換える気はなかったのであきらめることにします。 asは細かい文法は全く分かってないです。
84 名前:名称未設定 mailto:sage [2007/12/30(日) 09:46:03 ID:c6zlbZkx0] エンコーダの種類は変えられそうだけど。 ビットレートの変更は,なんとかなんとかでマウスクリックとか制御してやるとできそうじゃんん。 まったく無理じゃないと思う。 面倒だから作らないけど。
85 名前:名称未設定 mailto:sage [2007/12/30(日) 11:03:20 ID:VPc7u6oGP] >>84 なんとかなんとかって Cliclick のことかなぁ? >Cliclick ttp://www.bluem.net/downloads/cliclick-en/
86 名前:名称未設定 mailto:sage [2007/12/30(日) 11:42:20 ID:Ab4Yg+cu0] GUI Scripting のことかと思ったら違ったのか。 しかしいろんなソフトがあるもんだなあ。
87 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/30(日) 13:06:14 ID:ANF0cxNF0] 暮れも押し詰まってきてるというのに,どっぷりAppleScriptにハマってます. ところで,以下のようなリストあるとします. {"コスモタイガー2", "コスモゼロ", "ブラックタイガー", "コスモゼロ"} "コスモゼロ"という項目が重複していますが,リストの一部が重複しているかどうかを 判断させるには,どうしたらいいのでしょうか.containsではその項目が存在している ことがわかっても,重複まではわからないですよね,たぶん…….
88 名前:名称未設定 mailto:sage [2007/12/30(日) 13:14:54 ID:ac4OMj/+0] >>87 リストを別のリストにコピーするってのはどうよ 一つずつコピーしていって、その都度コピー先に含まれるかチェックする 入っていたらスキップ、とか
89 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/30(日) 13:57:43 ID:ANF0cxNF0] >>88 例えば,"コスモタイガー2"を抜き出し, {"コスモタイガー2", "", "", ""} ← {"コスモタイガー2", "コスモゼロ", "ブラックタイガー", "コスモゼロ"} containsを使えばということだと思うんですが,これでは全てが対象になってしまうと思うんです. 実際似たようなこと考えて,元リストから複製リストを作成して一つずつ比較してみてやったりしました. ということではなく,なにか自分が勘違いしているのかな?
90 名前:名称未設定 mailto:sage [2007/12/30(日) 14:53:23 ID:UaIcXGnF0] Essential Sub-routines List Manipulation Routines www.apple.com/applescript/sbrt/sbrt-07.html COUNTING OCCURRENCES OF AN ITEM IN A LIST
91 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/30(日) 15:45:00 ID:ANF0cxNF0] >>90 たぶん重複している項目の数を結果として示すスクリプトだと思うのですが, 英語苦手なのでよく内容はわかりません.該当しそうなものを使ってみましたが, OSX向けなのでエラーが出てダメでした. でも,情報ありがとうございました.
92 名前:名称未設定 mailto:sage [2007/12/30(日) 15:59:27 ID:uUC4yVjn0] >>89 最終的に何がしたい。 リストにダブりがあるかどうか知ることが最終目的ではないだろ
93 名前:名称未設定 mailto:sage [2007/12/30(日) 16:25:50 ID:KJzXGnsC0] こういう意味ではないのか? set theSource to {"a", "b", "b", "c"} set theDest to {} repeat with theItem in theSource if theDest does not contain theItem then set theDest to theDest & theItem end if end repeat theDest
94 名前:OS9でAppleScript勉強中 mailto:sage [2007/12/30(日) 16:53:04 ID:ANF0cxNF0] >>93 does not containを使えばいいのかあ,それが >>88 の指してることなわけですね. なるほどです.あとは,theSourceとtheDestの比較をすれば,そのリストで項目が 重複しているかどうかわかりますね. ありがとうございます.感謝します.
95 名前:名称未設定 mailto:sage [2007/12/30(日) 23:05:40 ID:tIuzWWcg0] うちの場合、OS9でなら重複チェック等はTanaka's osaxで簡単に済ましてる
96 名前:名称未設定 mailto:sage [2007/12/31(月) 12:52:18 ID:sIJQD9ek0] プログラミング初心者ですが、よく理解できない状況を見つけましたので質問させて下さい。 Mac OS X 10.4.11 スクリプトエディタ2.1.1で set f to resource path of main bundle としてアプリケーションバンドルとして保存しようとすると、 この identifier の後に property を書くことはできません と言われ resource path がハイライトされてsyntax error になります set f to (resource path of main bundle) では “,” があるべきところですが property が見つかりました。 でpathのみのハイライトで、同様にエラーです。 set f to path to me ならばちゃんと保存も出来てパスも帰ってくるので、 これを使って.app:以降のパスを入れたら目的は果たせそうなのですが、 バンドル内部のパスを取得する方法として、 広範に紹介されているらしい最初の構文がなぜ私の環境で構文エラーになるのか、 気持ちが悪いのでもしどなたか御指導いただけましたら幸いです。
97 名前:名称未設定 mailto:sage [2007/12/31(月) 13:46:43 ID:BZwXIydk0] AppleScript Studioで使うものなのでは? developer.apple.com/documentation/AppleScript/Reference/StudioReference/sr1_about/sr_about.html
98 名前:名称未設定 mailto:sage [2007/12/31(月) 13:49:47 ID:MpuWxXDi0] >>96 set my_path to (path to me) set scpt_path to (path to resource "main.scpt" in bundle my_path in directory "Scripts") as Unicode text set icon_path to (path to resource "applet.icns" in bundle (path to me)) display dialog scpt_path with icon icon_path resource pathなんて聞いたこと無い。 AppleScript Studioで使うやつかな?
99 名前:名称未設定 mailto:sage [2007/12/31(月) 13:50:15 ID:MpuWxXDi0] かぶったスマソ
100 名前:名称未設定 mailto:sage [2007/12/31(月) 14:27:34 ID:sIJQD9ek0] >>97 , 98さん。素早い返答ありがとうございます。 なるほど、スクリプトエディタではない別の環境で動く構文なのですね。 この件といいosascriptではまたちょっと違う等、 なかなか複雑という印象ですね。 ひとまずやりたい事は出来そうです。 重ねてお礼申し上げます
101 名前:名称未設定 mailto:sage [2007/12/31(月) 17:30:21 ID:0M0H32ts0] アプリやOSAXごとに全然世界が違うし、 バッドノウハウみたいなのもたくさんあるし、 AppleScriptは頭を柔らかくしないと。
102 名前:OS9でAppleScript勉強中 mailto:sage [2008/01/01(火) 22:41:13 ID:chjaDrUH0] 昨年もいろいろ皆さんに教えていただいたおかけで,アルゴリズムを考えるための Scriptを60近く,実用にたえるAppletは,5つほど作成することができました. 心から感謝します.今年もよろしくお願いいたします. >>95 name containsとか便利ですよね.でも,あまりに便利すぎて OSXに移行するとき困りそうなので,二の足踏んじゃうんですよ.
103 名前:名称未設定 mailto:sage [2008/01/03(木) 19:40:41 ID:+I1HKPi20] Finder でいくつかファイルを選択した状態で tell app "Finder" item 1 of selection end tell を実行するとエラーになるのは何故なんだぜ? もしかして俺だけですか? tell app "Finder" set a to selection item 1 of a end tell だとうまく行くのに。
104 名前:名称未設定 mailto:sage [2008/01/03(木) 19:49:09 ID:wZWVECP60] >>103 item 1 of (selection as list) なぜかは聞くな
105 名前:名称未設定 mailto:sage [2008/01/03(木) 21:50:59 ID:+I1HKPi20] >>104 な、なるほど・・・? OS 9 の頃とは細かいところで変わってるんだなあ・・・
106 名前:名称未設定 mailto:sage [2008/01/04(金) 00:37:26 ID:GMKEK95d0] AppleScript にだってバージョンがあるんだぜ
107 名前:名称未設定 mailto:sage [2008/01/04(金) 03:43:05 ID:y09UQnZ+0] 文法とかの細かい変更は仕方ないにしても バージョン上がってもOS9時代よりアレなのもどうかと
108 名前:名称未設定 mailto:sage [2008/01/04(金) 17:18:33 ID:OuHxWrk/0] tell application "Finder" display dialog "1: class of selection = " & class of selection display dialog "2: class of (get selection) = " & class of (get selection) end tell こういうマニアックなポイントを覚えとくのがこの言語の「かんどころ」とでもいえるのだろうが、 基本的に仕様ミスだなあ。ちょっとしたファイル操作スクリプト書こうと思ってやってみたのに こんなんでエラーになってAppleScript投げ出すひとって大勢いそうだし。 レオでもこのままなのか?
109 名前:OS9でAppleScript勉強中 mailto:sage [2008/01/12(土) 01:27:33 ID:ZvUtVv6e0] 今,Jon's CommandsというOSAXでwalk foldersという命令を使っているのですが, 作成したスクリプトを動作させる度に,スクリプトの容量がどんどん増えていくという とんでもない不具合(?)に悩まされています. walk foldersを利用されている方,どうやってこれを解決されているんでしょうか…….
110 名前:名称未設定 mailto:sage [2008/01/12(土) 01:44:49 ID:mykv1KeI0] スクリプト晒さない事にはOSAXのせいかどうかもわからない
111 名前:名称未設定 mailto:sage [2008/01/13(日) 00:19:00 ID:mPW5Lte20] 109のwalk folders件ですが,いろいろと試行錯誤してはみたものの, 結局Jon's Commandsを使う限り不具合は解消されないようですので, 諦めることにしました.
112 名前:名称未設定 mailto:sage [2008/01/13(日) 01:41:08 ID:iAZtFkcN0] ここにあるね ttp://homepage.mac.com/tkurita/scriptfactory/Monologue/ClassicContents/BugsInTheLife/walkfolders.html それにしても、おまえは自分で組んだscriptを晒さないね
113 名前:名称未設定 mailto:sage [2008/01/13(日) 02:04:03 ID:mPW5Lte20] ScriptFactoryさんのことは知っていての質問だったわけですが, 結局そこに書いてある通り,無理だったことが身をもってわかりました. それから,自分の質問内容が気に入らないであれば,スルーして下さい.
114 名前:名称未設定 mailto:sage [2008/01/13(日) 02:10:33 ID:zUdfVohq0] コテを付けてください。
115 名前:名称未設定 mailto:sage [2008/01/13(日) 02:19:50 ID:1fj0Uanb0] いや、俺は外したままでいてくれた方が落ち着くw
116 名前:名称未設定 mailto:sage [2008/01/13(日) 02:38:23 ID:aDuZrHg+0] OS9なら普通はTanaka's osaxの MT List Files とか使うから そんな不具合有るものわざわざ使わないよ。
117 名前:名称未設定 mailto:sage [2008/01/13(日) 02:56:04 ID:mPW5Lte20] >>116 OSX移行するとき,MT List Filesが足かせにならないかって心配してまして, でも,OS9専用ってことで割り切ってTanaka's osaxを利用することにします. ありがとうございます.
118 名前:名称未設定 mailto:sage [2008/01/13(日) 09:05:17 ID:aDuZrHg+0] そんな心配は無用です。 OS9>XでAppleScript自体の仕様も相当変わっているので どのみち書き換えが必要になりますw Xになってからも、細かく仕様変更がされていてスクリプト変更してるくらいなのでorz
119 名前:名称未設定 mailto:sage [2008/01/13(日) 11:42:55 ID:KxNPf8Aw0] 時代とともに言語 / API 仕様がかわるのは当たり前。 Objective-C も Ruby も Java も C も C++ も Fortran も PHP も Perl も C# も、みんな変わってるじゃないか。
120 名前:名称未設定 mailto:sage [2008/01/13(日) 12:37:39 ID:VTigvD2v0] でも、ちゃんとバージョンごとの仕様を明確にしてほしいな。 特に下位互換性がない変更の場合。
121 名前:名称未設定 mailto:sage [2008/01/13(日) 18:48:54 ID:Y7FH7T8P0] 今さらですけど,Tanaka's osaxのファイルリストアップは,Jon's Commands のそれよりも扱いが簡単で,フィルターも強力ですごい便利.もっと早く利用して おくべきだったと,ちょっと後悔. OSXで書き換えが必要になった時,Tanaka's osaxに替わるOSAXがあるのかどうか, 激しく心配ですけど,一度便利なものを知ってしまうと,もう後には戻れませんね.
122 名前:名称未設定 mailto:sage [2008/01/14(月) 03:35:29 ID:ka4JNNii0] Tanaka's osaxのMac OS X版を作るプロジェクトとか、やればいいのかねえ。
123 名前:名称未設定 mailto:sage [2008/01/14(月) 05:00:16 ID:ENhFNRr20] 旧板にはAppleScriptのスレは無いのかね? applescript-usersって公式メーリングリストあるけど、投稿量が多すぎてついていけず 退会したけど、ちょっとのぞいてみりゃあ>>121-122 みたいな心配はいらんと知るよ。 OS XではUNIXのツール群が使えるし… OS9でAppleScript勉強中氏も、そんな埃かむった小道具いじってる時間をbashなり perlなりを勉強する時間にあててみてはどうかね。
124 名前:名称未設定 mailto:sage [2008/01/14(月) 06:39:32 ID:IiEa8l6g0] OS9でもJperlやらいろいろ有るけど アプリ操作やアプリ間連携動作やらが簡単に出来るからAS使ってるわけで データ処理とかプログラミングがしたいわけではないのでw
125 名前:名称未設定 mailto:sage [2008/01/14(月) 11:42:38 ID:LQf2u36d0] 偏屈な人だw
126 名前:名称未設定 mailto:sage [2008/01/14(月) 14:25:09 ID:EX8tgjk10] いや埃かむった小道具って言ったのは、ASのことではなく、メンテされなくなった 機能拡張とかのことですわ。AppleScriptの中でUNIXのツール群が使える(又はその逆) ってのは9とXの最大の違いではないか。正規表現使いたければdo shell scriptの中に ごく普通の言葉(世界標準の書き方)で書けばいいわけですよ。あるいはターミナルでの ファイル削除でもゴミ箱を経由させるように、シェルスクリプトの中でtell application Finder したり。
127 名前:名称未設定 mailto:sage [2008/01/14(月) 14:36:51 ID:KZRT+ChJ0] >>126 124さんと同じことをやりたいので,AppleScript. ちょっと違うのは,AppleScriptに関連するものは何でも興味津々. PerlもbashもデータベースのFileMakerとかも.OSAXも作ってみたい. OSXに移行した時にはもう,UNIX三昧しまくりしちゃいますよ.はい. 以上,できるできないは別として,素人のたわ言です.チラ裏終わり.
128 名前:名称未設定 mailto:sage [2008/01/16(水) 08:43:11 ID:8C/XGZPx0] 俺はシェルスクリプトにGUIをかぶせるためにapplescriptをかじった。 applescriptは(もw)ド素人。 でもapplescirptはCUIに拒絶反応ある人にお手製ツールを使ってもらうのにいいよ。
129 名前:名称未設定 mailto:sage [2008/01/17(木) 01:47:09 ID:qWQcQ6AM0] 文字コードを気にせずに文字データのやり取りが出来るようにならないかなー。
130 名前:名称未設定 mailto:sage [2008/01/18(金) 00:24:11 ID:5Yva5GU+0] リストのソートも,命令一つでできるといいのになあ.
131 名前:名称未設定 mailto:sage [2008/01/18(金) 01:33:20 ID:q0uCyray0] osax使えばsort命令一つで出来るぉ
132 名前:名称未設定 mailto:sage [2008/01/19(土) 00:03:36 ID:WANsk5dY0] >>131 何のOSAXかは知らないけれど,リストソートできるものがあったなんて. リファレンスのシェルソートサブーチンを,ずっと使ってましたよ.
133 名前:名称未設定 mailto:sage [2008/01/19(土) 02:04:45 ID:bNlBOqxZ0] AppleScriptでデフォルトWebブラウザを知る方法は無いでしょうか?
134 名前:名称未設定 mailto:sage [2008/01/19(土) 02:27:59 ID:Q4PHZ+3z0] >>133 「AppleScriptでデフォルトWebブラウザ」でググったら1件目で出てくるんだぜ 書いてある様にdo shell script "defaults read ~"するか、 Tiger以降ならproperty list itemでも一応取れるか
135 名前:名称未設定 mailto:sage [2008/01/19(土) 15:06:56 ID:njSmylLF0] 最近のgoogleは賢いなあ
136 名前:133 mailto:sage [2008/01/19(土) 17:23:10 ID:bNlBOqxZ0] >>134 スマンデス(´・ω・`) やはりplistを直接見るしかなさそうですね やりたかったのはデフォルトブラウザの起動でした とりあえずこうしました@OS X 10.4.11 my OpenWithBundleIdentifier(my GetBundleIdentifierForProtocol("http")) on OpenWithBundleIdentifier(string_identifier) do shell script "open -b '" & string_identifier & "' > /dev/console" end OpenWithBundleIdentifier on GetBundleIdentifierForProtocol(string_protocol) tell application "System Events" set plistAlias to (file "com.apple.LaunchServices.plist" of preferences folder) as alias end tell set plistPath to (POSIX path of (plistAlias as Unicode text)) tell application "System Events" set plistFile to (property list file plistPath) set handlerArray to (value of property list item "LSHandlers" of contents of plistFile) -- record の list になる repeat with n from 1 to (count of handlerArray) try if (|LSHandlerURLScheme| of item n of handlerArray) is equal to string_protocol then return |LSHandlerRoleAll| of item n of handlerArray end if end try end repeat end tell return "" end GetBundleIdentifierForProtocol
137 名前:名称未設定 mailto:sage [2008/01/19(土) 18:34:22 ID:1KIB+dgT0] >>131 そのまんまの名前のOSAXがありましたね.これは嬉しい.早速使ってます. どういう理由かはわからないけど,ドロップしたファイルというのは必ずしも ファイル名順には変数には読み込まれないようで,処理する時に困ってたんです. というわけで,助かりました.
138 名前:名称未設定 mailto:sage [2008/01/19(土) 18:44:46 ID:JRs7HsQo0] >>137 ファイルのリストだったらFinderでソートできますよ。 tell application "Finder" set theList to selection sort theList by name end tell
139 名前:名称未設定 mailto:sage [2008/01/19(土) 19:09:47 ID:1KIB+dgT0] >>138 Finderのオブジェクトならいけるみたいですね.でも,Finderの悪しき影響を 受けちゃってるみたいで,例えば1,2,10のファイルだと1,10,.2になっちゃいます. OS9だとそうなるんですけど,OSXでは改善されているのかなあ.
140 名前:名称未設定 [2008/01/19(土) 20:21:46 ID:HrKYcUkt0] >>139 osxは改善されてる
141 名前:名称未設定 mailto:sage [2008/01/19(土) 22:49:04 ID:cZYltYPw0] >>139 その手の問題は、昔からNatural Orderで解決済みです。
142 名前:名称未設定 mailto:sage [2008/01/19(土) 23:26:21 ID:XXfRL/cq0] >>140 教えていただいて,どうもです. >>141 Natural Orderは使ってて,確かにFinder上では問題ないです. ただ,AppleScriptの扱いはNatural Orderのそれに準じないようです.
143 名前:名称未設定 mailto:sage [2008/01/19(土) 23:47:13 ID:+u9o5DpX0] Finder で sort by name してもダメなんですか?
144 名前:名称未設定 mailto:sage [2008/01/20(日) 00:02:56 ID:KOKQVTo30] >>143 ダメですね.今はもうOSXが主流だから事実上問題ないと思いますけど.
145 名前:名称未設定 mailto:sage [2008/01/20(日) 04:12:44 ID:0kj954Xl0] >>144 うちのOS9.2.2/AS1.8.3/Natural Order の環境では OSAX sort でも Finder で sort by name でも問題なくNatural Order で並びます。
146 名前:名称未設定 mailto:sage [2008/01/20(日) 12:59:21 ID:zbY9Ad8U0] >>145 ちょっと確認したいんですが,>>131 に書いてある通り,Finder上から見える ファイル名の並びではなく,ファイルをドロップした変数に読込まれる順番という ことですよね. Natural Orderを使えば,1と2と10というファイル名をドロップした時に, 変数の中が,1,10,2 のファイル名にはならないっていうことでいいですか? うちの環境は,OS9.2.2/AS1.8.3/Natural Order 1.4です.
147 名前:名称未設定 mailto:sage [2008/01/20(日) 18:14:52 ID:EvEGGTMq0] >ファイルをドロップした変数に読込まれる順番 ではなくて、変数に読込んだ後script上で >Finder で sort by name
148 名前:名称未設定 mailto:sage [2008/01/20(日) 18:25:07 ID:20mX5rRl0] >>147 on open dropList dropHandler(dropList) display dialog dropList as Unicode text end open to dropHandler(dropList) tell application "Finder" set dropList to selection sort dropList by name end tell end dropHandler ということはではなくてですか?
149 名前:名称未設定 mailto:sage [2008/01/20(日) 18:26:48 ID:20mX5rRl0] ということはではなくてですか? じゃなくて, ということですよね? ということです.
150 名前:名称未設定 mailto:sage [2008/01/20(日) 19:22:05 ID:ReuX4mAI0] すいません。流れをぶった切って質問です。 UI Elements Scripting ("System Events")でgetしたstatic textから実際のtextを 得るにはどうすればいいのでしょうか。 具体的にはこのような感じです。 tell application "System Events" tell process "Safari" tell UI element 1 of scroll area 1 of group 3 of window 1 set theStr to static text 1 of group 7 end tell end tell end tell このtheStrは static text "theSampleString" of group 7 of UI element 1 of scroll area 1 of group 3 of window "Connection Status - PPPoE" of application process "Safari" of application "System Events" の形で得られます。ここから "theSampleString" を得たいのです。 theStr as text, theStr as unicode text, contents of theStr あるいはcontents of (static text 1 of group 7)、すべてダメです。 @ Mac OS X 10.4.11 , AppleScript 1.10.7 , Safari 3.0.4
151 名前:名称未設定 mailto:sage [2008/01/20(日) 21:43:38 ID:aF5u7c2B0] value of
152 名前:名称未設定 mailto:sage [2008/01/20(日) 22:22:04 ID:ReuX4mAI0] うまくいきました。 ありがとうございます。 value of、わすれてました
153 名前:名称未設定 mailto:sage [2008/01/21(月) 01:15:17 ID:7Z0drbOg0] sortの件,自分のスクリプトの書き方が悪いのか,環境が悪いのか わかりませんが,いずれにしてもFinderは使わずOSAX利用にします. OSXが改善されているんであれば,この件はもう問題ないと思いますので.
154 名前:名称未設定 mailto:sage [2008/01/21(月) 02:36:11 ID:JBjSBARS0] おまえ OS9でAppleScript勉強中 だろ 珍しくスクリプトを晒したな、では教えてやる (OS9でAppleScript勉強中でなかったらすまん) >>148 のスクリプトは根本的に間違ってるぞ まず、ハンドラを呼び出しといて返り値を受け取るようになってない 次に、ハンドラに渡した引き数をハンドラ内で上書きして消している そのまた次ぎに、ハンドラから返り値を戻していない 俺んとこはOS9環境じゃないから最終的にちゃんとソートされるかどうかわからんが 修正してからもう一回やってみな、たぶんできるんじゃなか
155 名前:名称未設定 mailto:sage [2008/01/22(火) 01:10:20 ID:HArE3TYz0] 他にもハンドラの指定とか色々抜けててコンパイルすら通らなさげ
156 名前:名称未設定 mailto:sage [2008/01/22(火) 02:45:38 ID:4s1CaZPN0] コンパイルはできるよ、ただ機能してないだけ
157 名前:名称未設定 mailto:sage [2008/01/22(火) 03:57:44 ID:2GbLjtHn0] 機能してないスクリプトを書いた本人です.理解の無さがそのまんま 露呈するカタチになってしまいました.いろいろと指摘して頂いた方, ありがとうございました. ハンドラのこといまだによくわかんないですけど,まあいっか.
158 名前:名称未設定 mailto:sage [2008/01/22(火) 04:03:36 ID:pm2VHoUi0] ハンドラーを理解するのは難しいね
159 名前:名称未設定 mailto:sage [2008/01/22(火) 04:12:49 ID:DGLFhknn0] ハンドラ(この場合サブルーチンか)に渡されるのは「値」。 引数に変数を書いても、その変数の中身の値だけがわたされる。 だから、ハンドラ内で変数をいじくっても、それは呼び出した側にはなんの影響も およぼさない。 set a to 10 my plusone(a) display dialog a to plusone(a) set a to a+1 end こんなにしてもaは10のまま。 ハンドラから返されるのも値。 ハンドラのなかでいちばん最後に使った値がそのまま返される。 明示的には、return ほぎゃほぎゃ の形で返す。 さっきのは set a to 10 set a to my plusone(a) display dialog a to plusone(a) return a + 1 end plusone こうかけばよかった。 以上の話をぶちこわすglobalとかpropertyとかもあるんだけど、それはまたそのうち。
160 名前:名称未設定 mailto:sage [2008/01/22(火) 21:07:32 ID:HArE3TYz0] >>156 my指定するか、scriptで囲ってtellなりofなりで指定するかしないとエラー出なかったっけ? 無視されるだけだっけか 手元に無いからわからん
161 名前:名称未設定 mailto:sage [2008/01/22(火) 22:10:15 ID:4s1CaZPN0] myを使うのは、アプリケーション内での処理から、ハンドラ呼び出すときとかに必要 普通のハンドラ(サブルーチン)はscriptで囲う必要なし そのルーチン自体にpropertyを埋め込んで何度も使いたい場合なんかに使うかな... でも、あんまり使ったことはないな
162 名前:名称未設定 mailto:sage [2008/01/22(火) 23:22:52 ID:HArE3TYz0] ありゃ、勘違いして憶えてたのかな 指摘サンクス
163 名前:名称未設定 mailto:sage [2008/01/23(水) 02:16:53 ID:jJ/hUDlk0] >>159 サブルーチンで処理した結果が,returnで戻ってセットされた変数に入る ということなのかな.でもそれを,>>148 のdropletにどう生かせばいいのか……. on open dropList set dropList to dropHandler(dropList) display dialog dropList as Unicode text end open to dropHandler(dropList) tell application "Finder" sort dropList by name end tell return dropList end dropHandler こうではないんだろうなあ,並び替えられてないし…….
164 名前:名称未設定 mailto:sage [2008/01/23(水) 02:20:46 ID:UgZ9Xfcg0] Leoparedです。お聞きしたいです。Spotlightでスクリプトの中身の検索出来ないのでしょうか? テキスト形式で保存してもヒットしません。昔は出来たような気も(テキストエディタで書いてたのだけだったのかな?)したのですが。 索引作り直してたら(壊れたのかな?と)ねむねむです。やっと終わった。でも作り直してもだめでした。実はARIAを見てただけってのは内緒。 あと、盛り上がっている話題のはこのような書き方でいいのですか? --横でごめんなさい。しかもここで書いて動かしてない。だったら書くなよ。 ...でもせっかく書いたのを消すのも、、、いや、消せよな!!!明日ためそう。ちゃんと全部書いて。 --本当はここに(オープンハンドラの前に)runハンドラを作っておいた方がいいと思う。デバッグの時のために。 on open dropList set dropList to dropHandler(dropList) of me --同じスクリプトの中のをを呼び出す時は一応付けるようにしている of me 解ってないけど。あと返しの受け皿を。 -->>161 さん of me とかの本当の意味をもう少し詳しく教えてほしいです。間違えてつかってた? display dialog dropList as Unicode text --これじゃ見にくいよね、repeeat でまわして item i of dropList & return でlogをとったほうがよいとおもう。 end open to dropHandler(dropList) tell application "Finder" --set dropList to selection --これがいらないっていわれてるやつ。いらないです。 set dropList to sort dropList by name --ソートしたのをセットしなおさないといけないです。 --あ、同じ変数じゃだめ?いけるよね?あれ?これってリスト?オブジェクト? end tell return dropList --値を返してあげましょう end dropHandler
165 名前:164 mailto:sage [2008/01/23(水) 02:39:22 ID:UgZ9Xfcg0] カキコ確認したら>>148 さんが...もっとまえからおられたのでしょうが、148から見てた。 ねむねむついでに。おやすみなさい。 on open dropList set dropList to dropHandler(dropList) --はい、リターンの受け皿です。ハンドラの戻り値は変数にセットするのです。 display dialog dropList as Unicode text end open to dropHandler(dropList) tell application "Finder" --sort dropList by name --ここが間違えています。ソートした受け皿も必要なのです set dropList2 to sort dropList by name --なんかこわいから2をつけました。いや、いらないと思うけど回してないから。 end tell return dropList2 --これでいいです。返して上げたい変数を入れます。2に変えています弱虫です。 end dropHandler
166 名前:名称未設定 mailto:sage [2008/01/23(水) 02:50:08 ID:jJ/hUDlk0] >>164 >>165 眠い中,丁寧な解説ありがとうございました. レスを参考に書き換えて実行したら,見事にできました.めちゃくちゃ嬉しい. on open dropList set dropList to dropHandler(dropList) of me repeat with i in dropList display dialog i as string buttons {"OK"} default button 1 end repeat end open to dropHandler(dropList) tell application "Finder" set dropList to sort dropList by name end tell return dropList end dropHandler
167 名前:名称未設定 mailto:sage [2008/01/23(水) 02:54:34 ID:jJ/hUDlk0] of me は,無くてもよさそうです.レベル1上がったかもしれない.皆さんに感謝です.
168 名前:名称未設定 mailto:sage [2008/01/23(水) 03:38:02 ID:8sW51IY70] ハンドラ of me あるいは my ハンドラは、 tell ナントカの内側で呼び出すときに必要になる。 たとえば、 tell application "Finder" set theList to every file of (choose folder) set dropList to dropHandler(theList) end to dropHandler(dropList) --略 end dropList なんてやるとエラーになる。 呼び出すところを、my dropHandler(theList) あるいはdropHandler(theList) of me としないといけない。 必要ないときに付けても害にはならないので、 わたしは(>>161 とは逆に)、常に付けておく習慣にする派。スクリプトを デバッグしながら、修正したりするときに、myは付けっぱなしにしておいた方が いらないエラーに出会わないので。
169 名前:名称未設定 mailto:sage [2008/01/23(水) 08:25:20 ID:sV0qOwWq0] ハンドラの頭のtoってなんですか。今までonしか見たことがなかったもので。
170 名前:名称未設定 mailto:sage [2008/01/23(水) 11:43:29 ID:L0F7r9lE0] どっちでもいいです。好きな方を使ってください。
171 名前:名称未設定 mailto:sage [2008/01/24(木) 01:31:14 ID:PWw4lLLi0] dialogをwindowにattachして表示していて、 表示するdialogによって後処理を変えたい場合はどうやるのがベターなんだろう? 具体的にはこんな感じ↓ -- on clicked theObject if name of theObject is "btnA" then display dialog "A" attached to window 1 else if name of theObject is "btnB" then display dialog "B" attached to window 1 end if end clicked on dialog ended theObject with reply withReply (* "btnA"を押したらdialog"A"を、"btnB"を押したらdialog"B"を表示する *) (* でもって"A"のOKを押した時と"B"のOKを押した時で違う処理をしたい *) end dialog ended -- ボタンだったらInterface Builderで作成する際に名前付けておけば、 on clickedでやってるみたいに区別できるけど、 dialogに名前をつける方法が全く見当付かないんだよね
172 名前:名称未設定 mailto:sage [2008/01/24(木) 01:31:58 ID:PWw4lLLi0] 今のところの代案は2つあって、まずボタンで区別する方法 -- on clicked theObject if name of theObject is "btnA" then display dialog "A" buttons {"Cancel", "OK"} attached to window 1 else if name of theObject is "btnB" then display dialog "B" buttons {" Cancel ", " OK "} attached to window 1 end if end clicked on dialog ended theObject with reply withReply if button returned of withReply is "OK" then (* AのOKの後処理 *) else if button returned of withReply is " OK " then (* BのOKの後処理 *) end if end dialog ended -- 簡単だけど全部のボタンを個別に考える事になるので、 数が増えてくるともの凄くわかりづらい感じがする
173 名前:名称未設定 mailto:sage [2008/01/24(木) 01:32:24 ID:PWw4lLLi0] もう一つ globalな状態変数を作って、display実行直前にアップデートする方法 -- property lastDialog : "" on clicked theObject if name of theObject is "btnA" then set lastDialog to "A" display dialog "A" attached to window 1 else if name of theObject is "btnB" then set lastDialog to "B" display dialog "B" attached to window 1 end if end clicked on dialog ended theObject with reply withReply if lastDialog is "A" then (* Aの後処理 *) else if lastDialog is "B" then (* Bの後処理 *) end if set lastDialog to "" end dialog ended -- ダイアログ別に書けるのでわかり易くはあるんだけど、 いまいちスマートな気がしない もっといい方法があったらご指南下さいませ
174 名前:名称未設定 mailto:sage [2008/01/24(木) 02:25:26 ID:UgLPzr1s0] とりあえず、いわゆるAppleScript Studioのはなしをするときは、その旨一言断ってもらえると ありがたい。Xcode入れてない人にとってはなんのこっっちゃわからんから。 で、なんかわかりませんけど、単に行き詰まってるだけでは?「ダイアログのOKを押したとき…」 っていうのを頭から消してみたら? ダイアログはダイアログであって、それをごちゃごちゃ拡張するぐらいなら、Scriptオブジェクト でも使って正しく一から機能を定義すべき。
175 名前:名称未設定 mailto:sage [2008/01/24(木) 02:47:45 ID:PWw4lLLi0] >>174 別に全員が全員のレスを読む義務なんて無いし、わからん人には答えも出せないだろうから、 あまり迷惑はかからないような気がしたんだ ごめんなさい で、scriptで分けるのはなるほど合点 ファイル自体分けるのも悪くなさそうですな
176 名前:名称未設定 mailto:sage [2008/01/24(木) 07:39:45 ID:gSZwdT8s0] AS Studioはほぼ分からないけれど Cocoaなら、Dialogを表示するためのメソッドを別に起こし、Dialog から戻ってきたときに実行させるメソッドを指定しておく。 メソッド1:ダイアログA表示 メソッド2:ダイアログA後処理 メソッド3:ダイアログB表示 メソッド4:ダイアログB後処理 ASでも基本的な考え方は同じようでいいのでは。 要は、一つのハンドラで処理しようと考えずに、個々に作るって方法。
177 名前:名称未設定 mailto:sage [2008/01/28(月) 04:45:44 ID:Lv8zmNMU0] 文字列の先頭または末尾にあるスペースや改行を削除したいと考えています。 character of theStings で一文字ずつチェックすればいいのはわかるのですが もっと簡単で速い方法がありそうな気がしています。 Unixのコマンドとかに何かないでしょうか?
178 名前:名称未設定 mailto:sage [2008/01/28(月) 09:00:13 ID:wC267zY50] >>177 デリミタにして割って戻せば? 但し、先頭と末尾、スペースと改行ってきまってんなら、データによっちゃあ一文字づつ判定した方が早いかもね。 ASの配列の扱いは遅いから。 URL、pathを割るだけならデリミタ使った方が楽にかけるけど。
179 名前:名称未設定 mailto:sage [2008/01/28(月) 09:21:13 ID:aEMLetUe0] sed
180 名前:名称未設定 mailto:sage [2008/01/28(月) 11:00:46 ID:wWgbdatJP] >>177 php の trim 使えば?
181 名前:名称未設定 [2008/01/28(月) 19:18:20 ID:Cc1krv5x0] >>177 処理するデータ量によると思うけど、多くの場合は、AppleScript で閉じた方が速度は速いと思う。OSAX 経由による新しいプロセスの起動は馬鹿にならないコストが発生する。書くのはめんどくさいかもしれないけど、使い回せるようにしておけば OK。 また、do shell script では、引数としてデータを渡すか、一時ファイルを経由するか以外にデータを渡す方法は無い。普通は、簡便に引数としてデータを渡すことを想定していると思う。でも、それは避けるべき。なぜなら、引数に与えられるデータは数kB 程度の制限があるから。
182 名前:名称未設定 mailto:sage [2008/01/28(月) 21:11:12 ID:6Mnl2a+20] そら制限あるに決まってるけど、たまにはドキュメント見直しといたら?
183 名前:名称未設定 mailto:sage [2008/01/28(月) 21:57:15 ID:t1dhc6kE0] OS9ならTanaka's osaxで簡単にスペースや改行削除、文字列置換出来るんだけど… 普通、こういうのってテキストエディタ使わない? アプリをAppleScriptで操作するってんなら話もわかるけど。
184 名前:名称未設定 mailto:sage [2008/01/29(火) 00:00:05 ID:SqnO2VLc0] こんなソフトありませんかスレで質問したものです。 そこでいただいたスクリプトに追加してドロップレットの形にもってこれました。 先ほどはありがとうございました。 なお、エラー処理は入れていません。 代わりにInfo.plist側でfolderのみドロップ可能の制限を付けてます。 on open of target_files tell application "Finder" repeat with theFolder in target_files set theNumber to count items of folder theFolder set name of theFolder to (name of theFolder) & " (" & theNumber & ")" end repeat end tell end open
185 名前:名称未設定 mailto:sage [2008/01/29(火) 00:15:51 ID:8rKQZbo00] >>184 こちらこそ勉強になりました
186 名前:177 mailto:sage [2008/01/29(火) 01:05:53 ID:y2zrfE5B0] ありがとうございます。 そうなんですよtrimがやりたいんです。 1行の文字列を想定しているので、do shell scriptで渡せる範囲で十分かな とは思ったんですが(って、制限があるの知りませんでしたが)。 sed で一発なのかな? 地道に削った方がいいのかな。
187 名前:177 mailto:sage [2008/01/29(火) 02:06:24 ID:JvyyVCGs0] あれ。書き込まれていない…ってことはどっかに誤爆したか。 ありがとうございました。 sedも捨てがたい気もしたんですが、一応AppleScriptで書いてみました。 お礼がてら発表。 将来必要な人はご自由にお使いください。 to trimSting(theStr) set blankcha to {" ", tab, return, ASCII character 10} repeat with l from 1 to length of theStr if character l of theStr is not in blankcha then exit repeat end repeat if l is length of theStr then -- 空白文字しかない return "" else repeat with r from length of theStr to l by -1 if character r of theStr is not in blankcha then exit repeat end repeat return text from l to r of theStr end if end trimSting --- set testStr to " ねこ cat " & return & " " trimSting(testStr)
188 名前:177 mailto:sage [2008/01/29(火) 02:11:25 ID:JvyyVCGs0] 普通のフォントだと小文字のlが見づらかったですね、失敗。 左と右でlとrだったんですが。
189 名前:名称未設定 mailto:sage [2008/01/29(火) 08:16:45 ID:KVrSUKlu0] 乙
190 名前:177 mailto:sage [2008/01/31(木) 16:50:50 ID:hk4Y87xF0] >>187 バグ見っけ。 " A" みたいな、最後の1文字だけ空白でないとき、結果が""になります。 関数の最初(repeatの前)を以下に修正 to trimSting(theStr) set keeper to ASCII character 0 set blankcha to {" ", tab, return, ASCII character 10, keeper} set theStr to theStr & keeper repeat with l from 1 to length of theStr (以下同じ)
191 名前:名称未設定 [2008/02/02(土) 14:35:22 ID:jL2sCx8L0] ここでいいのかどうかわかりませんが。 Word 2004でマクロを使って文字置換をしていたのに、Word 2008ではマクロが使えない(作れない)ので困っています。 カタカナをひらがなに一括変換したり、漢数字をアラビア数字にまとめて直したりするには、Applescriptを使うしかないのでしょうか。参考になりそうなサイトでもあれば教えてください。
192 名前:名称未設定 mailto:sage [2008/02/02(土) 15:21:35 ID:FXyhVtyz0] 2004と2008両方使えば? VBA使えるならAppleScriptはさして難しくないと思うが、 参考になりそうなサイトはググって出てきたサイトです。
193 名前:名称未設定 mailto:sage [2008/02/02(土) 15:26:19 ID:1y5wM5OO0] つwww.microsoft.com/mac/developers/default.mspx?CTT=PageView&clr=99-21-0&target=82ecc295-efb1-460d-b51d-15f8f9f08eb31033&srcid=de629b6c-3e96-4511-b2c3-17b76e3bf5c41033&ep=7
194 名前:名称未設定 mailto:sage [2008/02/03(日) 01:19:05 ID:XiMWeNMG0] 今まで使えていたスクリプトが使えなくなりました。 どなたか理由が分かる方いれば教えてください。 内容は最近使った項目を消去するスクリプトです。 ずいぶん前にこんなアプリスレで作ってもらった物なので 自分では原因が分からず、、、です tell application "Finder" activate end tell tell application "System Events" click menu item "メニューを消去" of menu "最近使った項目" of menu item "最近使った項目" of menu "Apple" of menu bar 1 of process "Finder" end tell
195 名前:名称未設定 mailto:sage [2008/02/03(日) 01:34:51 ID:/wDJiqO+0] >>194 使えなくなったってのはどう使えなくなったのか? きっかけが何かあるんじゃない? OS10.5で実行したらちゃんと最近使った項目は全削除出来たよ。
196 名前:名称未設定 mailto:sage [2008/02/03(日) 02:31:16 ID:XiMWeNMG0] >>195 説明足らずでした OS10.4.10で、こんなエラーが表示されます 「NSReceiverEvaluationScriptError:4」 特に何かアプリを入れたとか、何かを削除したとかは無いと思います たぶん、、 調べてみるとこんなページがありました veadardiary.blog29.fc2.com/blog-entry-543.html 当該のアプリは入っていないのですが、他のアプリが悪さしてるんでしょうか?
197 名前:名称未設定 mailto:sage [2008/02/03(日) 03:28:05 ID:wixDB7Lv0] まさかとは思うが、システム環境設定のユニバーサルアクセスのところの “補助装置にアクセスできるようにする”のチェックがはずれていたりしないか?
198 名前:名称未設定 mailto:sage [2008/02/03(日) 12:17:29 ID:mT7m/8wW0] >>197 チェックしてみたら、まさしくそれでした 助かりました ありがとうございます
199 名前:名称未設定 mailto:sage [2008/02/05(火) 21:28:00 ID:bkb6G5hd0] AppleScriptから自分の環境のグローバルIPを知るのはどうすればいいのですか。 Mac OS X 10.4.11です。
200 名前:名称未設定 mailto:sage [2008/02/05(火) 22:39:17 ID:iWlRhzBT0] これかな? IPv4 address of (system info)
201 名前:名称未設定 mailto:sage [2008/02/06(水) 02:24:34 ID:MF/4kPwX0] グローバルIPとは限らんけど、その辺は意味わかってるのかな>>199
202 名前:名称未設定 mailto:sage [2008/02/06(水) 02:59:20 ID:1bh4jcpH0] >>200 残念ながらローカルIPでした。 >>201 意味わかってないかも。 WebにアクセスしたときにREMOTE_ADDRでみられるあれを知りたいのです。
203 名前:名称未設定 mailto:sage [2008/02/06(水) 03:05:39 ID:MF/4kPwX0] >>202 ネットワークアダプタが1個だとIPは1つしかないぞ それがローカルかグローバルかは環境による 両方持ってることなんてあり得ない 多分ネットにはルータ経由で繋いでるんでしょ だとすると表示されてるリモートアドレスはプロバイダがルータに割り当てたアドレスだから、 AppleScriptでは取り様が無いんじゃないかなぁ ルータの説明書でも見てくださいな
204 名前:名称未設定 mailto:sage [2008/02/06(水) 03:24:30 ID:r9gNuwZ/0] >>202 do shell script "curl www.ip-adress.com/ | perl -ne 'print $1 if /My IP: ([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/'"
205 名前:名称未設定 mailto:sage [2008/02/06(水) 03:50:46 ID:MF/4kPwX0] >>204 内側から取りにくけりゃ外側から取ればいいとこまでは考えていたが、 こんな方法があったとは… curlもip-adress.comも知らなかったわ
206 名前:名称未設定 mailto:sage [2008/02/06(水) 04:41:34 ID:OFpD2CYS0] 僕はルータの設定ページから スクレイピングってのをやったことあるぞ。
207 名前:名称未設定 mailto:sage [2008/02/06(水) 04:57:50 ID:1bh4jcpH0] ありがとうございました。そういう方法しかないんですね。 いわれてみるとたしかにそんな気がします。 #!/usr/local/bin/perl4 print "Content-type: text/html¥n¥n"; print "<HTML>¥n"; print "<HEAD><TITLE>address</TITLE></HEAD>¥n"; print "<BODY>¥n"; print $ENV{'REMOTE_ADDR'}; print "¥n</BODY>¥n"; print "</HTML>¥n"; こんなCGIをつくっておいて do shell script "curl -s '" & checkURL & "' | grep '¥¥([0-9]¥¥{1,3¥¥}¥¥.¥¥)¥¥{3¥¥}'" で、拾うことにしました。 grepがエスケープだらけでわけわかんね
208 名前:名称未設定 mailto:sage [2008/02/07(木) 06:06:02 ID:jDyPrUGu0] うちのはグローバルIPなので確認のしようがないんだけど dotted decimal form of host of (("http://" & (host name of (system info))) as URL) これじゃだめだよね...きっと
209 名前:208 mailto:sage [2008/02/07(木) 09:39:35 ID:jDyPrUGu0] いろいろ調べているうちに、ひょっとしていけてるんじゃないかという気がしてきた。
210 名前:208 mailto:sage [2008/02/07(木) 11:43:56 ID:jDyPrUGu0] すいません、だめだったようです。
211 名前:名称未設定 mailto:sage [2008/02/07(木) 19:11:58 ID:sn+SQ1ai0] >>207 CGIはHTMLつくらなくてもいいんじゃないか?
212 名前:名称未設定 mailto:sage [2008/02/08(金) 11:35:09 ID:h4NoFh0Y0] 文字列の置き換えって、結局sedでやった方が楽のような。 ファイル名の置き換えをしようとしているんだけど。 >【鏡音リン初音ミク】夢みることり【オリジナル】‐ニコニコ動画(RC2).flv <【鏡音リン初音ミク】夢みることり【オリジナル】.flv こんな感じでやれそう。 tell application "Finder" set theName to name of this_item set theNewName to my RemoveIt(my GetNFC(theName)) (* set name of this_item to theNewName *) end tell to GetNFC(theItem) set theScript to ("echo " & (quoted form of theItem) & "| iconv -f UTF-8-MAC -t UTF-8") return (do shell script theScript) end GetNFC to RemoveIt(theItem) set theScript to ("echo " & (quoted form of theItem) & "| sed -e 's/‐ニコニコ動画(RC2)//' -e 's/ニコニコ動画(RC2)‐//' ") return (do shell script theScript) end RemoveIt
213 名前:名称未設定 mailto:sage [2008/02/08(金) 11:35:49 ID:h4NoFh0Y0] これよりは楽だよね? to RemoveIt(theItem) set theCurrent to AppleScript's text item delimiters set AppleScript's text item delimiters to ("‐" & "ニコニコ動画(RC2)") set newItem to (text items of theItem) set AppleScript's text item delimiters to theCurrent set newItem to newItem as Unicode text return newItem endRemoveIt もっと楽な方法あるかな。
214 名前:名称未設定 mailto:sage [2008/02/08(金) 12:04:12 ID:8BLe8zJK0] ちょっとした置換はsedのほうが書くのは楽だけど、 大量に処理するときはdelimitersで書いたほうが処理速度がはるかに速い。
215 名前:名称未設定 mailto:sage [2008/02/08(金) 22:26:43 ID:lh4IbSJr0] >>214 >大量に処理するときはdelimitersで書いたほうが処理速度がはるかに速い。 こういうのは「ノウハウ」という
216 名前:名称未設定 mailto:sage [2008/02/08(金) 23:10:24 ID:YaBd+HUr0] Mac OS X 付属の Oxford American Dictionary が言うところの "practical knowledge or skill" ってやつですね
217 名前:名称未設定 mailto:sage [2008/02/09(土) 00:20:03 ID:ZJALACSM0] delimiterで区切ったときの項目数が多すぎるとクラッシュする。 テキストサーチでやると若干遅いが潜在的なバグを回避できる。 これもノウハウ。
218 名前:名称未設定 mailto:sage [2008/02/09(土) 01:20:34 ID:8c3p0UXM0] スクリプティング機能追加に,表現形式という名のフォルダを置いておくと, AppleScriptの動作が気持ち速くなる for OS9.これもノウハウ.なんちって.
219 名前:名称未設定 mailto:sage [2008/02/15(金) 23:01:50 ID:VcvI2WhG0] 初心者質問スレから来ました。 applescriptを使って環境設定をワンクリックで設定変更できるか教えて欲しい。 具体的にはディスプレイの回転の項目を設定したいんだが、すいませんが回答頼む
220 名前:名称未設定 mailto:sage [2008/02/15(金) 23:19:48 ID:gLV++OtN0] tell applic(省略されました。続きを読むには言葉遣いを直すか中学校を卒業してください。
221 名前:名称未設定 mailto:sage [2008/02/15(金) 23:24:01 ID:VcvI2WhG0] AppleScriptを使用して、環境設定→ディスプレイの中の回転の項目を一発で 設定できる方法を探しています。どなたかご存じの方がおられましたらご教授願います。 >>220 確かに変だし中途半端だよね。すいませんでした。
222 名前:名称未設定 mailto:sage [2008/02/15(金) 23:41:19 ID:gLV++OtN0] >>221 ttp://www.macosxhints.com/article.php?story=20071003040156502 ttp://www.gizmometer.com/software/freeware/RotateDisplayScripts.zip
223 名前:名称未設定 mailto:sage [2008/02/15(金) 23:55:59 ID:VcvI2WhG0] >>222 ありがとうございました。 tell applicationでググってそれっぽいサイトみつけて途中までやったんだけど すぐに挫折して泣きそうだった。本当に感謝してます
224 名前:名称未設定 mailto:sage [2008/02/24(日) 18:40:42 ID:ws+hBWV50] 保守ついでに. OS9からOSXへの環境移行を始めているところなんですが,基本的なところで 迷ってます.TigerではないLeopardのAppleScriptって,イケてます?
225 名前:名称未設定 mailto:sage [2008/02/24(日) 20:04:58 ID:oEGBiLxe0] >>224 do shell script が使えることがかなりイケてる!
226 名前:名称未設定 mailto:sage [2008/02/24(日) 22:23:17 ID:ws+hBWV50] >>225 それは,Tigerでも使えるような…….やっぱり,Leopardにしておきます.
227 名前:名称未設定 mailto:sage [2008/02/24(日) 23:07:06 ID:g63r+uIp0] >>224 文字コードがようやくUnicodeになったのが個人的にはイケてるな
228 名前:名称未設定 mailto:sage [2008/02/24(日) 23:47:18 ID:ws+hBWV50] >>227 文字の扱いが楽になったっていうことですよね.それはいいかも.
229 名前:名称未設定 mailto:sage [2008/02/24(日) 23:56:39 ID:w0z0aOsN0] ようやくバグの一つが解決したからといって それで楽になったと言えるのかどうかorz
230 名前:名称未設定 mailto:sage [2008/02/25(月) 00:10:08 ID:ZjnJnKMr0] >>229 本格的な開発をするわけでないので,多少のことなら目を つむってって感じなのだけど.肩を落とすほど致命的なバグ?
231 名前:名称未設定 mailto:sage [2008/02/25(月) 02:02:53 ID:4eCpQ4Pi0] ttp://www.apple.com/jp/macosx/features/300.html#applescript この辺
232 名前:名称未設定 mailto:sage [2008/02/25(月) 05:32:03 ID:0xO5hGXC0] 10.5.2でもlengthがNFD:NormalizationForm Dに未対応。 困ってるひと他にもいたらフィードバックしてくれ。
233 名前:名称未設定 mailto:sage [2008/02/25(月) 06:05:07 ID:w92nhx6K0] どうせ聞き入れられないに一票w
234 名前:名称未設定 mailto:sage [2008/02/25(月) 09:40:42 ID:yH7aXyxU0] >>232 set nfd to <<data utxt304B3099304D3099304F3099>> as Unicode text length of nfd -- 3 on OSX 10.5.2 これじゃいかんの?
235 名前:名称未設定 mailto:sage [2008/02/26(火) 00:00:00 ID:fORONKKs0] >>231 どの辺にそれが書いてあるのかわからないけど,レパにしちゃいます. どっち使っても不具合があるというなら,新しい方にしようということで. >>232 日本ユーザーからのフィードバックは少ないから,要望は常に後回しになってる みたいなこと,どこかのブログで読んだことあります.同じこと何度もしつこく フィードバックしないとダメみたいですね.
236 名前:名称未設定 mailto:sage [2008/02/28(木) 01:27:06 ID:G1C0CAJl0] OSX10.5から文字列処理が全部Unicode化したのは良いんだけど、文字列比較は sorting localeによって動作が違うね。 "た" is "タ" sorting localeが日本語だとtrueが返るけど、それ以外だとfalseが返る。
237 名前:名称未設定 mailto:sage [2008/02/28(木) 03:36:09 ID:lEqImwua0] true が返るのか・・・
238 名前:名称未設定 mailto:sage [2008/02/28(木) 04:01:43 ID:a+IF9Sh30] AppleScriptって使えたらすごく便利だとは思うが アプリケーションごとにどんな命令があるのかとかよく分からなくて 結局使えないって印象。 ここの人たちはどうやって勉強してるの?
239 名前:名称未設定 mailto:sage [2008/02/28(木) 07:04:03 ID:jD7kJlja0] おいらにとってはshellscriptの方が まさにそんな印象なんだが…
240 名前:名称未設定 mailto:sage [2008/02/28(木) 13:28:29 ID:hSWm1N4N0] アップルストアとかで,講習会とかやってくれたらいいのにねー。有料でも行きたい。
241 名前:名称未設定 mailto:sage [2008/02/28(木) 14:59:25 ID:sn/A/kuB0] >>238 >ここの人たちはどうやって勉強してるの? オレも知りたい、ちゅうかやっぱり英語が堪能でないとダメ? >>240 だね。
242 名前:名称未設定 mailto:sage [2008/02/28(木) 15:39:33 ID:LAId1muE0] アプリケーションの用語説明を開いて適当に試してみるしかないんじゃない?
243 名前:名称未設定 mailto:sage [2008/02/28(木) 19:17:12 ID:Ec6shymB0] 辞書をみて文法に当てはめるだけだよな。
244 名前:名称未設定 mailto:sage [2008/02/28(木) 20:11:00 ID:n5t/c3qw0] ターミナルとAppleScriptはどう違うの?
245 名前:名称未設定 mailto:sage [2008/02/28(木) 21:00:54 ID:36ItuIwQ0] 質問がおおざっぱすぎる。テレビとラジオは違うものです。 逆にどういう点を同じ、あるいは似ていると思うのかを言うと回答が返ってきやすいだろね。
246 名前:名称未設定 mailto:sage [2008/02/28(木) 21:10:34 ID:lEqImwua0] このスレは優しい人が多いなあ
247 名前:名称未設定 mailto:sage [2008/02/29(金) 00:37:02 ID:xwnBOCeK0] >>238 本やサイトを最初から読んで……というやり方だと,挫折しやすいかも. >>241 英語堪能じゃない自分でも,ちょっとしたもの作ってます.慣れです慣れ. と,初心者の自分が偉そうに書いてみました.
248 名前:名称未設定 mailto:sage [2008/02/29(金) 00:54:43 ID:LmoyoSs00] まだ日が浅くてUI Elements主体でやってる俺だが、 適当にtellりつつpropertiesやらUI Elementsやらactionsやら叩いてるだけで、 それなりに何とかなってるな
249 名前:名称未設定 mailto:sage [2008/02/29(金) 05:21:29 ID:735ElfWC0] GUI Scriptingはこれ使うと楽だよ。それなりの値段だけど。 prefabsoftware.com/uibrowser/ 特定のGUI部品までのパスが一発で取得できる。 JavaScriptやる人ならFirebugみたいって言うと分かるかな。 ま、ちょっと違うけど。 あとScript Debuggerというのも超絶便利。高いけど。 アプリケーションのオブジェクトモデルやプロパティが丸見え。 現在の変数の値とか丸見え。 www.latenightsw.com/sd4/ どっちも初心者にこそ使ってもらいたい。 ブレークポイント設定して、そこからステップ実行、変数の中身の 遷移を観察するという手段を知ると、いろんな疑問が氷解すると思うよ。 「高いから自分にはもったいない」じゃなくて、その逆ね。 この二つがあると無いとではAppleScriptの世界は180度違うといえる。
250 名前:名称未設定 mailto:sage [2008/02/29(金) 12:28:49 ID:MqA3O8Rr0] OS9でコンパイルされたTipをOSXで使えるようになりませんか。 ソースはありません。
251 名前:名称未設定 mailto:sage [2008/02/29(金) 15:42:49 ID:anwHyA/U0] >>249 お金がなくて買えないけど すごく良さそうですね こんな方法もあるんだなー
252 名前:名称未設定 mailto:sage [2008/02/29(金) 15:48:51 ID:mZKfY1Dh0] 例えばOSを再インストールしたとき、 システム環境設定やら Finder環境設定, Finder表示オプションやらを いちいちいつもの設定にしてやるんだけれど そういうのをAppleScriptでやってもらえないかと思ったとき どうやって調べて実装したら良いの? ~/Libraryをコピーする、とか OSインストール後に初期設定だけ済ませた状態の HDDのディスクイメージを取っておいてDiskUtilityから復元、とか そういうので対応可能かもしれないけれど AppleScriptでやってみたいと思ったら 実現するための情報収集はどうするのかな、と。
253 名前:名称未設定 mailto:sage [2008/02/29(金) 22:37:26 ID:zVY9Pl4V0] >>252 1. 手元にある AppleScript 関係の本を調べる 2. アップルのサイト(開発者向けサイトを含めて)の中を見て回ったり、その中で検索したりする 3. AppleScript の専門サイトの中を見て回ったり、その中で検索したりする 4. google で "AppleScript" "System Preferences" "Finder" あるいは設定名 ("Dock", "Appearance" etc.)などをキーワードに検索する 5. 「システム環境設定」「Finder」それぞれの用語辞書を開いて見てみる 俺が思いつくのはこんなもんかなあ…。 実際やってみると例えばこんなのが見つかる。 AppleScript Tutorial on Scripting System Preferences ttp://macscripter.net/articles/468_0_10_0_C/ AppleScript: Scriptable System Preferences ttp://www.apple.com/applescript/features/system-prefs.html Re: Setting Finder Preferences and Folder Views ttp://lists.apple.com/archives/Applescript-users/2002/Feb/msg00944.html
254 名前:名称未設定 mailto:sage [2008/02/29(金) 23:31:44 ID:LmoyoSs00] >>248 PreFabはデモ版使ったけどなんか合わなかったんだよね Script Debuggerは良さそうなんだがちょっと躊躇してる >>252 俺の場合は設定変更前と変更後の両方で、 defaults readを実行したり各種Preferencesフォルダのファイル更新状況を調べたりしてる 後は同じ事をdefaults writeで実行すればいい あるいはGUI Scripting使うかFull keyboard accessをAll controlにするなりして、 単純に自動操作させたりとか
255 名前:名称未設定 mailto:sage [2008/03/01(土) 00:24:01 ID:v+1mpmUh0] >>249 うはっwこんなの欲しかった。Thx!
256 名前:名称未設定 mailto:sage [2008/03/01(土) 00:59:22 ID:VBl/0pmg0] >>253-254 貴重な情報、本当にありがとうございました! 月曜以降になってしまいますが、 ひとつひとつ実践してみます。
257 名前:名称未設定 mailto:sage [2008/03/01(土) 01:20:27 ID:xRCC+LT+0] >>254 うっわ、自分にレスしてた… 言うまでも無いが、>>248 じゃなくて>>249
258 名前:241 mailto:sage [2008/03/01(土) 14:21:54 ID:KKQdwl3O0] >>247 >慣れです慣れ とは言いつつ、英語が多いからなぁ…。(´・ω・`)
259 名前:名称未設定 mailto:sage [2008/03/02(日) 01:35:40 ID:Icr0OYjb0] >>258 わからない時は,その都度翻訳サイトを利用してますよ. 意味もそうだけど,単語の発音がわからないのも困る. 脳内ではかなりいい加減な『いいまつがい』してましたし. trueはすぐにわかったけど,falseなんて去年まで変な読み方してた.
260 名前:名称未設定 mailto:sage [2008/03/02(日) 02:57:58 ID:rkhQZIZg0] ふぁるす乙
261 名前:名称未設定 mailto:sage [2008/03/02(日) 03:18:15 ID:h1vJwPf+0] 英単語の発音を調べるなら、その単語を選択した状態にして メニュー → アプリ名 → サービス → スピーチ → テキスト読み上げを開始 とすると簡単です。 スレ違いスマソ...
262 名前:名称未設定 mailto:sage [2008/03/02(日) 22:38:04 ID:Cv7+fARa0] >>261 今やってみてちょっと感動.こんなところでOSXのありがたみを実感.ありがとう. ところで,何度やってもフォースにしか聞こえない.ジェダイの騎士になった気分だ. >>253 > 1. 手元にある AppleScript 関係の本を調べる 元々Macのプログラム本は少ないけど,AppleScript関連はさらに少ないですよね.
263 名前:名称未設定 mailto:sage [2008/03/03(月) 00:55:18 ID:5CQXfIjw0] OSXのありがたみて、あんた スピーチなんてずーーーーと昔から有りますがなw
264 名前:名称未設定 mailto:sage [2008/03/03(月) 01:15:10 ID:x3AyCSfX0] >>263 確かに.ただ昔は,別途インストールしなきゃダメだったじゃないですか. そういう意味でわずらわしくないと.なにせ時代に取り残された9組だったので, 無線LANのありがたみとか,AppleScriptの開発環境の良さとか,今になって やっと実感できてるわけです.あ,スレ違いなので,この辺で.
265 名前:名称未設定 mailto:sage [2008/03/03(月) 01:24:14 ID:Yaf6GNz10] say "false"
266 名前:名称未設定 mailto:sage [2008/03/03(月) 02:37:55 ID:mXAHJizs0] (*´д`*) ふぁるす
267 名前:名称未設定 mailto:sage [2008/03/03(月) 13:13:30 ID:S4/8ofiI0] phallus (;´Д`)ハァハァ
268 名前:名称未設定 mailto:sage [2008/03/03(月) 17:25:46 ID:1VTfV7tL0] say -v Victoria "vals!" & say -v Alex "vals!" 眼が、眼がぁ~
269 名前:名称未設定 mailto:sage [2008/03/03(月) 18:31:23 ID:ZBFQQZHZ0] Alexさんがいない。
270 名前:名称未設定 mailto:sage [2008/03/03(月) 23:30:07 ID:QFpsBzSk0] >>268 それ,AppleScriptじゃない。
271 名前:名称未設定 [2008/03/04(火) 17:09:23 ID:F0w0ZcP+0] 初心者の質問で申し訳ありません。 MacOSX上にて、 AppleScriptでアプリケーションAdobe Illustrator CS3の ファイル>スクリプト>xxxxx.jsxを実行する記述を、 どなたか教えていただけないでしょうか。 スレ違いでしたら、お許しください。
272 名前:名称未設定 mailto:sage [2008/03/04(火) 21:07:48 ID:KwpYQg180] >>271 GUIスクリプト使うか 目的のスクリプトの中身を読み込んでdo Javascriptで実行くらいしか思いつかないなぁ。 デフォルトで入ってたjsxを読み込んでみたけど頭3バイトにへんなものが。 あとスクリプト内の2バイト文字が文字化けする。 set JS_path to "Macintosh HD:Applications:Adobe Illustrator CS3:Presets.localized:Scripts.localized:ドキュメントを Flash として書き出し.jsx" set FileHandler to open for access JS_path try set JS to read FileHandler from 4 on error close FileHandler end try close FileHandler tell application "Adobe Illustrator" do javascript JS end tell もっといいやり方がありそうな気がする。
273 名前:名称未設定 [2008/03/05(水) 01:33:56 ID:7Ov2bkOw0] >>>272 271です。 書き込み、ありがとうございます。 さっそく、スクリプト内の2バイト文字を1バイト編集して、 いろいろサンプルをつくりで実験してみます。 272さん、感謝いたします。 ありがとうございました。 早めに、結果報告できればと思います。
274 名前:名称未設定 mailto:sage [2008/03/05(水) 07:27:02 ID:smF94b8f0] >>273 Macで直接作ったJavascriptだったらもしかしたらfrom 4とかいらないかも 下から2行目のdo javascript JSの部分を実行しないようにしておいて最後に JS の1行足して実行→結果を見て検証してみて
275 名前:名称未設定 mailto:sage [2008/03/05(水) 12:11:47 ID:vN2SMSvg0] do javascript内でincludeすればいんじゃね? #include "../include/lib.jsxinc" #includepath "include;../include" #include "file.jsxinc" CS2はちょっと違って、 @include "file.jsxinc" だった。 Modular Programming Supportの章参照 www.adobe.com/devnet/bridge/pdfs/javascript_tools_guide_cs3.pdf
276 名前:名称未設定 [2008/03/05(水) 15:49:04 ID:z396smgw0] >>272 >>275 271です。 272さん、275さん ありがとうございます。 初心者で申し訳ありません。 272さん記述を検証で、実行できました。 ありがとうございました。 275さん、Modular Programming Supportの章参照してみましたが、 初心者でまだ、参照できる身分でないようです。 大変申し訳ありません、 272さん記述の275さん補足の全記述を 書き込んでいただけないでしょうか? DTP製作担当で勉強中です 宜しくお願い申しします。
277 名前:255 mailto:sage [2008/03/06(木) 00:59:40 ID:WhsBlfAF0] >>249 AppleScript、ほぼ初めて位な勢いで組んでみたけど、 ScriptDebuggerのおかげで、楽にできた。Thx 使えるメソッドとかプロパティとかが一覧されるってだけで、 やっぱり相当変わる。 ちなみにFinderの前面windowで選択されているフォルダから、 ユーザからの入力された文字列を含むファイルを一括選択っていう Path FinderのSelectみたいなヤツを組んでみた。 アプリ形式で起動に3秒かかるのが難点。遅い…
278 名前:名称未設定 mailto:sage [2008/03/06(木) 02:26:20 ID:l7O1uaZT0] >>276 仕事でそれでお金もうけるんでしょ?もしくは会社の立場? 死ぬほどググるか、お金払って講習行くべきじゃないかな?甘えるなと言いたいけど。私も甘いな。 tell application "Adobe Illustrator" activate do javascript file "MyHD:Applications:Adobe Illustrator CS3:Presets.localized: 改行なし Scripts.localized:ドキュメントを Flash として書き出し.jsx" end tell ARIAがなかったら起きてこなかったよ?週一度の楽しみ。
279 名前:名称未設定 mailto:sage [2008/03/06(木) 02:33:31 ID:MwGAoFLw0] >>272 Illustrator CS3 の do javascript は do javascript anything : javascript code or file to execute ってかいてるからファイルを直接指定すれば良いんでないの? パスを(なんらかの方法で)取得して as alias すれば、 そのまま do javascript で動いたけど? おれなんか勘違いしてる?
280 名前:名称未設定 mailto:sage [2008/03/06(木) 02:34:50 ID:MwGAoFLw0] あやや
281 名前:名称未設定 mailto:sage [2008/03/06(木) 02:46:01 ID:l7O1uaZT0] >>280 ♪ >>277 書いたのさらしてみて欲しい。起動で3秒?