1 名前:名称未設定 [2008/10/03(金) 18:41:42 ID:Abs+u1Ko0] 質問、発表どっちでもスレ。 【注意】 安直なスクリプト作成依頼、丸投げはやっちゃダメ! わからない点、エラーが解決できない点について、スクリプト片を添えて質問しよう。 ・前スレ、関連旧スレ AppleScript アップルスクリプト 質問、発表 2 pc11.2ch.net/test/read.cgi/mac/1197443062/ 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 名前:名称未設定 [2008/10/04(土) 00:31:28 ID:t3kkMEtL0] こういうの作ってください!は無しで
3 名前:名称未設定 mailto:sage [2008/10/05(日) 17:59:06 ID:jL0aulsu0] 前スレ落ちた
4 名前:名称未設定 mailto:sage [2008/10/05(日) 18:02:53 ID:N1ohX2350] こっちを立てるのが早すぎたな。
5 名前:名称未設定 mailto:sage [2008/10/06(月) 03:06:39 ID:L5eEHjv20] 980超えたら落ちるのは仕様です
6 名前:名称未設定 [2008/10/07(火) 02:14:48 ID:lCUqUn5J0] 2chのレスを自動更新してgrowlというappで表示していくAppleScript を実況用にgrowlスレ ttp://pc11.2ch.net/test/read.cgi/mac/1178220147/298 で作っていただいたのですが、PowerPC用のようで 自分の環境ではレスの取得などはうまくいっているようなのですが その表示がうまくいかないようです。 テスト用のscriptを作っていただき試したところ、AppleScriptからgrowlへの動作は問題なく、growl自身の問題でもないようです。 レスを表示させる動作に問題があるようです。 環境はGrowl 1.1.4 OSX10.4.11/Intelです。 Applescriptはこちらのものです。 ttp://memogaki.soudesune.net/zip/2chResView.app.zip これをIntelMacでも使いたいのですがどのようにしたら良いのでしょうか。 このような動作をするものはIntelでは無理なのでしょうか。 作った方もなぜ動作しないか分からないそうなので IntelでのAppleScriptについて詳しい方いらっしゃいましたら教えてください。 よろしくお願いいたします。
7 名前:名称未設定 mailto:sage [2008/10/07(火) 03:42:29 ID:Y47w/it70] 自分の環境では動いている。 このスレを選択したら通知もGrowlで表示された。 なぜかPowerPCバイナリだけど。 でLeopard+Intelな環境で色々試して分かったこと。 ・配布されたものをそのまま起動→動作、PowerPCバイナリ ・動作終了後に配布アプリのEdit→Edit Scriptでスクリプトファイルを開いて ・アプリケーションとして保存したもの→URL選択画面以降動作せず、PowerPCバイナリ ・アプリケーションバンドルとして保存したもの→URL選択画面以降動作せず、Universalバイナリ ・Automatorを使ってアプリケーションとして保存したもの→URL選択画面以降動作せず、Intelバイナリ ・そのまま実行→URL選択画面以降動作せず ・debugModeをtrueにして実行→動作 ・debugModeをtrueにしてアプリケーションバンドルとして保存したもの→動作、Universalバイナリ ということは配布されているバイナリからスクリプトを取ってきてdebugModeをtrueに変更して独自に作り直せばいい。 作者さんが転載、改造、再配布を許可しているのでそれに甘えて完成品はこちらから。 dl.getdropbox.com/u/10395/2chResView.zip propertyのheaderFileNameをtest2にして本家とも共存できるようにしました(少なくとも自分の環境では)。 本家との違い(というか一部不具合) ・メニューUIが日本語 ・実行プロセス名が2chResView.appではなく2chResView ・Universalバイナリ ・メニューからもDockからも終了できずActivitiy Monitorから強制終了する必要がある
8 名前:名称未設定 mailto:sage [2008/10/07(火) 03:46:09 ID:Y47w/it70] 前半の2つ目より後の箇条書きは2つ目の下にぶら下げたつもりだったのだが投稿してみたらそうなってなかった orz
9 名前:名称未設定 mailto:sage [2008/10/07(火) 03:55:53 ID:Y47w/it70] 追記になりますが結局メニューもDockも使い物にならないなら(スクリプトの編集はアプリケーションバンドルをこじ開ければ出来ます)そんなものいらないという場合は バンドルの中のContents/Info.plistを以下のファイルで置き換えてください。 dl.getdropbox.com/u/10395/Info.plist ただしその場合はメニューもDockのアイコンも出なくなるので起動後別のソフトを前面に出してしまうと2chResViewに戻る方法が無くなって終了する以外の選択肢が無くなります。 挙動を元に戻したい場合はバンドル内のInfo.plistをSmultronのようなテキストエディタで開いて <key>NSUIElement</key> <string>1</string> の2行を削除してください。
10 名前:名称未設定 mailto:sage [2008/10/07(火) 04:32:52 ID:lCUqUn5J0] >>7-9 検証、改造ありがとうございます 今試してみたのですが、Growlの最初の通知はうまくいくのですが 実況刷れなどでの自動更新されたのレスはやはりGrowlでの表示はできないようです。 イベントログではレスの内容を取得できているようなのですが・・・ 取得したレスのGrowlでの表示がうまくいかないようです。 レス取得もそちらの環境では可能でしょうか?
11 名前:名称未設定 mailto:sage [2008/10/07(火) 04:47:48 ID:lCUqUn5J0] 追記 動作としてはurl入力後 〜レススキップしました という通知がきた後、何の通知もなくなってしまいます。 イベントログではレスの取得はされているのですが、それがGrowlに通知されない状態です。 板のアドレスを入力した後もレス表示するまではうまくいっている様子です。(スレを選んだりは問題ない。)
12 名前:名称未設定 mailto:sage [2008/10/07(火) 07:25:52 ID:Y47w/it70] >>11 自分の環境では~レスをスキップしましたという表示の後そのより後のレスの通知が表示されます。 さっきまでもう少し実況板に適した仕様にしようと色々いじっていたのですが やはり他人の書いたスクリプトを編集するというのは難しいので現状では中途半端な状況ですが一応上げておきます(本家や先ほどのものとは共存可能です)。 dl.getdropbox.com/u/10395/2chResViewLive.zip オリジナルからの変更点 ・headerFileNameをtest3に設定して本家と共存可能にした ・Universalバイナリとして動作(オリジナルはPowerPCバイナリ) ・実況板用にチェック間隔(checkInterval)を5秒に設定した ・同じくレス表示間隔(showResInterval)を1秒に設定した ・maxShowResNumbyReadOnceを1001に設定し全てのレスが通知されるようにした ・本家との区別をつけるためにプロセス名を2chResView Liveに変更した 現状での問題点 ・オリジナルと違ってメニューやDockからの終了が出来ないのでActivity Monitorから強制終了する必要がある ・解決策とはとうてい言えないがInfo.plistでNSUIElementを1に設定し実質役立たずなメニューとDockアイコンを無効にした(スクリプトの編集はバンドルを開くことにより可能です。) ・そのため起動後別アプリを前面に出してしまうと終了以外出来なくなる仕様 ・基本的には最初に更新確認元のURLを指定したらその後は放置を推奨します ・新着レスが無いとまた最初からレスを表示するが2周目以降において n周目のレス番号表示=本来のレス番号+1周目での板のレス最大値+2周目でのレス最大値+.............+(n-1)周目でのレス最大値 のような状況になってしまっていたのでレス番号をGrowlに通知しないという荒技(というかその場しのぎ)により対応。 (本当はここは本来のレス番号が表示されるようにしたかったのですが自分の技量不足で出来ませんでした。また後日時間があるときにトライします。) (一応オリジナルのレス番号も表示されるほうもコメントアウトして残してあります。)
13 名前:名称未設定 mailto:sage [2008/10/07(火) 08:11:16 ID:lCUqUn5J0] >>12 そうでしたか。。新版でもやはり変わらずレスは表示されない・・・ うーん、何がいけないんだろう。 >・解決策とはとうてい言えないがInfo.plistでNSUIElementを1に設定し実質役立たずなメニューとDockアイコンを無効にした 拡張子を.scptに変更してscriptediterから実行し、editerはDockに収納というのがスマートかなーと思ってました。それなら終了できるので。 いろいろと朝早くに面倒を見ていただきありがとうございます。
14 名前:名称未設定 mailto:sage [2008/10/07(火) 19:12:05 ID:v8Kp0RHoP] >>13 Growlの通知のスタイルをBubblesにしても駄目ですか? CSS形式だと連続表示した時に駄目なときがあるのでそれの可能性もちょっとあるかも
15 名前:名称未設定 mailto:sage [2008/10/07(火) 20:10:43 ID:lCUqUn5J0] >>14 Growlはいろいろなパターンで(通知スタイル、出てくる場所)試してみましたがやはりでてきません。 新規アカウント作って試しましたがやはりダメでした。 実行中アクティビティモニタを見ているとcurlというプロセスが着いたり消えたりします。 2chResview Liveを最前面にしているとカーソルが白黒の風車が着いたり消えたりします。 CPU使用率もメモリも十分に余裕があります。 ちなみに2GHzCore2Duo メモリ1GBです。 なにか自分の環境が悪いのでしょうか??
16 名前:名称未設定 mailto:sage [2008/10/07(火) 21:09:31 ID:v8Kp0RHoP] >>15 もう一個思い当たるのがas Unicode textをGrowlHelperAppで 通知するテキストに対して行うってのがあります。 昔DragThingなどでうまく動かない時にas Unicode textを適当に付けたら 動くようになった記憶があります。 memogaki.soudesune.net/2chResView.html にそうしたのを置いておきました。 >>7 さんの報告によると自分と同じ10.5でも動かないようなので違う可能性は高いです。 でもAppleScriptにPPCとintelの違いなんてあるんでしょうか?
17 名前:名称未設定 mailto:sage [2008/10/07(火) 21:23:10 ID:kwz1vCP70] >>15 mtlab.ecn.fpu.ac.jp/xnote/070209160623.html とりあえず2chでログとか関係なしに AppleScriptからGrowlに通知を送るだけのスクリプトでも作ってみたら?
18 名前:名称未設定 mailto:sage [2008/10/07(火) 21:48:43 ID:lCUqUn5J0] >>16 作者の方でしたか。ありがとうございます。 試してみたのですが、やはり表示されませんでした。。 >>17 作者様に作っていただいた memogaki.soudesune.net/2chResView.html memogaki.soudesune.net/zip/2chResViewtest.scpt.zip でAppleScriptからGrowlに通知を送るテストはしたのですが、それはおkでした。>>6 にkwsk書かず申し訳ない。助言ありがとうございます。
19 名前:名称未設定 mailto:sage [2008/10/07(火) 22:00:13 ID:kwz1vCP70] >>18 じゃぁ今度はログとるところを分解してテストしてみりゃいんじゃない なんでも人任せにすんな
20 名前:名称未設定 mailto:sage [2008/10/07(火) 22:06:35 ID:lCUqUn5J0] >>19 かしこまりました。 お邪魔なようなのでもう書き込みはしません。 いろいろとしていただいたお二人ありがとうございました。
21 名前:名称未設定 mailto:sage [2008/10/07(火) 22:29:25 ID:KlERJHmd0] 「なんでも人任せにすんな」への返答が「お邪魔なようなのでもう〜」 こういう奴見るとほんと腹立つわ
22 名前:名称未設定 mailto:sage [2008/10/07(火) 22:36:57 ID:kwz1vCP70] 俺としてはsmalltestを行えってまじめにアドバイスしてんだけどな
23 名前:12 mailto:sage [2008/10/07(火) 22:52:07 ID:Y47w/it70] いまさらだけど自分としてはそう不愉快に感じなかったな。 寧ろイベントログとかもう少し詳しく書いてくれれば力になれたかもしれないのにという感じ。 というか中途半端に動作するものをアップした自分が悪い?
24 名前:名称未設定 mailto:sage [2008/10/07(火) 22:55:18 ID:yqsxH7SN0] 前スレラストのお客さんもこの手合いだったからな。 流石にちょっと、という感はある。
25 名前:名称未設定 mailto:sage [2008/10/07(火) 23:10:09 ID:AJUayXJ10] またしばらく寂れそうだw
26 名前:名称未設定 mailto:sage [2008/10/09(木) 14:41:14 ID:EnaYP1mJ0] Script Debugger4で自作テンプレをクリッピングメニューから呼び出したいのですが, 登録方法がよくわからず困っています.もしわかる方いたら教えていただけませんか.
27 名前:名称未設定 mailto:sage [2008/10/09(木) 18:18:36 ID:EnaYP1mJ0] >>26 の件ですが,Clippingsフォルダに入れるだけでした.おさわがせしました. これだけじゃなんなので,Script Debugger4の話題を一つ. うちのintel Leopard環境では特定のスクリプトでApple Event logを表示させたり, sourceボタンを押すと強制終了したり操作不能になる不具合が出てます.もしこれから 買おうと思っている人は,動作確認をしっかりやった方がいいかもしれません.
28 名前:名称未設定 mailto:sage [2008/10/11(土) 00:58:27 ID:YGVRabN70] Security Update 2008-007当てると、Script Editorで辞書開いた時にできる一時sdefファイルの作成場所が /tmpから/var/tmp/folders.uid/TemporaryItemsに変わる。 なもんでログインし直すとゴミ箱にRecovered filesが出来ちゃう。ちょっと邪魔臭い。
29 名前:名称未設定 mailto:sage [2008/10/12(日) 23:12:57 ID:UYsjvl6V0] 前スレのSnapz Pro Xの小物に続き,今回もまた小物発表します. YouTube動画を高解像度版で表示させるアプレット.フリーウェア. YouTube HRV with Firefox β www.gcug.net/test/ythrvfb.zip YouTube HRV with Safari β www.gcug.net/test/ythrvsb.zip 今開いているYouTube動画の高解像度版を新しいウインドウで開いて表示させます. ただし,全ての動画が高解像度版で観られるわけではありません.特に公開時期が古い 動画は高解像度では観られないようです.予めご了承下さい. 比較画像 www.gcug.net/test/ythrv.png
30 名前:名称未設定 mailto:sage [2008/10/12(日) 23:39:29 ID:Rk15pzzC0] Firefoxスレで見て、Safariスレでも見て、ここでも見るのか orz
31 名前:名称未設定 mailto:sage [2008/10/12(日) 23:42:57 ID:UYsjvl6V0] ごめんね.
32 名前:名称未設定 mailto:sage [2008/10/13(月) 01:17:47 ID:4W8DvxVS0] >>29 踏む気にもならんが、&fmt=18足してるだけじゃないんか? せめて開いてるページの高解像のソースをmp4で別名保存するってのとか位したら? って、書くなよ。それくらいもうみんな書いてるから。
33 名前:名称未設定 mailto:sage [2008/10/13(月) 01:26:14 ID:JL5lkbOm0] >>29 はい,ただ足してるだけです.別名保存もしてません.皆さんが書いてる通りです. 予想どおり,ほとんど踏まれてません.でも,なんだかわかんないけど,楽しい.
34 名前:名称未設定 mailto:sage [2008/10/13(月) 01:26:57 ID:JL5lkbOm0] 失礼しました,>>29 ではなく>>32 へのレスです.
35 名前:名称未設定 mailto:sage [2008/10/13(月) 01:32:01 ID:8CRBv2qs0] >>29 10.4.11/Safari3.1.2で動かなかったです
36 名前:名称未設定 mailto:sage [2008/10/13(月) 01:48:58 ID:JL5lkbOm0] >>35 10.4.11では動かなかったですか.すみませんです. 10.5の環境しかもってないので,原因突き止めるのは時間かかりそうです. いずれにしてもこの話題長くひっぱるのはあれなので,なんかわかったら サイトの方に書いておきます.どうもでした.
37 名前:名称未設定 mailto:sage [2008/10/13(月) 02:31:47 ID:YwtPc7by0] >>29 http://抜きなのは何か意図はあるのでしょうか?
38 名前:名称未設定 mailto:sage [2008/10/13(月) 02:36:00 ID:dBXY5jcQ0] 実は、以前から同じ用途のスクリプトつくって自分で使ってた。 単純にurlに&fmt=18付けるだけだから、俺みたいなスクリプト初心者でも出来るよ。
39 名前:名称未設定 mailto:sage [2008/10/13(月) 03:45:44 ID:4W8DvxVS0] >>29 楽しむなバカ!!! しね、しんでお詫びしろ真面目に勉強してAS書いてるやつに。 ASからsafari開かんでもシェルスクでcurlってのもあるぞ。 べ、べつにお前に教えてるわけじゃないんだからな!!勘違いするなよな!!
40 名前:名称未設定 mailto:sage [2008/10/13(月) 09:55:40 ID:8JYSbZ9o0] 俺ならbookmarkletでやるかな。
41 名前:名称未設定 mailto:sage [2008/10/13(月) 09:55:58 ID:YwtPc7by0] &fmt=18足すだけで編集不可で「フリーウエア」とかわざわざ謳ってなんかあれな人っぽいな。 過去スレで質問しまくって「できましたー」って編集不可で公開した人に似ててなんか変。 編集不可のスクリプトの発表はスレ違いとテンプレに追加してほしい。
42 名前:名称未設定 mailto:sage [2008/10/13(月) 10:07:55 ID:S2bmhJwE0] 俺の所も動かないから中を見ようとしたら編集不可だって。 馬鹿にしてるのか。
43 名前:名称未設定 mailto:sage [2008/10/13(月) 10:36:11 ID:dU9oInNnP] よほどの遅い回線でなければ、わざわざ&fmt=18付けて再読み込みさせなくても 動画の再生画質 jp.youtube.com/video_quality_settings で設定しておけば高画質で再生されますよ。
44 名前:名称未設定 mailto:sage [2008/10/13(月) 12:32:22 ID:P4LigQDi0] なんでこの程度のことでわざわざ煽り入れるんだか
45 名前:名称未設定 mailto:sage [2008/10/13(月) 12:32:45 ID:WM63qh/30] >>35 サイトよりスレの方が早いので,あらためてこちらに. Safariで動かなかったとのことですので,スクリプト書いておきます. たぶん,これなら動作すると思います. tell application "Safari" activate set theURL to get URL of document 1 open location theURL & "&fmt=6&fmt=18" end tell 29のアプレットは,これにいくつかのエラー処理を加えたんですが, それがきっと動作的にまずかったんだと思います.
46 名前:名称未設定 mailto:sage [2008/10/13(月) 12:41:12 ID:WM63qh/30] 誤解されそうなので訂正します.エラー対応処理です.
47 名前:名称未設定 mailto:sage [2008/10/13(月) 15:38:07 ID:vHCZlgpZ0] set URL of tab -1 of window 1 to URL of tab -1 of window 1 & "&fmt=18" なんてやっておくと裏のタブで開いておいたのを裏のままfmt=18で再読み込み。 全タブを取得しといてcurrent tabだけ除外すれば複数の裏タブもいっぺんに。
48 名前:名称未設定 mailto:sage [2008/10/23(木) 21:18:44 ID:JnvvdQR80] Growlがとかいってた人 memogaki.soudesune.net/2chResView.html こんなんでてたぞ
49 名前:名称未設定 mailto:sage [2008/10/23(木) 21:55:34 ID:E3n5TJ5f0] 10.5 Intelだとうまく動かない、元スクリプト作者は環境ないから何ともしがたい、 って話だったと思ったけど それが解決してなければどうしようもないんじゃないかい
50 名前:12 mailto:sage [2008/10/23(木) 22:00:25 ID:lUXKK1hP0] >>7 とか見ると中身のスクリプトを取り出してもう一度.app化すればUniversalで動くらしいよ。 >>7 のリンク先はもうないっぽいが。
51 名前:名称未設定 mailto:sage [2008/10/23(木) 22:01:06 ID:lUXKK1hP0] ってよく考えたら>>7 作ったのは自分だったんだ。 かなり前のことだったので忘れてたぜ。
52 名前:名称未設定 mailto:sage [2008/10/24(金) 10:04:11 ID:gyloSjgq0] www.gcug.net/test/ascal.png do shell script "cal"でdisplay dialogの表示をそろえたい場合,どうしたらいいでしょうか?
53 名前:名称未設定 mailto:sage [2008/10/24(金) 11:36:24 ID:Jf97pub80] >>52 ヒラギノ?の標準半角スペースは333emだから500emのと置き換える。 でも、使えない環境もおおい。例えばこことかね。 これは力技てか、手抜き。本当はHTMLとかで真面目に書いた方がよいね。 set hoge to do shell script "cal" set myStrings to hoge as Unicode text set findStr to " " set replaceStr to string id 8199 set myStrings to replaceString(myStrings, findStr, replaceStr) of me display dialog myStrings return on replaceString(myStrings, findStr, replaceStr) set tmp to AppleScript's text item delimiters set AppleScript's text item delimiters to findStr set theList to every text item of myStrings set AppleScript's text item delimiters to replaceStr set myStrings to theList as string set AppleScript's text item delimiters to tmp return myStrings end replaceString
54 名前:名称未設定 [2008/10/24(金) 12:13:07 ID:YLgb7goj0] 初めてまともにAppleScript使ってるんですが、つまづいてます。 Safariで複数のウィンドウ、複数のタブを開いている時、 アクティブなウィンドウを切り替えたいんですが、何か方法ないでしょうか? set current tab in targetWindow to targetTab でタブは切り替わってるんですが、ウィンドウが背面にある場合は背面のまま切り替わってます。 System Eventで clickしても同様です。10.5.5です。 要するに目的のタブとウィンドウをアクティブにしたいんですが、どうやれば良いでしょう? ヒント下さい
55 名前:名称未設定 mailto:sage [2008/10/24(金) 12:45:14 ID:Jf97pub80] >>54 set index of targetWindow to 1 昼食後は眠い。
56 名前:名称未設定 [2008/10/24(金) 13:29:40 ID:YLgb7goj0] >>55 thx! ウィンドウは切り替わった...けど非アクティブのまま切り替わってる? 全面にあるウィンドウが非アクティブ、背面にあるウィンドウがアクティブの色 こーゆーもんですか?
57 名前:名称未設定 mailto:sage [2008/10/24(金) 14:58:36 ID:Jf97pub80] >>56 そのままじゃんか。答え自分で書いてるし。 次の行に activate とでも打ってみるんだ。 ひまだー(嘘だ!!!)仕事する気ならねー
58 名前:名称未設定 [2008/10/24(金) 15:18:19 ID:YLgb7goj0] >>57 答え...? よくわからんです。 Safari自体はactiveなんですが、 SafariのウィンドウをA(前面)B(背面)として、 通常はAがアクティブ、Bが非アクティブのウィンドウ色で並び順もその通りなんですが、 set index of B to 1 とすると、Bが非アクティブ、Aがアクティブ(つまり変更前のまんま) の色のまま、Bが前面にくる(並び順だけ変わる)んです。 次の行にactivate書いてみましたが、これはアプリを前面に出すんですよね? 何か勘違いしてるのかな(´・ω・`) やっと文法がわかってきたけど、これ難しいなぁ
59 名前:名称未設定 mailto:sage [2008/10/24(金) 15:59:35 ID:ykVyKfvr0] 初めて触るのにそうポンポン思い通りのスクリプト書かれちゃたまらんw
60 名前:名称未設定 mailto:sage [2008/10/24(金) 20:17:48 ID:YLgb7goj0] あぁダメだ tell application "Safari" --activate set (index of window 2) to 1 end tell こいつの動作が納得いかない とりあえず今はこういうモンだと思うことにしよう
61 名前:名称未設定 mailto:sage [2008/10/24(金) 20:46:43 ID:MjFKpi3E0] たぶんそれバグだ AppleScriptではよくあること
62 名前:名称未設定 mailto:sage [2008/10/24(金) 21:05:51 ID:D8NGnyy50] ほんとだ。うしろウインドウをcommand+optionクリックしたときと 同じ動作になっちゃうんだ。
63 名前:55 mailto:sage [2008/10/24(金) 21:22:57 ID:Kw8HwHQ60] Script Editor でも一緒だな。アプリケーションレベルのカレントにならない。 2つしか見てないけど、仕様かな?かな? index 忘れて素直に System Events で書いた方がよいね。
64 名前:名称未設定 mailto:sage [2008/10/24(金) 21:31:39 ID:D8NGnyy50] Finderは期待通りの動作をするようだ
65 名前:名称未設定 mailto:sage [2008/10/24(金) 22:21:32 ID:frwVBtf10] AppleScriptじゃなくてCocoa自体のバグですな。 だからCocoaアプリは全滅 tell application "Finder" select window 2 end tell で動くのが正しい実装 tell application "System Events" tell process "Safari" set value of attribute "AXMain" of window 2 to true end tell end tell とすれば動くが、こんなの判る人いない。
66 名前:名称未設定 [2008/10/24(金) 22:47:16 ID:PrT8+w6N0] おお、そういう指定ができるのか。知らなかった。 ちなみにAppleScript的ルールからいうとバグではあるが、Cocoaな 世界ではActive Windowという単一の概念は無くて、 MainWindowとKeyWindow, Inactive Windowってのがある。 ちなみに、NSWindowクラスではKeyになるのを拒否したり出来るみたい なのでセットしたプロパティが反映されているかその後チェックが必要。 Classic OSユライのASと考え方が違うのはある程度しゃーない。
67 名前:名称未設定 mailto:sage [2008/10/24(金) 23:10:52 ID:Kod93loi0] >>53 display dialogでHTML(CSS?)のフォント指定ができるのかよくわかりませんが, とりあえずは自分で使うだけなので,デリミタ置換で十分かなと思います. ありがとうございました.
68 名前:名称未設定 mailto:sage [2008/10/24(金) 23:20:07 ID:frwVBtf10] >>66 AppleEventの命令を内部的にどうマップするかは別にCocoaに限った問題じゃない。 アプリやクラス毎に意味付けは変わって来る。 だからこそStandard Suiteに総称的なselectがあるわけで、代わりに意味不明な 命令を繰り出す理由にはならんよ。OOP的な方向とも相反する。
69 名前:55 mailto:sage [2008/10/24(金) 23:48:15 ID:Kw8HwHQ60] 色々奥が深いんね。勉強になるし楽しい。 >>67 display dialog でよいのか。最終エディタとかに持って行くんかとおもった。
70 名前:名称未設定 mailto:sage [2008/10/25(土) 00:02:39 ID:/nRWm3zs0] 2chResView.app MBP intel 10.5.5でお試ししてみましたが,これはいいですね. ワンセグを使っているんですが,まさに実況スレの自動更新とあいまって, スレの流れがよくわかるわかる. 2chResViewのみですが,今のところこれといった問題もありません. 実況は2chブラウザでなく,2chResViewのみでいいかなって思うぐらい. GrowlとAppleScriptの可能性を感じさせるアプレットですね.素晴らしい.
71 名前:名称未設定 mailto:sage [2008/10/25(土) 00:55:28 ID:/nRWm3zs0] >>69 display dialogなんですよ.もしJedit Xとかに持っていくのなら フォント変更ができると思うので,大丈夫じゃないかと思います.
72 名前:名称未設定 mailto:sage [2008/10/25(土) 03:02:01 ID:F4pUJc+e0] tell application "Safari" activate set visible of window 2 to false set visible of window 2 to true end tell 少し遅くなるがこれもありか?
73 名前:名称未設定 mailto:sage [2008/10/25(土) 07:19:58 ID:/nRWm3zs0] 読み飛ばしてもらっていいんですが, うちのLeopardでは,>>72 が希望にそった動作をしてます. >>65 はドックからの起動だと大丈夫なんですが,アプリ単体で 起動した時はウインドウがアクティブにならないみたいです.
74 名前:名称未設定 mailto:sage [2008/10/25(土) 16:44:23 ID:/nRWm3zs0] www.gcug.net/test/gmc.png レス >>53 で教えて頂いたスクリプトと2chResViewのソースをあわせて, display dialogではなくGrowlでカレンダー表示させるようにしたスクリプト.
75 名前:名称未設定 mailto:sage [2008/10/25(土) 17:18:51 ID:zRBX1lq80] 2chResView導入テスト中。 モタスポ実況板のスレURLを入れると、 「&amp;1(←本当は半角)を取り出すことはできません。」と言われて、 動作が止まってしまいます。下記スレで起こりました。 ttp://live-racing.net/livebbs/test/read.cgi/live/1224694330/ どこをいじればいいかアドバイスいただけますと大変助かります。 Intel iMac、10.5.5です。よろしくお願いします。
76 名前:名称未設定 mailto:sage [2008/10/25(土) 18:05:23 ID:VbXcGaBh0] Growlスレに作者がいるって訳じゃないの?
77 名前:名称未設定 mailto:sage [2008/10/25(土) 23:42:03 ID:x2JBMzcV0] string id 8199ってなんじゃ?
78 名前:名称未設定 mailto:sage [2008/10/26(日) 01:08:20 ID:e+jOjkx/P] >>75 対応したと思う
79 名前:名称未設定 mailto:sage [2008/10/26(日) 02:14:27 ID:QJLbb3aC0] >>78 2chはここしかみてないから使わないけどソース見てて。おしえてくれろ。 set AppleScript's text item delimiters to {hoge as Unicode text} どしてリストにして渡してるの?どっかで何か変わったの?これやらないとだめ?
80 名前:名称未設定 mailto:sage [2008/10/26(日) 02:15:30 ID:4cxLaD6K0] >>79 日本語でおk
81 名前:名称未設定 mailto:sage [2008/10/26(日) 02:19:56 ID:QJLbb3aC0] >>77 あ、私かいな。ちゃんと引用しろよ。 Unicode ID のことだよ。前スレで盛り上がったじゃん?data<>とかで書かなくてもよいんだ。 そいえばちゃんとお礼してない。教えてくれた人ありがとう。
82 名前:名称未設定 mailto:sage [2008/10/26(日) 02:23:45 ID:QJLbb3aC0] >>80 78さん? >>53 で私の使ってるハンドラ string を渡してる。 delimiters に関してなにか変更あったのかな?と。あまりAppleのdocument読まないから。
83 名前:名称未設定 mailto:sage [2008/10/26(日) 02:25:13 ID:4cxLaD6K0] どうやら日本人じゃないらしい
84 名前:名称未設定 mailto:sage [2008/10/26(日) 10:17:39 ID:lUfGSYy60] >>81 ありがと。 Tigerだとコンパイルできるけど動かんぞ。 Leopard以降なのか? なんかUnicode対応以来,あちこちぐちゃぐちゃしてわからんことが大杉。
85 名前:名称未設定 mailto:sage [2008/10/26(日) 11:04:50 ID:hQeVnxlp0] 君ら、もうちょっと脳に汗かこうや ググらず、Language GuideやRelease Notes読まず、じゃわか(ry
86 名前:75 mailto:sage [2008/10/26(日) 13:32:52 ID:zHn/rlQA0] >>78 ご対応ありがとうございました。 ただ、残念ながら動きませんでした。エラーも同じです。 Growlからは「スレが見つからないので新しいスレを選択しろ」と言われます。
87 名前:名称未設定 mailto:sage [2008/10/26(日) 16:51:07 ID:TVo/dLc60] AppleScriptのdo shell scriptからPerlを扱えるようカジりはじめたのですが, 最初からつまずいてます. set textMess to " Leopard." do shell script "perl -e 'print \"Hello,\n\";'" do shell script文の後にAppleScript変数textMessをつけて,"Hello, Leopard." という結果にしたいのですが,"echo " & textMessをこれにどうつなげていいのか わかりません.教えていただけませんか.
88 名前:名称未設定 mailto:sage [2008/10/26(日) 17:18:51 ID:1fRNd1I/0] >>87 コマンドラインを変数にして文字列とつなげればインジャネ? つかここら辺基本だから、どっかのサイトでみっちりやっといた方がいいと思うけど。 まあ適当にサンプルおいとくからがんばれ on open theFileList repeat with theFile in theFileList set commandLine to "openssl sha1 " & {quoted form of (POSIX path of theFile)} set xxx to do shell script commandLine set pushTemp to AppleScript's text item delimiters set AppleScript's text item delimiters to "= " set xxx to last text item of xxx set AppleScript's text item delimiters to pushTemp display dialog xxx end repeat end open
89 名前:名称未設定 mailto:sage [2008/10/26(日) 17:33:51 ID:TVo/dLc60] >>88 do shell scriptを変数に書き出して,それをもう一つの変数につなげるのではなくて, do shell script 内のPerl内でつなげて完結させるということを聞きたかったわけです. 上のサンプルは別な部分で参考にさせていただきます.
90 名前:名称未設定 mailto:sage [2008/10/26(日) 17:40:30 ID:TVo/dLc60] わかりにくかったかもしれません.自分でいろいろ試してみます.
91 名前:名称未設定 mailto:sage [2008/10/26(日) 17:52:57 ID:1fRNd1I/0] >>89 do shell script で発行されたコマンドに対して対話的に何かしたいといいうことか?無理。
92 名前:名称未設定 mailto:sage [2008/10/26(日) 18:28:28 ID:TVo/dLc60] >>91 言われている通り無理っぽいので,テクニカルノートのサンプルを参考にして 一度AppleScript変数に読み込ませてからつなげる方法にしました. set textMess1 to "Hello," set textMess2 to " Leopard." do shell script "echo " & textMess1 & textMess2 -- "Hello, Leopard." ありがとうございました.
93 名前:名称未設定 mailto:sage [2008/10/26(日) 20:07:32 ID:VTGefaxq0] set textMess to " Leopard." do shell script "perl -e 'print "Hello," & textMess & "\n";'" これとは違うって事? 解決したみたいだからいいけど
94 名前:名称未設定 mailto:sage [2008/10/26(日) 20:30:36 ID:TVo/dLc60] >>93 そうかそれでいいんですね. 何度やってもエラーになってたので,ダブルクォーテーションが抜けてたか, 増えすぎたバックスラッシュでこんがらがってたのかも.ありがとうございます. ちょっとでもわかると,Perlが楽しくなってきました.
95 名前:名称未設定 mailto:sage [2008/10/26(日) 21:29:52 ID:e+jOjkx/P] >>79 どっかからのコピペなんで詳しいことはわかりません >>86 試したら自分もエラーが出たのでもっかい直しました
96 名前:名称未設定 mailto:sage [2008/10/26(日) 21:57:07 ID:c5rHVkSN0] このつぶやき見飽きた。もう勘弁してくれ。 >>33 でも,なんだかわかんないけど,楽しい. >>94 ちょっとでもわかると,Perlが楽しくなってきました.
97 名前:名称未設定 mailto:sage [2008/10/26(日) 22:02:11 ID:leFDhUAz0] >>96 それがプログラミングだからしょうがない。 楽しくないプログラミングなんて誰もやる気しないだろ? あの試行錯誤感がいいんだよ。
98 名前:名称未設定 mailto:sage [2008/10/26(日) 22:11:01 ID:VTGefaxq0] >>94 "ワンセットを即座に普通の文字として認識出来るように鍛えるか set DQ to """ do shell script "perl -e 'print " & DQ & "Hello," & textMess & "\n" & DQ & ";'" とかやればApplescriptでのダブルクォーテーションとの違いがなんとなくつかみやすいかも。 文字の並びが長くなっちゃうけど >>96 そんなら無視しれ。 オレ覚えはじめのころにそんなこと言われたら相当凹むわ。
99 名前:名称未設定 [2008/10/26(日) 22:21:26 ID:PmjoJ6HJ0] 環境変数の展開とかしない限りは「¥"」じゃなくてシングルクオート「'」でいいんじゃないのか?
100 名前:名称未設定 mailto:sage [2008/10/26(日) 22:31:05 ID:tzBda6Gc0] 楽しいのは全くもって結構だが、いちいちここに書く必要はない。
101 名前:名称未設定 mailto:sage [2008/10/27(月) 01:05:49 ID:xTSmnSN80] >>96 >>100 そういうお前がry
102 名前:名称未設定 mailto:sage [2008/10/27(月) 07:43:15 ID:0eZUsEsb0] >>98 わかりやすくていいですね,慣れるまではそれを使ってみます. >>99 自分が書き方知らないだけだと思いますが,シングルクォートで書けなかった…….
103 名前:名称未設定 mailto:sage [2008/10/27(月) 16:35:43 ID:SCa34hkm0] せめて句読点をちゃんと使って欲しい。
104 名前:名称未設定 mailto:sage [2008/10/27(月) 20:57:21 ID:rwh9I1Ct0] わかり難い物はquoted form of 使うべきだろ。
105 名前:名称未設定 mailto:sage [2008/10/28(火) 22:28:26 ID:uR63MieC0] >>84 PARKにまだ書かれていないみたいだから、まとめ的に昔と今の違いをここに書いとく。 めちゃくちゃ便利になったってのが解ると思う。Unicodeつかう人にとってだけかもだけど。 とりあえず2万字回すべし、面白いぞ。"25991 23383 12497 12524 12483 12488 35211 12390 12429 12399 28961 12375 12394" set hoge to 9891 as real set leopardString to string id hoge set tigerString to (《data utxt26A3》 as Unicode text) --《》は半角ね。 log leopardString & space & tigerString
106 名前:名称未設定 mailto:sage [2008/10/28(火) 22:31:24 ID:uR63MieC0] ついで、クォートの使い方私風。参考になれば。 上の10進出すのに使った。ちょうど良いかも。 set hexNum to quoted form of "26A3" set decNum to do shell script "ruby -e " & quote & "p " & hexNum & ".hex" & quote return decNum
107 名前:名称未設定 mailto:sage [2008/10/28(火) 22:47:04 ID:Kb/uGXgy0] >>106 これを参考にして,これから作るScriptに利用してみます. ありがとうございます.
108 名前:名称未設定 mailto:sage [2008/10/29(水) 00:30:23 ID:S4POVvan0] 見直さずに送信は悪い癖だな。治す気はないが。補足もしくは蛇足をば。 勉強し始めの人にはちょっとしたことでもわけ解んなくなるから。←通ってきた道。いや今でも。 >105 1行目の as real エラーメッセとNo.が欲しくていろいろ遊んでたのを消すの忘れてた。 なんも書かんでよいぞ。 as integer でもよいか?宣言した方が読み返しやすいかな? >106 で16進から10進変換かいてるが10進取るだけなら >105 の tigerString つまりキャラクタを id of したら10進とれる。 set hoge to id of "腐" とかで結果みてくれ。ASCII number と character のUnicode 用みたいな物だ。 で >106 はPearl のハンドラ書き直したときのをデバッグついでに1行使いしてみただけ。quote の流れの役に立つかな?と。 とにかく文字処理する人間に取ってはAS2.0と ruby には感謝感激雨霰だな。 ちなにみこいつどんだけ暇なんだ?と思うだろうが確かにそうだ。 仕事する気がおきんのでここで遊んでる。仕様書なんてこの世からなくなればよいのに。
109 名前:86 mailto:sage [2008/10/30(木) 21:07:17 ID:uO0uvF/a0] >>95 今度は動きました。 どうもありがとうございました。 便利に使わせていただきます。
110 名前:名称未設定 mailto:sage [2008/11/06(木) 01:32:52 ID:ZibL1xWP0] 広義の意味でのApplescriptの質問なのですが、 これまで自分で使うためとフリーウェア(1本だけですが)としてスクリプトを組んだことはあるのですが はじめて、お客さんに頼まれてスクリプトを組みました。 スクリプトはだいたい200ライン程度、スクリプトエディタを使用しユーザーインターフェイスは最低限のものです。 いちいちtellで階層を呼び出すのは嫌いなので、割と短めのライン数になっていると思います。 内容を言わないでの質問で申し訳ないのですが、一般的にはどのくらいの額を請求できるものなのでしょうか? 最終的にはお客さんと相談して決めようと思っているのですが、 あまりにも常識はずれになってしまうといけないし、自分が安く提供したのか、高く貰ったのかくらいわかっておきたいので
111 名前:名称未設定 mailto:sage [2008/11/06(木) 01:54:35 ID:6C3sgi7U0] 普通は開発にかかった時間で請求するものだと思うけど。 個人的には,AppleScriptで稼ぐのはあきらめました。
112 名前:名称未設定 mailto:sage [2008/11/06(木) 02:23:52 ID:ZibL1xWP0] >>111 ありがとう。 最初うまく動かなくて2日位かかってしまった。 最初からあることに気づいてれば数時間で出来ちゃったと思う >個人的には,AppleScriptで稼ぐのはあきらめました。 やっぱり仕事として発生しないということかしら...
113 名前:名称未設定 mailto:sage [2008/11/06(木) 02:42:27 ID:xe1A6rEs0] 会社員なので参考になりそうな答えは提示できないけど、 別にAppleScriptに限定して考える事は無いんじゃないかな あと今更言ってもアレなんだが、 先に決めとくべきだったんじゃないかとは思う
114 名前:名称未設定 mailto:sage [2008/11/06(木) 12:53:50 ID:ZibL1xWP0] >>113 アプリケーション制御とファイル管理をするような内容だったので 開発の容易さからApplescriptになりました。 私自身使える言語がApplescriptとjavascriptしかないというのもあります。 私はプログラマーではなく、自身のためにスクリプトを組んだり レイアウトフォームに付随して(業種がばれますね)スクリプトを組むことはあったのですが スクリプト単体で発注されたのははじめてで、うれしくて予算は二の次にしちゃいました。 やっぱり、まずはお客さんに満足していただくよう努力して、評価を得ようとおもいます。 有り難うございました。
115 名前:名称未設定 mailto:sage [2008/11/06(木) 14:51:35 ID:SrjMOGQVP] 「報酬は?」「あなたが…満たされた分だけ…」
116 名前:名称未設定 mailto:sage [2008/11/06(木) 19:47:28 ID:5FgNhhrY0] 3万円〜30万円ってところかなあ。
117 名前:名称未設定 mailto:sage [2008/11/07(金) 00:13:21 ID:KE7FU1C70] 日給いくらで申請するかだよね。
118 名前:名称未設定 mailto:sage [2008/11/07(金) 00:25:54 ID:e1eBJROM0] スクリプト単体じゃなくて別に主たるコンテンツの依頼があったのなら 「また次も宜しくお願いしますね」的なおまけとして差し上げても良かったのにな。
119 名前:名称未設定 mailto:sage [2008/11/07(金) 01:51:01 ID:U7X/qCx20] >>114 いや、「何故わざわざAppleScriptで作ったの?」とかそんな話じゃなくてさ 対価の見積もり基準としてAppleScriptだと幾ら?って限定する必要はないわけで、 マ板かム板あたりで一般的な話として相談する手もあったんじゃねーのって事です AppleScriptで書こうがObjective-Cで書こうが、 中身に詳しくないお客にしてみれば同じ事じゃね?
120 名前:名称未設定 mailto:sage [2008/11/07(金) 13:15:50 ID:QwQjnn/H0] >>119 ありがとう。>>108 の方の書き込みをみて、ここで聞いてみようかなと思った次第です。 >>111 ,117 時間計算してしまうと私の能力が低いと高い請求になってしまう。それもちょっと... >>116 私はその低い方の金額でもOKな感じです。 >>118 それなりに頂ければ、やる気も出てくるので...やっぱり頂きたい みなさん本当にありがとう。
121 名前:名称未設定 mailto:sage [2008/11/07(金) 21:09:06 ID:KE7FU1C70] >>120 能力と時間給の問題は,そのとおりなのだけれども,世間はそれで動いているんだよね。 能力がありすぎると損をするような...
122 名前:名称未設定 mailto:sage [2008/11/08(土) 12:46:11 ID:n/AS+2ei0] >>121 FP
123 名前:名称未設定 mailto:sage [2008/11/08(土) 21:23:48 ID:ijpwYJEF0] 能力があればそれを理由に時間単価を上げられるじゃない
124 名前:名称未設定 mailto:sage [2008/11/08(土) 22:45:01 ID:dQzZVq1f0] 能力がある→単位時間当たりの料金が高い→でも開発時間が短い ←こっちの方がクライアントのメリットは多いはず 能力がない→単位時間当たりの料金は低い→でも開発時間が長い ってことでまず自分の時給を決めなさい。750円/hからスタートです。
125 名前:名称未設定 mailto:sage [2008/11/09(日) 18:45:13 ID:75hQjtnT0] 次のような処理を一気にしてくれるスクリプトを書きたいと思っています。 1) ~/Desktop にあるすべてのzipファイルを解凍 2) ~/Desktop にあるすべてのhtmlファイルをゴミ箱に移動 or 削除 1)はStuffIt ExpanderやUnarchiver、2)はFinderに、それぞれやらせればいいのだと思いますが、 具体的にどういう命令にすればいいか分かりませんでした。 初歩的な質問で恐縮ですが、アドバイスお願いします。
126 名前:名称未設定 mailto:sage [2008/11/09(日) 18:51:37 ID:10dOh0aU0] Automatorなら分からなくても出来るが それでは駄目なのかい
127 名前:名称未設定 mailto:sage [2008/11/09(日) 20:02:29 ID:J1ADMCxr0] >>125 簡単に作りたいんだったら 1)はzipファイルをFinderでopen 2)はhtmlファイルをFinderでdelete 両方とも拡張子で選びだせばいい
128 名前:名称未設定 mailto:sage [2008/11/09(日) 21:40:44 ID:J1ADMCxr0] >>125 >>127 の説明だけだとわかんないだろうから具体的なものを書いとく 2)の方だけだよ。あとは調べるなり応用するなりしてみて tell application "Finder" delete (every file of (path to desktop folder) whose name extension is in {"html", "htm"}) end tell
129 名前:名称未設定 [2008/11/10(月) 00:13:25 ID:G+bZelPo0] >>125 こんなんでもいいのかと tryは該当項目がない時の対応 try do shell script "open ~/Desktop/*.zip" end try try do shell script "rm ~/Desktop/*.html" end try
130 名前:名称未設定 mailto:sage [2008/11/10(月) 03:47:18 ID:HbJJ7IMM0] >>129 シェルスクリプトでやれってことですね、わかりますw
131 名前:名称未設定 mailto:sage [2008/11/10(月) 11:39:44 ID:jKYev5ya0] 最初からシェルスクリプト使った方が効率的だしw
132 名前:名称未設定 mailto:sage [2008/11/10(月) 14:09:55 ID:E18X5wfz0] なんか雰囲気からして、一日一回定期的に動かしますみたいなものに見えるんだよね。 それだとシェルスクリプトとcronだわなあ。
133 名前:名称未設定 mailto:sage [2008/11/10(月) 14:32:28 ID:/YsdEu920] >>132 それは古典的なunixの場合、OSXではlaunchdを使う。 developer.apple.com/macosx/launchd.html
134 名前:名称未設定 mailto:sage [2008/11/10(月) 19:56:01 ID:5VAvNdNM0] へー
135 名前:名称未設定 mailto:sage [2008/11/11(火) 03:07:18 ID:6TGtup5L0] 思いっきりcron使ってた。 launchdってそういうこともできるのか。
136 名前:名称未設定 mailto:sage [2008/11/11(火) 15:47:06 ID:eOj/IPUD0] >>133 iCal のイベントで呼出してたw ところでファイル名やフォルダ名に全角パーレンが入ってると アプリでopenした時にエラーになってしまうのですが 対処はどうすればいいんでしょう?
137 名前:名称未設定 mailto:sage [2008/11/11(火) 23:59:13 ID:2Z6c/c/30] >>120 今更だけどクライアントと先に話すべき事だよね。 考え方によっては、今後の事も考えて次の仕事とセットで値段を決める方法もあるよ。 例えば「今回は普通5万もらうんですが、これだと高くなるので次の○○とセットで7万でどうですか?」とか。 ついでに、photoshopCS3で楕円形の選択範囲ってつくれる? 普通の長方形とかなら tell app "photoshopCS3" select current document region {{500, 520}, {501, 2020}, {501,2020}, {500, 2021}} end tell で作れるけど、楕円形が作れない・・・・ 教えて下さい。
138 名前:名称未設定 mailto:sage [2008/11/12(水) 07:22:19 ID:rk8/vzcM0] >>137 CS3 の AppleScriptReferenceGuide は読めるという前提で。 標準楕円なら楕円方程式に放り込んで、必要とする平滑度でポイントの座標をだす。 メモ。((x*2)*(a*2))+((y*2)*(b*2)=1 -->第1象限、abは長短半径。bが0ならxはaね。 円を扁平させたのを3次ベジェで書くなら path item で作って create selection 。これなら12個の座標で行けるね。 ググって方程式あるかな?Illstratoer で楕円書いて direction みてみたら55%くらい引っ張ってあるね。 って遊んでたらお弁当作る時間無くなった;;
139 名前:名称未設定 mailto:sage [2008/11/12(水) 07:32:18 ID:JWYw+knL0] >>135 launchdを使えば周期動作やフォルダ監視スクリプトも待機負荷無しで作れる。 cronと違いLaunchAgentsはloginしていることが保証されるから、AppleScriptや GUIアプリを使う物はここに置けば良い。OSXの多くのAPIはloginwindowや WindowServerとMach IPCでやり取りして動くからlogin状態が必要になる。
140 名前:名称未設定 mailto:sage [2008/11/12(水) 12:22:33 ID:RLAaAYsU0] >>138 楕円方程式が間違ってるぞ ((x^2)/(a^2))+((y^2)/(b^2))=1 でもなんかカッコいい...惚れた
141 名前:名称未設定 mailto:sage [2008/11/12(水) 17:26:14 ID:LaYCdK41P] 円を扁平させたのも楕円もまったく同じだよ。 >>140 の式
142 名前:137 mailto:sage [2008/11/12(水) 20:54:38 ID:rk8/vzcM0] 恥ずかしい。。。。鬱だ死のう。。。っていうんだっけ?2ちゃんねるでは。 ぐはー、いいんだ寝起きは駄目なんだ。 円を扁平させても焦点1つじゃないん?暇なときに書いて比べてみる。 近日点、遠日点、重心の共有、ケプラーの法則。同一時間で起動が描く焦点からの面積は同一だっけ? なつかしいな。あの頃は HyperTalk で書いてた。←天文部兼写真部。Macで回る赤道儀がほしかった。
143 名前:138 mailto:sage [2008/11/12(水) 20:57:29 ID:rk8/vzcM0] ↑自分の番号間違えた;;こりゃほんとにだめだ。
144 名前:名称未設定 mailto:sage [2008/11/12(水) 22:40:12 ID:RLAaAYsU0] >>137 結構いいヒントが出てるからもう出来るんじゃないの? あと、もう一つの手段として javascriptを使って三角関数で楕円を作る方法あるぞ
145 名前:138 mailto:sage [2008/11/12(水) 23:59:05 ID:rk8/vzcM0] >>144 もう寝る。眠い。 でもってあんたわたしになにいってんの?書けない???? かけるにきまってるじゃないの。なにがJava?Rubyでもなんでも。shellでも。 三角計算1行で呼べるのがASじゃん。なめたこといってんじゃねーよーーーー あーーーー。うわ、、、、ごめん、私相手じゃなかった。だからーーーー、番号間違えてただけだよ。 ごめん。うわ。はずかし。えとーーーーー。にゃ? 消すべきだよね、送信したらだめだよね。でも、押すんだろーな。せっかく書いたからってだけで。
146 名前:名称未設定 mailto:sage [2008/11/13(木) 00:04:24 ID:Xd/R6mGT0] あんた雑談スレでも見るけど、正直、その口調ウザい。 続けるならコテなりトリップなり付けてくれない?
147 名前:名称未設定 mailto:sage [2008/11/13(木) 00:05:05 ID:O8lIbEpR0] >>145 もうネロだワン
148 名前:137 mailto:sage [2008/11/13(木) 01:06:16 ID:C6jPTMrr0] みなさんありがとうございます。 AppleScriptReferenceGuideは一応読むんですが、いつも良く分からず考えられる組み合わせ全部やってる状態です・・・ せっかく教えてもらったのにさっぱり理解できません。わからない言葉全部ググってもどうすれば楕円ができるやら。 たとえば、 select current document region {{0, 0}, {0, 100}, {200, 100}, {200, 0}} で200*100の横長の選択範囲が作れるますよね? その時に、Photshopの楕円選択範囲ツールで{0, 0}から{200, 100}ドラッグした時とおなじ楕円を作るにはどうしたらいいんでしょうか? create selectionのパラメーターにはそれらしいものも見当たりません。 select current document region {{0, 0}, {0, 100}, {200, 100}, {200, 0}} as oval とかできればいいんですけどね・・・ ほんと宜しくお願い致します。
149 名前:137 mailto:sage [2008/11/13(木) 01:22:21 ID:C6jPTMrr0] あれ?もしかしてパスで楕円を作って選択範囲を作る必要があるんですか? パスになるともっとわからない・・・ 明日車で出張なのに気になって眠れない。
150 名前:名称未設定 mailto:sage [2008/11/13(木) 01:30:46 ID:EqSLftju0] >>148 勘違いをしているようなので 以下が楕円方程式から求める方法 これでいいんだよね? set a to 100 set b to 50 set ox to 200 set oy to 200 set ovalList to {_1:{}, _2:{}, _3:{}, _4:{}} set oval to a reference to ovalList set x to -a set n to 1 repeat until x ≥ 0 set y to ((1 - (x ^ 2) / (a ^ 2)) * (b ^ 2)) ^ 0.5 set end of oval's _1 to {x + ox, y + oy} set beginning of oval's _2 to {-x + ox, y + oy} set end of oval's _3 to {-x + ox, -y + oy} set beginning of oval's _4 to {x + ox, -y + oy} set x to x + n end repeat tell application "Adobe Photoshop CS2" select current document region oval's _1 & oval's _2 & oval's _3 & oval's _4 end tell
151 名前:名称未設定 mailto:sage [2008/11/13(木) 02:19:22 ID:w1vAjk9p0] >150 すげーな。素人にはさっぱりわかんね!でも repeat until x ≥ 0 って通らないぞ。
152 名前:名称未設定 mailto:sage [2008/11/13(木) 07:30:54 ID:I6x4aDNX0] x >= 0 かな、入力する時は。後で勝手に≧に変換されるんだっけかな。
153 名前:名称未設定 mailto:sage [2008/11/13(木) 07:32:45 ID:I6x4aDNX0] >>だったかな、入力する時は。 って意味です。すまそ
154 名前:名称未設定 mailto:sage [2008/11/13(木) 07:57:22 ID:X81kC3MY0] 積分思い出した
155 名前:137 mailto:sage [2008/11/13(木) 09:08:52 ID:KUaqIAkT0] >>138 >>140 >>144 >>150 >>152 皆さんありがとうございます。 去年から気になっていてあきらめていたんですが 出来てしまうとは!! ホントにありがたいです! でも、なんでこの式で楕円になるかさっぱり分かりません(笑 でも、ここまでやってもらえれば私でも出来ます!!!! ありがとうございます。 でも、やっぱりなぞです・・・
156 名前:150 mailto:sage [2008/11/13(木) 13:13:13 ID:EqSLftju0] >>155 私はあなたが最初にレスをつけた>>120 ですよ。 >>138 さんのおかげで気がついた。 ちなみに各座標を求める部分をサブルーチン化するのであれば以下のようにする。 set a to 100 set b to 50 set ox to 200 set oy to 200 on get_oval(a, b, ox, oy) script oval property _1 : {} property _2 : {} property _3 : {} property _4 : {} end script set x to -a set n to 1 repeat until x ≥ 0 set y to ((1 - (x ^ 2) / (a ^ 2)) * (b ^ 2)) ^ 0.5 set end of oval's _1 to {x + ox, y + oy} set beginning of oval's _2 to {-x + ox, y + oy} set end of oval's _3 to {-x + ox, -y + oy} set beginning of oval's _4 to {x + ox, -y + oy} set x to x + n end repeat return oval's _1 & oval's _2 & oval's _3 & oval's _4 end get_oval tell application "Adobe Photoshop CS2" select current document region my get_oval(a, b, ox, oy) end tell
157 名前:名称未設定 mailto:sage [2008/11/15(土) 20:21:14 ID:QxiQRkp80] 暗号化コンテナ作成&マウントソフト「TrueCrypt」にパラメータを渡して 起動するため(コンテナをマウントさせる形で起動)、何とかAppleScriptの 形にしてみました。 do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /Volumes/DATA/test.tc" この一行のみです。アプリTrueCryptを使ってDATAディスクにあるtest.tcを マウントするための単純なシェルスクリプトを、Terminalを表示させずに 行うためとった苦肉の策なのですが、上記のスクリプトを実行すると、 暗号化コンテナをマウントするためのパスワード入力窓がフォアグラウンド には来ず、即座にパスワードを入力できる状況にはなりません。 このスクリプトを起動したときに、これがフォアグラウンドに来るための 方法なぞご存知の方、ご教示ください。TrueCrypt側の問題なのかもしれない ですが・・。
158 名前:名称未設定 mailto:sage [2008/11/15(土) 20:32:13 ID:zjzwFa6K0] TrueCryptって全然知らんけど do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /Volumes/DATA/test.tc &" tell app "TrueCrypt" to activate かな 間にdelay 3とか入れたほうがいいかも
159 名前:157 mailto:sage [2008/11/15(土) 20:46:46 ID:QxiQRkp80] >>158 ありがとうございます。 うーん、やはりパスワード入力窓がフォアにならないですね・・。 delay 3 を入れても同様です。 と思ったら、パスワード入力窓はバックのままなのですが、その入力をキャンセル すると、アプリ本体が起動され?メインの窓がフォアに来たりしています。 パスワード入力窓のプロセスか何かが、アプリ本体と違う要素で出来てるとか何か なんでしょうか。こうなってくると、TrueCrypt側の問題っぽい感じがしますね。 というより、フォアに「どれを」持ってこればいいのか調べきれない私の問題か。 いずれにせよ、もすこし試行錯誤してみます。ありがとうございました。
160 名前:名称未設定 mailto:sage [2008/11/15(土) 22:56:56 ID:6ZZgBvaS0] UI Element Inspector か Prefab UI Browser 辺り使えば、 プロセス調べるぐらい簡単じゃないか やろうと思えばAppleScriptでもできるし、 LeopardならAutomatorを使う手もある
161 名前:名称未設定 mailto:sage [2008/11/16(日) 03:42:21 ID:kpcsZDAS0] >>159 1行目と2行目入れ替えればいんでない?
162 名前:150 mailto:sage [2008/11/16(日) 11:51:03 ID:yqcSWyTJ0] do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /Volumes/DATA/test.tc" tell application "System Events" tell application process "TrueCrypt" set frontmost to true end tell end tell これでどう?
163 名前:159 mailto:sage [2008/11/16(日) 19:44:57 ID:c9TxTH4I0] >>161 ,162 うーん、やはりうまくいきません。 スクリプトエディタから起動した場合も、アプリケーションにして保存して ファインダーからダブルクリックで起動した場合も、パスワード入力窓は 最前面には出てこず、エディタの背後やファインダーの背後に立ち上がり ます。 do shell script を使うのが無理矢理っぽいって感じなのでしょうかねえ・・・。 他に、アプリをパラメータつきで起動する方法は無いでしょうか・・。
164 名前:名称未設定 mailto:sage [2008/11/16(日) 20:34:46 ID:YH31Dkqw0] まさか tell app "TrueCrypt" activate open (("/Volumes/DATA/test.tc" as POSIX file) as alias) end で済むと言う話ではないのか
165 名前:150 mailto:sage [2008/11/16(日) 22:09:51 ID:yqcSWyTJ0] >>163 ひょっとして2行目以降に進んでいない? ignoring application responses do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /Volumes/DATA/test.tc" end ignoring tell application "System Events" tell application process "TrueCrypt" set frontmost to true end tell end tell これでダメなら最後の手段、 アプリケーションを起動するスクリプトとアプリケーションを全面に送るスクリプトを分けてしまう。 以下のようにする。 スクリプトA> tmp.txtにファイルパスを書き込み、スクリプトBをファインダーより起動、 スクリプトBにより起動したTrueCryptを全面に送る スクリプトB> tmp.txtに書き込まれたファイルパスをシェルを使って開く
166 名前:名称未設定 mailto:sage [2008/11/17(月) 01:23:38 ID:HYGF21ap0] まさか TrueCrypt とやらじゃなくて UserNotificationCenter だったなんてオチじゃないよね
167 名前:名称未設定 [2008/11/17(月) 04:42:03 ID:vf7oC03d0] >>157 bbs.macscripter.net/viewtopic.php?id=27461 www.truecrypt.org/docs/command-line-usage.php
168 名前:163 mailto:sage [2008/11/17(月) 13:21:56 ID:aCPrsfJR0] >>164 ありがとうございます。アプリケーションのメインの窓は出てくるのですが、パスワード表示窓は表示されず、また test.tcも選択されていない状況で、「file "DATA:test.tc" のタイプを alias に変換できません。」という エラーメッセージが出てきてしまいました。このあたりの意味は今後もう少し勉強してみます。 >>166 ありがとうございます。一応、パスワード入力窓はTrueCryptのものと思われます。オプションにTrueCrypt マウント関連の項目がありますので・・。 >>167 情報ありがとうございます。やはり、このソフトに関しては同じようにマウント自動化につまづく状況の人が他にも いるようですね。TrueCryptの振る舞いの問題もあるのでしょう。ひょっとすると、このソフトの性質上、そうした 自動化をやりにくいように工夫されているのかもしれません。特にパスワード入力窓の操作など。
169 名前:163 mailto:sage [2008/11/17(月) 13:24:09 ID:aCPrsfJR0] >>165 ありがとうございます。うむむ・・ やはり、パスワード入力窓は、起動したスクリプトエディタ、またはファインダ の背後に出現してしまい、いったんマウス操作なりで前面に持ってこないとパスワード入力できない状況ですね・・ 「最後の手段」についてやってみましたが、二つに分けることで、何とかうまくいったようです。 tell application "System Events" tell application process "TrueCrypt" set frontmost to true end tell end tell で、tcfront.appという形でtest.tcと同じ場所に保存し、 do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /Volumes/DATA/test.tc & /Volumes/DATA/tcfront.app" を、test.appで保存。test.appを起動することで最初はファインダーの背面にパスワード窓が出てきますが、 1秒ほどでそれが前面に出てきます。とりあえずはこれでやっていけます。 大変感謝しております。ご教示ありがとうございました。
170 名前:150 mailto:sage [2008/11/17(月) 22:53:12 ID:Uomap7AT0] >>156 の続き 暇だったので、こんなのも作ってみました。 --引き数→ 角の数,傾き,高さ,横幅,中心点横座標,中心点縦座標 on polygon(corner, angle, h, w, ox, oy) script obj property theList : {} end script set {angle} to {((angle + 360) mod 360) / 360 + 0.75} set angle_2 to angle repeat with i from 1 to corner set {sign_1, sign_2} to {-1 ^ (angle_2 div 0.5), -1 ^ (angle_2 div 0.25)} set rad to ((0.5 + (sign_2 * angle_2 mod 0.5)) mod 0.5) * 2 * pi set {y, ni} to {rad, 1} repeat with n from 1 to 8 set ni to ni * (2 * n) * (2 * n + 1) set y to y + -1 ^ n * (rad ^ (2 * n + 1)) / (ni) end repeat set y to y div 1.0E-13 * 1.0E-13 set end of obj's theList to {sign_1 * sign_2 * ((1 - y ^ 2) ^ 0.5) * w + ox, sign_1 * y * h + oy} set angle_2 to angle + i / corner end repeat return obj's theList end polygon tell application "Adobe Photoshop CS2" select current document region my polygon(90, 0, 1000, 1000, 1500, 1500) end tell ↓テイラー展開はここを参考にしました。 ttp://www33.ocn.ne.jp/~xinoue/freeware/trigonometric.html
171 名前:名称未設定 mailto:sage [2008/11/18(火) 01:14:04 ID:nGx6fZdr0] Applescript でサウンド再生するスクリプト。 RubyCocoa を呼び出しているので,Tiger以前の場合は別途 RubyCocoa のインストールが必要(Leopardには標準添付)。 playSystemSound("Basso") -- /System/Library/Sounds/*.aiff および ~/Library/Sounds/*.aiff から探して鳴らす playSoundFile("/System/Library/Sounds/Blow.aiff") -- サウンドファイルのパスを指定してサウンドを鳴らす on playSystemSound(soundName) do shell script ("/usr/bin/ruby -e \"require 'osx/cocoa';OSX::NSSound.soundNamed(\\\"" & soundName & "\\\").play;sleep 0.5\"") end playSystemSound on playSoundFile(soundFilePath) do shell script ("/usr/bin/ruby -e \"require 'osx/cocoa';OSX::NSSound.alloc.initWithContentsOfFile_byReference(\\\"" & soundFilePath & "\\\", true).play;sleep 0.5\"") end playSoundFile
172 名前:名称未設定 mailto:sage [2008/11/18(火) 21:43:00 ID:Oj2LKQ7S0] ファイル名の一部を判定して条件分岐するにはどうしたらいいのでしょうか? Apple純正FAXモデム使ってMacでFAX受信するようになったのですが 受信したFAXのファイル名が相手先のTEL番号に自動的になっており 例)FAX from 123 4567.png これを利用して取引先からのFAXか迷惑FAXかなどを判定し リネームやAlertを出すFloder Action Scriptを作っている途中です。
173 名前:名称未設定 mailto:sage [2008/11/19(水) 00:47:49 ID:0V1+hMLH0] ファイルは既に取り出せてるの? それが、theFaxFileだとして tell application "Finder" set theName to name of theFaxFile end で名前は取り出せる。あとは文字列操作だけど、それはもう少し具体例が ないとよくわからない。 もしかすると text 10 thru 17 of "FAX from 123 4567.png" でいいような話かな?
174 名前:名称未設定 mailto:sage [2008/11/19(水) 00:52:38 ID:Bx+L9xFS0] 条件分岐だけなら例えばこんな感じだが if theName starts with "FAX from"then if theName contains "123 4567" then /*123 4567からのFAX*/ else if theName contains "456 7890" then /*456 7890からのFAX*/ else /*迷惑FAX*/ end if else /*FAX以外のファイル*/ end if 例のようなファイル名なら、 "FAX from "と".png"込みで判別した方が確実な気もするけど…
175 名前:173 mailto:sage [2008/11/19(水) 01:02:07 ID:0V1+hMLH0] 123 4567が電話番号だとすると、東京からだと3123 4567になってたりしますね。 単純に文字数ではだめっぽい。 市外局番があることもあるんでしたっけ(それだとwordもつかえない)。 >>174 もおっしゃるように 全部含めて比較した方が世話なさそうだ。
176 名前:名称未設定 mailto:sage [2008/11/19(水) 01:02:51 ID:+YqqaPqO0] >>172 例えば,デスクトップのファイルで "hoge","hage" のいずれかが含まれているファイルに対してアラートを表示するなら, set whitelist to {"hoge", "hage"} tell application "Finder" repeat with aItem in whitelist repeat with aFile in ((every item of (path to desktop) whose name contains aItem) as list) set namae to name of (aFile as alias) display dialog (namae & " is Valid!") buttons "OK" default button 1 end repeat end repeat end tell あるいはこんな感じでもいい。 set whitelist to {"hoge", "hage"} tell application "Finder" repeat with aFile in ((every item of (path to desktop)) as list) set namae to (name of (aFile as alias)) repeat with aItem in whitelist if namae contains aItem then display dialog (namae & " is Valid!") buttons "OK" default button 1 end if end repeat end repeat end tell
177 名前:名称未設定 mailto:sage [2008/11/27(木) 17:05:32 ID:AmrFVjHJ0] >>171 すごいです。手を出しすぎるとわけわかんなくなるから RubyCocoa 逃げてた。 これは色々出来そうですね。RubyCocoa スレ行ってきます。
178 名前:171 mailto:sage [2008/11/28(金) 01:00:23 ID:PIGyVP2U0] >>177
179 名前:171 mailto:sage [2008/11/28(金) 01:06:43 ID:PIGyVP2U0] ↑途中で送信してしまいました。 >>177 他にも,こんな使い方もできます。 例1:AppleScriptに対応していない 辞書.app を何としても使って辞書を引く on lookupinDictionary(aWord) do shell script ("/usr/bin/ruby -e \"require 'osx/cocoa'; p = OSX::NSPasteboard.generalPasteboard; p.declareTypes_owner([OSX::NSStringPboardType],self); p.setString_forType(\\\"" & aWord & "\\\",OSX::NSStringPboardType); OSX::NSPerformService(\\\"Look Up in Dictionary\\\", p)\"") end lookupinDictionary lookupinDictionary("アップル") -- AppleScript に対応していない辞書.appを使って「アップル」を調べる 例2:AppleScript から WebKit の JavaScript エンジンを使って JavaScript コードを実行。 AppleScript→sh→Ruby→Cocoa→WebKit→JavaScript という,もはや何がしたいのか分からない呼び出しの深さになっていますが……。 まあ,こんなこともできますよ,というネタです。 on eval_js(jsCode) do shell script ("/usr/bin/ruby -e \"require 'osx/cocoa'; OSX.require_framework \\\"WebKit\\\"; print OSX::WebView.alloc.init.windowScriptObject.evaluateWebScript(\\\"" & jsCode & "\\\").to_i\"") end eval_js display dialog eval_js("(new Date()).getYear()+1900")
180 名前:名称未設定 mailto:sage [2008/11/28(金) 16:17:05 ID:mHcPVnbl0] 辞書引く場合は open location "dict://apple" non ASCIIだとURLエンコードがちょっと面倒 open location "dict://%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB"
181 名前:名称未設定 mailto:sage [2008/11/28(金) 22:03:07 ID:CStVQp+C0] set _word to "こうですか?わかりません!" open location "dict://" & URLEncode(_word) on URLEncode(_str) do shell script "printf '" & _str & "'| perl -pe '~s/([^\\w])/\"%\".unpack \"H2\",$1/ego;'" return result end URLEncode
182 名前:名称未設定 mailto:sage [2008/11/28(金) 22:05:09 ID:CStVQp+C0] ↑ \はバックスラッシュに置換よろ
183 名前:名称未設定 mailto:sage [2008/11/29(土) 09:44:16 ID:VZIVUASpP] php の方が余計なエスケープいらないからすっきりして分かりやすそう。 do shell script "php -r '$str=$argv[1];$str=urlencode($str);print $str;' " & _str
184 名前:名称未設定 mailto:sage [2008/11/29(土) 09:50:56 ID:VZIVUASpP] >>183 ちょっと訂正。 do shell script "php -r '$str=$argv[1];$str=urlencode($str);print $str;' '" & _str & "'"
185 名前:名称未設定 mailto:sage [2008/11/29(土) 18:52:50 ID:3EFLCewh0] iTunesで選択された曲のアーティストを右クリックからググることって AppleScriptで出来ますか?
186 名前:名称未設定 mailto:sage [2008/11/29(土) 19:28:45 ID:0uoN253C0] 割と簡単に出来るので試してみて下さい
187 名前:名称未設定 mailto:sage [2008/11/29(土) 19:54:25 ID:opFxlnzc0] >>184 urlencodeだと半角スペースが+になって 辞書appではデコードされないので%20になるrawurlencodeの方がいいかな。 あと''で単純に単語を囲むと'を含む文字でエラーになるので quoted form ofを使った方がいいかな。 まあ、どっちも単語検索では問題になるケースは滅多に無いと思うけど いろいろ使うならどっかで問題になることがあるかも。 do shell script "php -r 'print rawurlencode($argv[1]);' " & quoted form of theText
188 名前:173 mailto:sage [2008/11/29(土) 20:53:59 ID:QzsGECYR0] >>186 「右クリックから」はそう簡単じゃなくないか?
189 名前:名称未設定 mailto:sage [2008/11/30(日) 01:50:01 ID:g75iUdnM0] 不特定多数の人に見られたら困るが ある特定の人に渡したいフラッシュ(swf)があります 添付付きメールを送り、見てもらいたいのですが 相手がMac初心者であるため、swfをそのままダブルクリックとか したりして見れないかと思います そこで、swfをsafariで開くAppleScriptを同封したいと思っております 「同階層にあるhoge.swfをSafariで開く」 AppleScriptをだれか作っていただけないでしょうか?
190 名前:名称未設定 mailto:sage [2008/11/30(日) 02:02:47 ID:b3addvQ70] >>189 swfファイルを選択してコマンド+I(アイ) ↓ 「このアプリケーションで開く」ポップアップからその他を選択 ↓ ファイルオープンダイアログでSafariを選択 このようにしたファイルを送ったほうが早くね? Mail.appならメタ情報も送ったと思うだけどアーカイブしておいたほうが安全かな?
191 名前:186 mailto:sage [2008/11/30(日) 12:58:36 ID:YQMNir780] >>188 AppleScriptを起動する為のコンテクストメニュープラグインが幾つか有るので それを導入する事はそんなに難しい事でもないと思ったのですが。。。 CMプラグイン無しでやるには難しいですね。
192 名前:189 mailto:sage [2008/11/30(日) 19:39:20 ID:g75iUdnM0] >>190 ありがとうございます アップルスクリプト使わない方向で送り 無事届きました
193 名前:名称未設定 mailto:sage [2008/12/04(木) 18:17:32 ID:C4D3uOe/0] path to me って10.4だとスクリプト自身のパスを取ってきてくれないんですね… 10.4で自身のパスを取得したい時はどのようにしたらよいのでしょうか…
194 名前:名称未設定 mailto:sage [2008/12/04(木) 21:27:22 ID:HwXCthH70] >>193 スクリプトをアプリケーションとして保存する んでもってアプリケーションとして実行
195 名前:名称未設定 mailto:sage [2008/12/04(木) 21:37:26 ID:ypxWlKaq0] そのスクリプトを実行しているまさにそのアプリのパスが返るんだよ。 編集中のスクリプトであればその編集プログラムの,アプリとして実行中であればそのアプリの...
196 名前:名称未設定 mailto:sage [2008/12/04(木) 23:15:34 ID:D4sqqstd0] Automator Actionの「AppleScriptを実行」だとLeopardでも同じ現象が起こる よく使うのは path to をオーバーライドする方法だね
197 名前:名称未設定 mailto:sage [2008/12/04(木) 23:28:03 ID:ypxWlKaq0] どうやんの?
198 名前:193 mailto:sage [2008/12/04(木) 23:45:42 ID:BQJVqUNw0] レスありがとうございます! ふむふむ…若干ややこしそうですね…
199 名前:名称未設定 mailto:sage [2008/12/05(金) 01:29:21 ID:LdWXDghp0] ttp://homepage.mac.com/tkurita/scriptfactory/Monologue/pathtome/index.html#debug 人任せですまないが、くりた氏の所から
200 名前:193 mailto:sage [2008/12/05(金) 09:53:39 ID:okzXidIv0] ありがとうございます!! 一度試してみます!! お手数お掛けしました!
201 名前:名称未設定 mailto:sage [2008/12/06(土) 16:29:42 ID:0qrcWF2v0] safariにsafaristandを入れたときにコンテキストメニューに現れる「PDF形式で書き出し」を applescriptから実行するにはどうすればよい? SystemEvents でやったみたけど出来ない・・・。
202 名前:名称未設定 mailto:sage [2008/12/06(土) 18:02:11 ID:Y1jB2mcS0] >>201 コンテキストメニューからではなく プリントからPDF書き出しではダメなのか?
203 名前:名称未設定 mailto:sage [2008/12/06(土) 18:39:58 ID:0qrcWF2v0] それだとページに分かれちゃうのがやなんだよね。。。
204 名前:名称未設定 mailto:sage [2008/12/06(土) 22:05:24 ID:NDrqP39+0] >>203 プリンタのカスタム用紙サイズでA4の縦が10倍くらいのをつくって それ使ってプリントからPDF書き出し→トリミングで(゚д゚)ウマ−
205 名前:名称未設定 mailto:sage [2008/12/07(日) 02:31:56 ID:LPtgCgIE0] applescript から用紙サイズを指定できない・・・
206 名前:名称未設定 mailto:sage [2008/12/08(月) 23:57:55 ID:/A4x2I0f0] Safariのブラウザ部分だと action "AXShowMenu" が使えないね マウスキーでも使わない限り、スクリプトでのコンテキストメニュー表示は厳しいんでないかな
207 名前:名称未設定 [2008/12/10(水) 04:30:55 ID:5tEDkIRR0] Mac OS 10.5.5 (intel)/iTunes 8.0.2 tell application "iTunes" set currentTrack to current track set currentName to name of currentTrack display dialog currentName end tell こうやるとエラーは出ませんが、 tell application "iTunes" set currentTrack to current track display dialog (name of currentTrack) end tell こうするとエラーが出てしまいます。 この違いは、どこから出るのでしょうか…
208 名前:名称未設定 mailto:sage [2008/12/10(水) 05:18:07 ID:EFcWvX1W0] >>207 上の方は勝手に型の変換が行われてるわけよ。 tell application "iTunes" to display dialog name of current track as string
209 名前:名称未設定 mailto:sage [2008/12/10(水) 05:29:42 ID:5tEDkIRR0] >>208 ありがとうございます。 textとstringは違うんですね…
210 名前:名称未設定 mailto:sage [2008/12/10(水) 18:29:18 ID:G6ldQbJ30] これは display dialog の引数のクラスを調べて見ると良い。引数には string が必要なのに class of (name of currentTrack) は property と帰される。なので型変換が実行されるわけだが、 property を変換することは スクリプトには出来ないので、tell してるアプリに処理が丸投げされ、そこでエラーが起きている。 アプリ側にしてみれば「そこのジョプズの名前を教えろよ」と命令されているようなもので、 「てめぇ、名前知ってて聞くか!?」とぶち切れてエラーを起こしている…わけではなくて、 ほとんど無意味な処理なので実装されてなくて、命令が処理できずエラーになっているだけ。 たとえば、これを明示的に型変換を指定して、 display dialog (name of currentTrack) as string と書くと、エラーは起きずに処理が進む。 この場合は先に name of currentTrack が get されていて、それから型変換が試みられる。 class of (get name of currentTrack) は、Unicode text なので、スクリプト側で string として処理することが可能で、結果、 アプリ呼び出しは起きずに変なエラーにはならない。 >207 の動作した最初の例なら、 set currentName to name of currentTrack のところで、実際は set currentName to (get name of currentTrack ) と実行されていて、display dialog に渡される引数は実体になっているので、問題は起きない。 結局これは暗黙の形変換に絡んだやっかいで解りにくい問題なんだけど、 たとえば、 display dialog (get name of currentTrack) と記述しても動作するわけで、暗黙か、明示かと言うよりは、対象が参照か実体か? それが解決されるとき、どこで処理が行われているか?あたりが分かれ目なんたど思う。
211 名前:名称未設定 mailto:sage [2008/12/10(水) 22:01:35 ID:5tEDkIRR0] >>210 ありがとうございます。 「get」関数のある意味がようやくわかりました…
212 名前:名称未設定 mailto:sage [2008/12/14(日) 09:26:06 ID:0xUWQQKX0] tell application "QuickTime Player" open location "hoge " -- ここで、読み終わるまで待つには、どうすればいいんだろう? save self contained document 1 in new_file close document 1 end tell
213 名前:名称未設定 mailto:sage [2008/12/14(日) 12:32:48 ID:CSeBAn7s0] >>212 if load state of document 1 is complete then 処理 とするとか
214 名前:名称未設定 mailto:sage [2008/12/14(日) 13:17:24 ID:0xUWQQKX0] >>213 なるほど、これでいいんだな。 サンキュー。 tell application "QuickTime Player" open location "hoge " repeat while load state of document 1 is not complete delay 1 end repeat save self contained document 1 in new_file close document 1 end tell
215 名前:名称未設定 mailto:sage [2008/12/14(日) 20:53:38 ID:9ph8Kdqc0] ちょいと質問。 DVDプレーヤーのイコライザーっていじれないですよね? 要は、VIDEO_TSフォルダから再生すると、イコライザの設定が保存できないの で、AppleScriptを使って保存/復帰をさせたいんですけど、用語説明を一見し たところイコライザに関する設定が見つからないので… 最悪、System Eventsを考えていますけど、あくまでも最終手段ということで。 申し遅れましたが環境は10.4.11です。よろしくお願いします。
216 名前:名称未設定 mailto:age [2008/12/15(月) 11:47:43 ID:J3odUKcK0] ちょっと質問させて下さい。 今 XCode 上で AppleScript メインのアプリケーションを作成しているのですが、 例えばあるボタンが選択された時に呼ばれる on clicked theObject end clicked があったとして、この時呼ばれるスクリプトオブジェクトを事前に知る方法はないので しょうか?それとも、毎回ボタンが押されるたびに新しいスクリプトオブジェクトが 生成され、実行されているのでしょうか? だとすると、これらのハンドラの中からグローバルな値をいじる事はできない のでしょうか? うまく伝わったか心配ですが、何卒よろしくお願いします。
217 名前:216 mailto:age [2008/12/15(月) 14:35:17 ID:J3odUKcK0] ちょい言い方変えた方が分かりやすいかもしれません…。 例えば ・a.applescript ・b.applescript という二つのファイルがあったとして、 その中で常に参照できる一つのスクリプトオブジェクトみたいなものがあれば、 万事解決する気がします。
218 名前:名称未設定 mailto:sage [2008/12/15(月) 15:49:53 ID:fBme1Rqv0] >>216 どうも理解ができない。 この場合呼ばれるtheObjectってのはon clickedメソッドを呼び出したクラスだぞ? で、on clickedの場合theObjectはボタンだぞ? on clickedより先に中身知りたいならwill finish launchingでインスタンス呼べば良いんじゃないの? >>217 でもっと混乱しておる。aとbのスクリプトが同じプロジェクトにあるならなんもせんでもインスタンス共有してるじゃん。 ばらばらに書くほうがめんどいと思うのだが?
219 名前:216 mailto:sage [2008/12/15(月) 16:11:44 ID:J3odUKcK0] え〜っとですね…………。 on clicked theObject で呼ばれるスクリプトが a.applescript だったとしますよね? よく分からないですが、多分ボタンをクリックすると a.applescript を読み込んで インスタンス化し、そのスクリプトオブジェクトの clicked 関数を呼んでる訳ですよね? そのスクリプトオブジェクトを事前に知りたい………と言ったらおかしいかもしれないですが、 要するに a.applescript 内での "me" と b.applescript 内での "me" ってのは違ってきちゃう 訳じゃないですか。 もっというなら、最初に起動した時に呼ばれてる awake from nib の時の me ってのを clicked 内から呼びたいんですが、伝わってますかね………。 グローバルで定義しとけばいけるのかな〜と思いきや、ファイルが違うと global の範囲も そこで区切れてしまうらしく、以下の様な呼び出しができませんでした。 (続く...)
220 名前:216 mailto:sage [2008/12/15(月) 16:13:00 ID:J3odUKcK0] (a.applescript) global MainScript on awake from nib theObject set MainScript to me end on test (theValue) display alert (theValue) end (b.applescript) global MainScript on clicked theObject tell MainScript to test ("aiueo") end
221 名前:216 mailto:sage [2008/12/15(月) 16:54:14 ID:J3odUKcK0] 連投になってしまってすみませんが、 ttp://homepage.mac.com/tkurita/scriptfactory/Monologue/GlobalVariable/index.html ここを参考にまずは a.applescript の MainScript を property として b.applescript を global に定義してみたのですが、うまくいきませんでした…。 Nib からのイベントハンドラの時だけスコープがおかしいんでしょうか。
222 名前:名称未設定 mailto:sage [2008/12/15(月) 17:43:37 ID:F/y6zi1v0] 何がしたいのか良くわからないけど、値を取得したいなら、 普通は一つのスクリプトに纏めるべき何では? どうしてもスクリプトを分けるなら、適当なオブジェクトに 値を埋め込んで取得するとか。
223 名前:216 mailto:sage [2008/12/15(月) 18:06:40 ID:J3odUKcK0] >>222 できれば、一つのウィンドウは一つの .applescript ファイルに、という形でまとめたかった んですよね。一つのファイルにごちゃごちゃ入ってると見にくいし…。 当初適当なオブジェクトに最初の me をつっこんでおこうと思ったのですが、全ての .applescript から絶対的に呼べる所が分からなかったので、ダメでした…。 何かうってつけのオブジェクトなど、ありますか?
224 名前:名称未設定 mailto:sage [2008/12/15(月) 23:29:47 ID:vbtDqJru0] 毎回load script命令で読み込んでみたら?
225 名前:名称未設定 mailto:sage [2008/12/15(月) 23:57:42 ID:5awCoNJ20] > on clicked theObject > > で呼ばれるスクリプトが a.applescript だったとしますよね? > よく分からないですが、多分ボタンをクリックすると a.applescript を読み込んで > インスタンス化し、そのスクリプトオブジェクトの clicked 関数を呼んでる訳ですよね? > > そのスクリプトオブジェクトを事前に知りたい………と言ったらおかしいかもしれないですが、 うん、それはおかしいな イベント発生時にどのスクリプトのハンドラが呼ばれるかは Interface Builder 使って自分で設定するんだから、 事前に知りたいも何もない 仮に以下の様に設定したとする button "A_btn" of window "A_win" -> AppleScript タブで「a.applescript」と「action-clicked」を選択 button "B_btn" of window "B_win" -> AppleScript タブで「b.applescript」と「action-clicked」を選択 この場合、button "A_btn" を押すと「a.applescript」の「on clicked」が呼ばれ、 逆に button "B_btn" を押すと「b.applescript」のの「on clicked」が呼ばれる んで、厳密にはウィンドウじゃなくてボタンレベルだけど、これでやりたい事は解決できんじゃないの?
226 名前:名称未設定 mailto:sage [2008/12/16(火) 00:26:15 ID:M9H7jOFz0] MacOS10.5.5です。 bookmarksフォルダにある全てのファイルについて、スポットライトコメントをリスト形式で得たいのですが、上手くいきません。よかったら教えてください。 set aRootFolder to "Macintosh HD:Users:hoge:Bookmarks" tell application "Finder" activate tell folder aRootFolder to set aFileList to name of every file repeat with aThisFile in aFileList tell aThisFile to set aCommentList to (get comment of aThisFile as list) end repeat end tell aCommentListの中には以下のようなものが入っているようです。コメントではなくファイル名が入ってしまっているようです。(ScriptDebuggerによると) note of item 2 of { "ほげ.webloc", "ふが.webloc" }
227 名前:216 mailto:sage [2008/12/16(火) 00:29:49 ID:2FbCdVtl0] >>224 それでは毎回別のスクリプトオブジェクトが生成されてしまうのでダメだと思います…。 >>225 ボタンクリックによって呼ばれるスクリプトを指定できるのは分かりますが、 スクリプトオブジェクトを指定できないのが困りものなのです………。 多分、言いたい事が伝わってないですね。すみません。 本当に説明が難しくて…。色々やっているうちに AppleScript のバグじゃないかと 思ってきたんですが…。クリックなどのハンドラ内では global な値はそもそもが いじれない気がします。
228 名前:名称未設定 mailto:sage [2008/12/16(火) 00:41:27 ID:Q0LU9beE0] >>227 「AppleScript Studioでスクリプト分割に影響されない形でアプリケーション グローバルが使いたい」ってことじゃないの? だったらuser defaults使えば? これなら保存も効くし。
229 名前:名称未設定 mailto:sage [2008/12/16(火) 00:57:28 ID:HLbSKQnW0] >>227 失礼、違ったか そもそもスクリプトオブジェクトが出てくる辺り全く意味わからんので、俺程度ではもう無理だな > クリックなどのハンドラ内では global な値はそもそもがいじれない気がします。 バグか仕様か知らないけど、イベントハンドラ 内で定義した変数は例えトップレベルで global や property 宣言してあっても、 イベントハンドラ内ではローカル変数扱いだった気がする >>228 の言うuser defaultsを使うか、UI内の値にするとか、 スクリプトの外側に求めるしか無いんじゃないかな
230 名前:216 mailto:sage [2008/12/16(火) 01:06:46 ID:2FbCdVtl0] >>228 やっぱり最終的にそうなっちゃうんですかね。 実はさっき諦めてそういう形にしました。 なんか不便ですねぇ(^_^ >>229 おぉ!そうなんですか。 そういう仕様だったんですね………。
231 名前:名称未設定 mailto:sage [2008/12/16(火) 02:01:58 ID:LE4/gpv90] >>226 >tell folder aRootFolder to set aFileList to name of every file 「ファイル名」そのもの取得しちゃってる。name of はいらない。 >repeat with aThisFile in aFileList >tell aThisFile to set aCommentList to (get comment of aThisFile as list) >end repeat 繰り返して追加するなら最初に set aCommentList to {} としておいて repeat内に set end of aCommentList to comment of aThisFile 一気にやるなら set aRootFolder to "Macintosh HD:Users:hoge:Bookmarks" tell application "Finder" set aCommentList to (comment of files in folder aRootFolder) as list end tell 自分のトコTigerなので違ったらゴメン
232 名前:名称未設定 mailto:sage [2008/12/16(火) 02:35:02 ID:LE4/gpv90] あ、よく見たらカッコもas listもいらんかった。 >>226 のスクリプトの頭の数行でファイル名をリストとして取得できてるんだから name ofをcomment ofに変えるだけでOKだね。 set aRootFolder to "Macintosh HD:Users:hoge:Bookmarks" tell application "Finder" activate tell folder aRootFolder to set aCommentList to comment of every file end tell
233 名前:名称未設定 mailto:sage [2008/12/16(火) 09:19:04 ID:G3m1InAp0] >>232 ありがとうございます、上手くいきました。示唆に富むレスを頂き、ありがとうございます。
234 名前:名称未設定 mailto:sage [2008/12/16(火) 21:56:13 ID:sc3SpK6H0] scroll view の中にある text view のスクロール具合を指定したいのですが、 どうすればできるでしょうか? 要するにテキストが追加されると一番下まで スクロールしたいのですが…。 かれこれ2日ほど悩んでます(;_;)
235 名前:名称未設定 mailto:sage [2008/12/16(火) 23:02:54 ID:sc3SpK6H0] 追記: scroll to bottom はメッセージを認識できない、と出てしまい、 vertical scroller の float value を 1.0 にしてもスクロールバーだけが移動し、 内容が移動してくれませんでした。
236 名前:名称未設定 mailto:sage [2008/12/16(火) 23:16:41 ID:sc3SpK6H0] できました!! developer.apple.com/documentation/applescript/reference/studioreference/sr5_control_suite/sr_control.html#//apple_ref/doc/uid/20011219-ASKControlViewSuite.Commands.Scroll ここによると、scroll to bottom とかはまだ正確にサポートされていないとの事で、 以下のコードでできました。 set theLength to length of (contents of (text view "xxx" of scroll view "xxx" of window "xxx") as string) --スクロール tell text view "xxx" of scroll view "xxx" of window "xxx" call method "scrollRangeToVisible:" of object it with parameter {theLength, theLength} end tell
237 名前:名称未設定 mailto:sage [2008/12/18(木) 14:11:24 ID:3s+aMYPz0] >>203 オートメタースレより もういらんかな? 290 名前: 名称未設定 Mail: sage 投稿日: 2008/12/12(金) 15:43:26 ID: DrSmwv6L0 バラのPDFを一個にしたりしてる。
238 名前:名称未設定 mailto:sage [2008/12/18(木) 23:02:48 ID:vAyDBqey0] >>237 >バラのPDFを一個にしたりしてる。 これは複数のPDFファイルをひとつにまとめるって意味じゃないかな? Safari以外のツールを使っても良いなら、シイラには[1枚のPDFで出力]ってメニューがあるから使えるかも。 あと、同じHMDTのCoralだと、コマンドラインでURLを与えてpdfオプションを付ければ、 一枚で出力される。ただ、高さの計算がおかしいみたいで、ソース落として手直しが必要かも。
239 名前:名称未設定 mailto:sage [2008/12/22(月) 01:14:24 ID:YcErVovj0] AppleScriptを使って、たとえば12月分のiCalイベントの項目をテキストに書き出す、 というのはやり方を見つけたのですが、これを普通のテキストではなくて、 ics形式で書き出す方法をご存知の方はおられませんか。 あるカレンダーのある期間のものだけ、イベント名をすべて変更して かつメモ欄に同一文をつけ足してから別のMacのiCalへ持っていきたいので ただのテキストへ書き出すのではちょっと使いにくいのです。
240 名前:名称未設定 mailto:sage [2008/12/22(月) 04:58:21 ID:JbjbTgRh0] 普通に「ファイル-書き出し…」で ics 形式で書き出せるけど? ちなみに第2文以降は簡単にAppleScriptでできた. ただし,親カレンダーを変更するのはわからなかったから,あらかじめ対象の イベントを書き出し対象のカレンダーに移動しておいてね.
241 名前:名称未設定 mailto:sage [2008/12/22(月) 14:53:42 ID:meU4MAq/O] うちではその方法では、12月分だけとかは書き出せないなあ カレンダー内のすべてのイベントが書き出されてしまう
242 名前:名称未設定 mailto:sage [2008/12/23(火) 15:34:06 ID:4qnl3VEI0] >>241 うん、だから12月分のイベントは別カレンダーに移動して、移動した先のカレ ンダーを書き出す、ってことじゃない? ちなみに、イベントの移動ってのは自動でやるのは結構大変(同じプロパティ を持つイベントを作成するという形になる)
243 名前:239 mailto:sage [2008/12/23(火) 16:11:34 ID:Xd5k/12X0] 239です。質問の意図がわかりにくかったようですみません。 AppleScriptによって一番自動化したいのは、「12月分のイベントをics形式に書き出す」 という部分です。現在の使い方だとそこを手動でやるのではあまりメリットがないので 質問させていただきました。そこ以外はできるというのは把握しています。 現状は、すべてのイベントが書き出されたicsファイルを、LightWayTextで開いて LightWayTextのマクロ機能で一気に処理しているのですが、不要な部分を取り除くのに だんだん時間がかかるようになり、ここを改善したいというのが目的です。 AppleScrpitでこういった形で書き出せてしまえば、LightWayText(私の環境ではやや不安定)の マクロを使わなくても、そのままAppleScriptで処理できてしまうので、いまより便利になるな、 という公算でした。 必要な部分だけ別のカレンダーへ移動して、というのは、あまり考えていませんでした。 まず、ダミーのカレンダーを作ってそこで処理を行い、最後にそれを削除して終わる、ということですよね。 うーん、ちょっと考えてみます。ありがとうございました。
244 名前:名称未設定 mailto:sage [2008/12/23(火) 17:35:12 ID:4qnl3VEI0] >>239 =243 ここを参照して、普通のイベントに対応できるようにすればいいんじゃね? ttp://blog.deadbeaf.org/2006/07/15/
245 名前:名称未設定 mailto:sage [2008/12/25(木) 15:33:22 ID:6FISXrhM0] data utxtを使ってユニコード16進数から文字を出すことは可能ですが、 逆に文字からユニコード16進数を出すことはできますか?
246 名前:名称未設定 mailto:sage [2008/12/25(木) 20:27:58 ID:lRBhhS9Q0] >>245 set slct to "字" set unihex to do shell script "echo " & quoted form of slct & "| iconv -f UTF-8 -t UTF-16 | perl -pe '~s/([^?w ])/¥"%¥".unpack(¥"H2¥", $1)/eg;' | sed s/$'%0a'// | sed s/'%'//g | sed s/feff// | sed s/$'00'//" 自己レスで考えてみたけど、スマートじゃないね・・・。 perlがよくわからないので
247 名前:名称未設定 mailto:sage [2008/12/26(金) 02:24:46 ID:pDJlSCTf0] >>245 >108 ので10進とって16進に変えたら?
248 名前:名称未設定 mailto:sage [2008/12/26(金) 09:41:34 ID:JIlTPKw20] >106 の逆。decからhex set decNum to id of "亜" --leopard only set hexNum to do shell script "ruby -e 'p " & decNum & ".to_s(16)'"
249 名前:名称未設定 mailto:sage [2008/12/26(金) 12:20:08 ID:E9x+Te7w0] 246ですが、tigerなのでidは使えないのです。 で、5桁の文字にも対応するようにちょっと改善 set unihex to do shell script "echo " & quoted form of slct & "| iconv -f UTF-8 -t UTF-32 | perl -pe '~s/([^?w ])/¥"%¥".unpack(¥"H2¥", $1)/eg;' | sed s/'%'//g | sed s/0000feff000// | sed s/$'0000000a'//"
250 名前:名称未設定 mailto:sage [2008/12/26(金) 22:34:33 ID:foTzQ6520] 個人的に以前 id of 同等機能をTigerでやる必要があった時には、 hexdumpとprintf使って無理矢理やったな perlで出来るんならそっちのが万倍早そうだけど
251 名前:名称未設定 mailto:sage [2008/12/26(金) 23:05:19 ID:+dIEzKNr0] set theText to "漢字あいうアイス123abc☆○abc" set hexString to do shell script "perl -e 'use Encode qw(from_to); $t = $ARGV[0]; from_to( $t, q{utf-8}, q{utf-16} ); $t =~ s/(.)/unpack(q{H2}, $1)/ge; print $t;' " & quoted form of theText log "hexString:" & hexString log "date utxt:" & (run script "«data utxt" & hexString & "» as Unicode text") feffはそのままでもutxtで戻せる気がするけど消した方がいいのかな?
252 名前:名称未設定 mailto:sage [2008/12/30(火) 18:31:49 ID:I5OBkT890] しかし、do shell script を多用するなら、もとのスクリプトをそっち (sh/perl/ruby 等) で書いて、Apple Event の部分だけスクリプトブリッジを使ったり osascript で 呼んだ方がよかったりして。 パフォーマンスとかによってはそれでも AppleScript メインで書いた方がいい場合も あるのかもしれないけど.... あるいは、AppleScript を純粋にスクリプト言語として見た場合の優位性ってある?
253 名前:名称未設定 mailto:sage [2008/12/31(水) 03:31:04 ID:Mm1sm4sY0] 対応アプリケーションの制御 かな OS 10.5から #!/usr/bin/osascript で始まる、コマンドラインで実行できるAppleScript書けるようになったから 他のスクリプト言語との親和性を高めようとはしてるのかなと思う
254 名前:名称未設定 mailto:sage [2008/12/31(水) 11:11:52 ID:Ozabx93y0] 自分の場合,入出力がGUIでできて,簡単に.app形式のアプリにできる,という点が大きい。 一般人に使ってもらうためのちょっとしたツールを作るには,ターミナルを見せないことが望ましいからね。
255 名前:名称未設定 mailto:sage [2008/12/31(水) 16:08:22 ID:b2MY+RQ70] 他のアプリとの連携はASの優位性だと思うが,あまり活用してアプリを作る人はいない。 (DTP系とか一部のソリューションをのぞいてね)
256 名前:名称未設定 mailto:sage [2008/12/31(水) 18:29:43 ID:oTst3lHO0] 自分用に作るAppleScriptはそれが多いんだけど、 それは一般性があるわけじゃないから公開はできなかったりします。
257 名前:名称未設定 mailto:sage [2008/12/31(水) 18:40:05 ID:AjDOZHKY0] デバッガが本人の資質だったりするからな。 おのずと規模がでかいと手間取るし、作る気もなくなる
258 名前:名称未設定 mailto:sage [2008/12/31(水) 19:03:18 ID:Sltoo2eV0] >>255 AppleEventでアプリ制御する場合はC++でごりごり書いちゃうね。 AppleScriptだとUnicode処理とか細かい所がうまく書けない。プロトタイピングや テスト時はAppleScriptも使う。 >>257 ScriptDebugger
259 名前:名称未設定 mailto:sage [2009/01/01(木) 06:26:57 ID:gq08o8Xj0] AppleScript の良さは、 本来自分がやるべき単純作業をコンピュータにやらしてらくちんできること 使用頻度の少ないものでも採算がとれるケースが他の言語に比べて圧倒的に多いこと おおよそなんでもできること ←ちょっと語弊があるか、要はできる奴にやらせるということ
260 名前:名称未設定 mailto:sage [2009/01/01(木) 13:11:38 ID:r11gX/B20] >>252 >AppleScript を純粋にスクリプト言語として見た場合の優位性 かなり自然言語に近い。 でもこれ英語を話す人じゃないとメリットじゃないんだよね。
261 名前:名称未設定 mailto:sage [2009/01/01(木) 14:53:29 ID:g3+YIBVs0] でも、tell application "Finder" to activate って、toの前後が逆のような気がする(日本語の語順っぽいから、日本人的にはOK)。
262 名前:名称未設定 mailto:sage [2009/01/01(木) 16:37:25 ID:/KkdaRW00] >>261 そう、Mac の操作は「このファイル」を「コピーする」で日本語的。 英語は「コピーする」「このファイル」なんだよね。
263 名前:名称未設定 mailto:sage [2009/01/01(木) 17:51:51 ID:yGgn93fb0] 自然言語に近いっていうことは英語ネイティブにとってどんな利点があるのかな? いろんな表現を許す自然言語から離れて、文法的な曖昧さのない人工言語で プログラミングができるほうが、英語ネイティブにとってもいいんじゃないかと思っちゃうんだけど…。 どんな表現でもこちらの意図をくんでインタープリタが機械語に変換してくれるんならいいけど、 結局はこうじゃないと通じない、っていうのが決まってるわけだしね。 >>261 この場合の to はプログレッシブ英和でいうところの「状態境遇の変化の結果」 ってやつで、これはこれで自然な英語なんじゃないかな。 sing a child to sleep|歌を歌って子供を寝かせる >>262 最初の本格的な GUI を搭載したパソコンとして Macintosh が発売されたときに、 まずマウスで操作の対象となるアイコンを選択してから、メニューで「コピー」という操作を選ぶ、 というのがオブジェクト指向だとか言われていたみたいだね。
264 名前:名称未設定 mailto:sage [2009/01/01(木) 19:06:18 ID:ckwdD4I/0] 「何を」「どうする」の順で操作するのがオブジェクト指向的だったんじゃないか? マウスでアイコンをクリックしてからコマンドを選択する。 対象となるアプリを指定してから動作内容を記述するのはちゃんと伝統に則っていはいるように思われる。 ところで,AppleScript日本語について誰も言及しないのはなぜだ。
265 名前:名称未設定 mailto:sage [2009/01/01(木) 19:27:30 ID:fMNW6y3O0] 日本語でスクリプト書いてる人ってどれくらいいるんだろうね 何一つメリットが思い浮かばないんだけどさ
266 名前:名称未設定 mailto:sage [2009/01/01(木) 20:14:26 ID:gq08o8Xj0] >>263 書く方はそうだろうけど 読むのは楽だよ
267 名前:名称未設定 mailto:sage [2009/01/02(金) 02:22:25 ID:sK+2ziH80] >>263 >まずマウスで操作の対象となるアイコンを選択してから、メニューで「コピー」という操作を選ぶ、 >というのがオブジェクト指向だとか言われていたみたいだね。 つかそれこそオブジェクト指向だけど。 Cの言語仕様の一つがオブジェクト指向とか勘違いしてないよね? >>264 オブジェクトに指令を出すとその指令をどう実行するかはそのオブジェクト自身が知っているという事。 表層はオブジェクト指向だけど内部的にはオブジェクト指向的。
268 名前:名称未設定 mailto:sage [2009/01/06(火) 17:29:19 ID:7WvgjDPx0] コマンドラインでのオペランドの並び順はバラエティにとんでるからねえ。 CP/Mの時のPIPコマンドとMS/DOSでは逆だったじゃない。 >>267 >オブジェクトに指令を出すとその指令をどう実行するかはそのオブジェクト自身が知っているという事 知らないメッセージは処理しようがないわけで、それはオブジェクトに限らずプログラム一般に言えそう だから、継承という考え方も加えとかないといかんのじゃない? 初代Macのオブジェクト指向風って、smallTalkで書かれたaltを模したってところじゃないかな。
269 名前:名称未設定 [2009/01/06(火) 17:39:55 ID:9hT81oaU0] >>268 知らないメッセージは発行自体が出来ない。何ができて何ができないかはオブジェクトを選択したときの メニューに反映される。 つかオブジェクト指向の概念の本とかみんな読まんのね。有名な部長と秘書の話とか。 実装ってサブセットに縛られ過ぎ。
270 名前:名称未設定 mailto:sage [2009/01/06(火) 17:45:50 ID:x9TH+iw90] >>264 以前、AppleScriptを日本語で書くというのがとにかく嫌だった。 なんでこんな馬鹿なことをさせるのかと腹が立った。 プログラムはある法則で書かざるを得ないんだから、そのルールは嫌でも覚えなければならない。 それが自然な日本語に近いかどうかより、覚えやすく、書くのが楽なほうが余程良い。 おまけに国依存のソースコードになる。(勿論内部では同じ扱いになるということは承知しているが) そういう意味では英語(というよりアルファベットかな)のほうが遥かに分かりやすく能率がいい。 OS Xで、やっと英語が標準になってホッとした。
271 名前:名称未設定 mailto:sage [2009/01/06(火) 19:25:04 ID:O1FFwiLj0] 日本語でしか AppleScript を書けなかった俺が通りますよ…
272 名前:名称未設定 mailto:sage [2009/01/06(火) 21:07:21 ID:clcxNgKA0] >>270 純粋に好奇心で聞くんだが、「以前」はどうしてわざわざ日本語で書いていたの?
273 名前:名称未設定 mailto:sage [2009/01/06(火) 21:14:48 ID:k8xAJtIz0] >>272 AppleScriptでゼンマイびゅんびゅん!! のソースが日本語だったから。
274 名前:名称未設定 mailto:sage [2009/01/06(火) 22:47:07 ID:Lek/xeGZ0] >>268 > smallTalk Smalltalkはこれで一語だからtを大文字にするのはヤメれって口をすっぱくしているのに その上わざわざSまで小文字にするってどんだけ嫌がらせだよ。w
275 名前:名称未設定 mailto:sage [2009/01/06(火) 23:08:01 ID:podRJ9OX0] AppleScript日本語が出る前からAppleScriptを書いていたから,今でも英語。
276 名前:名称未設定 mailto:sage [2009/01/07(水) 08:30:53 ID:2paAUfaL0] >>274 おお、まさに小言。
277 名前:名称未設定 mailto:sage [2009/01/07(水) 09:11:51 ID:NmRz++hy0] >>274 Cocoaプログラマならそうしたくなるなw
278 名前:名称未設定 mailto:sage [2009/01/07(水) 09:25:59 ID:7Pev0izK0] >>276 うまいこと言うなきみぃ
279 名前:名称未設定 mailto:sage [2009/01/07(水) 10:06:57 ID:Tr3RL5ZE0] >>273 なるほど。理解。 あの本の(せい|おかげ)で日本語で使ってた人を「ショーダー」と呼ぶことにしよう。
280 名前:名称未設定 mailto:sage [2009/01/12(月) 01:10:40 ID:AhGlsvAA0] 以下,LeopardのTerminalで動作することは確認しています。 perl $_='Yaeeeh!'; if (/Yae+h!/){print "マッチしました。\n";} このPerl文をdo shell scriptで実行させるためには,どうやって書くのでしょうか。
281 名前:名称未設定 mailto:sage [2009/01/12(月) 16:40:31 ID:1vC0p+Pe0] >> 280 自己レス。Perlはまだよくわからないので,デリミタで行うことにしました。
282 名前:名称未設定 mailto:sage [2009/01/12(月) 22:41:08 ID:X7CbqN+90] >>280 このスレでも少しググればでてくるし、飽食ぎみって感じもあるが。知りたい人もいるかもしれないし。 set myText to "Yaeeeh!" set searchText to "Yae+h!" do shell script "perl -e '$hoge = ¥"" & myText & "¥" ; if ($hoge =~ /" & searchText & "/){print ¥"マッチしました。¥n¥";}'" log result
283 名前:名称未設定 [2009/01/12(月) 23:20:53 ID:Px3IuVgW0] 神
284 名前:名称未設定 mailto:sage [2009/01/13(火) 00:23:10 ID:oDBl1TKn0] じゃあラーメンタイマーの仕様定義するからよろです。 ・ラーメンの待ち時間の長さ&商品によって異なる味の変化をデータベース化 例:商品Aでは4分で「麺のふにゃふにゃ感が芽生えはじめる」 というような情報に基づき柔軟に味を調節可能 データベースは、ある設定でラーメンが出来たら、感想フォームを表示、 ここに感想を入力していくことでオリジナルのデータベースが出来あがっていくという仕組み。 さらに、TCP/IP通信でこのデータベース情報を交換できる。 ・ラーメンが出来るまでの時間をミニ格闘対戦ゲームで潰せる「時間があっというまに経つね」機能 TCP/IP通信で、ロビーをデディケートサーバーで提供できるような感じで。 ・ラーメン作成回数・日時・商品情報から、ラーメンにおける摂取カロリー計算や 嗜好分析などを行える統計機能つき。 この統計から、「おすすめの新作カップメン」みたいな情報も表示できる。 タイムリミットは明日の6時までに適当なアプロダで。
285 名前:280 mailto:sage [2009/01/13(火) 00:26:58 ID:MBIFafNT0] >>282 前ににたようなこと教えてもらったのだけれど,Perlの難解さに挫折。 でも,今作っているスクリプトがどうしても正規表現が必要になってきたので, 再度やってみたけど,やっぱり挫折。 正規表現すらまだ満足に使えてないので,またまた挫折。do shell script 上での Perlの書き方もわかりにくくまた挫折。操作対象の文字が複雑なので,デリミタでは やれることに限界がみえて,今作っているスクリプトはやめてしまいました。 とまあ,チラ裏はそのぐらいにして。ありがとうございました。
286 名前:名称未設定 mailto:sage [2009/01/13(火) 00:54:29 ID:CwEaS6FN0] >>285 こう分解すればわかるか? perl -e $hoge = ¥"Yaeeeh!¥" ; if ($hoge =~ /Yae+h!/){ print "マッチしました。¥n"; } これの2行目以降をシングルクォートで囲んで、中にあるダブルクォートをエスケープしただけ。 全然むずくないよ。がんば。 >>284 スレ違い。ASじゃなくてAIRの人に頼みなさい!!!
287 名前:名称未設定 mailto:sage [2009/01/13(火) 01:37:12 ID:CwEaS6FN0] 2行目エスケープ文字が残ってたな。 iPhoto整理してて、写真クリック、コンテクストメニューからGoogleMap。とかしたら撮影場所思い出しやすいなと。 で、Geoタグを取得したく寝る前の暇つぶしにさわってたのだが、iPhotoに無いし。プレビューはAS対応してないし。 Image Eventsにあるかな?と思ったがなさそうだ。 どっかにある?AS+標準ソフトでは無理?perlのモジュールはあったけど、なんか使うの悔しいし。 Cocoaにある?あったらrubyから呼べるのか?もう寝なくては。だれか教えて。
288 名前:名称未設定 mailto:sage [2009/01/13(火) 02:58:57 ID:E9SxCmsI0] Perl内部のクォートはq//とかqq//に置き換えておいた方が、 エスケープでややこしくなんないと思う
289 名前:名称未設定 mailto:sage [2009/01/13(火) 03:03:44 ID:FJi280aN0] >>287 まだ販売開始されてないけどiPhoto '09ならGeoタグ系統のAS対応あるかも。
290 名前:名称未設定 mailto:sage [2009/01/13(火) 03:19:24 ID:FqSFhcGA0] perlのExifToolならコマンドライン版もあるよ。 ASからのExif読み出しで使ったことある。
291 名前:名称未設定 mailto:sage [2009/01/13(火) 10:09:24 ID:tb6yNxsD0] Perlが難解。。。まあ魔法使いにはなれないってこったな。その方が正常至極。 まあ嫌いでも馴れなくても、入り口くらいには立っておいた方が便利と言えば便利。
292 名前:287 mailto:sage [2009/01/13(火) 12:35:26 ID:VJtXyZsK0] >>290 perlライセンス調べてないけど、さすがにパッケージの中にいれたらだめでしょ? それに友達とかに配る時ソースで渡したいし。そこで、何々をインストールして。ってのは不格好だから。 iPhoto'09に期待だね。ExifToolのを一応発表しとく(細かい処理やってない) --www.sno.phy.queensu.ca/~phil/exiftool/index.html ツールはここに tell application "iPhoto" set hoge to selection set tarImage to image path of item 1 of hoge -->複数選んでたら最初だけ end tell set tarImage to quoted form of tarImage set GPSLatitude to do shell script "exiftool -b -GPSLatitude " & tarImage set GPSLongitude to do shell script "exiftool -b -GPSLongitude " & tarImage set gpsUrl to "maps.google.com/?q= " & GPSLatitude & "," & GPSLongitude & "&spn=0.05,0.05&t=h&om=1&hl=jp" tell application "Safari" to make new document with properties {name:"GeoTag", URL:gpsUrl}
293 名前:名称未設定 mailto:sage [2009/01/13(火) 22:47:12 ID:v0LdsXek0] phpで書いてみたというか他のソースのコピペだけどバックスラッシュ地獄になってしまった 10.5で特にphpをいじった記憶は無いのでOS標準状態で行ける気がするが詳細は不明。 自分で撮った対応画像が無いのであってるかよくわかりませんがネットで拾った画像ではそれっぽかった。 set theFile to "/Users/hoge/Desktop/Download/geotag1.jpg" -- www.google.com/codesearch/p?hl=ja#jDlm4b6TORk/map/mapItemEdit.inc&q=GPSLongitude%20exif_read_data set theGPSData to do shell script "php -r ' @$exif = exif_read_data($argv[1], 0,true); if (!empty($exif)){ foreach ($exif as $key => $section) { if ($key ==\"GPS\") { $deg = explode(\"/\",$section[\"GPSLatitude\"][0]); $min = explode(\"/\",$section[\"GPSLatitude\"][1]); $sec = explode(\"/\",$section[\"GPSLatitude\"][2]); $Glatitude = $deg[0]/$deg[1] + ($min[0]/$min[1])/60 + ($sec[0]/$sec[1])/3600; $Glatitude = ($section[\"GPSLatitudeRef\"]==\"N\") ? $Glatitude:-$Glatitude; $deg = explode(\"/\",$section[\"GPSLongitude\"][0]); $min = explode(\"/\",$section[\"GPSLongitude\"][1]); $sec = explode(\"/\",$section[\"GPSLongitude\"][2]); $Glongitude = $deg[0]/$deg[1] + ($min[0]/$min[1])/60 + ($sec[0]/$sec[1])/3600; $Glongitude = ($section[\"GPSLongitudeRef\"]==\"E\") ? $Glongitude:-$Glongitude; echo \"$Glatitude,$Glongitude\"; } } } ' " & quoted form of theFile if theGPSData is not "" then set gpsUrl to "maps.google.com/?q= " & theGPSData & "&spn=0.05,0.05&t=h&om=1&hl=jp" open location gpsUrl else beep end if
294 名前:280 mailto:sage [2009/01/14(水) 00:57:06 ID:38Iaw+vJ0] >>286 その例でなんとなくわかっても,また表現が変わるとグダグダになってしまうので どうしようもないです。正規表現の強力さはエディタ利用で実感しているので, なんとかしてPerlを覚えたいと思っていますが,先は長そうです。 わざわざレス,ありがとうございました。 いい加減チラ裏なので,この話題はこれで終わりにします。
295 名前:287 mailto:sage [2009/01/14(水) 09:42:55 ID:YSbRwTRb0] >>293 動いた。私もPHPいじった記憶ないから標準で実装だね。 解析させていただきますのだ。ありがと。って仕事しなきゃ。昼休み迄お預け。
296 名前:名称未設定 mailto:sage [2009/01/14(水) 12:32:19 ID:SEtVNCW60] Tiger以降ならSpotlightが集めたメタデータ使えば良い。 on GPSData(aFile) set aPath to quoted form of POSIX path of aFile set latitude to do shell script "mdls -name kMDItemLatitude -raw " & aPath if latitude = "(null)" then return "" set longitude to do shell script "mdls -name kMDItemLongitude -raw " & aPath if longitude = "(null)" then return "" return latitude & "," & longitude end GPSData
297 名前:287 mailto:sage [2009/01/14(水) 13:14:31 ID:Wr//aTFN0] >>296 こんなコマンドがあったなんて。持ってるコマンドリファレンスに載ってない。買い替えなきゃ とググってみたらトップヒットサイトにまたびっくり。すごく詳しい。プログラムって奥が深いです。もっと勉強したい。 >>288 さんのアドバイスに従って>280を例に書き直してみました。知らなかった。読みやすいです。ありがとう。 do shell script "perl -e '$hoge = qq(Yaeeeh!) ; if ($hoge =~ /Yae+h!/){print qq(マッチしました。¥n);}'"
298 名前:名称未設定 mailto:sage [2009/01/14(水) 17:29:45 ID:U/ibqIqB0] Latitudeの数値の見方がよくわからないけど do shell script "mdfind '(kMDItemLatitude < 52.509) && (kMDItemLatitude > 52.505)'" な感じで近場の画像を検索できたりするのかな?
299 名前:名称未設定 mailto:sage [2009/01/14(水) 23:36:02 ID:h4QfYTHv0] >>298 できるよ。スマートフォルダ化もできる。 検索式(Raw Query)の書き方はSpotlightスレも参照
300 名前:名称未設定 mailto:sage [2009/01/15(木) 00:55:41 ID:agfBod760] >>299 おおできますか。 いろいろ楽しいことができそうだと思ったけど よく考えたら家の中でねこしか撮ってなかった…。 GPS内蔵デジカメも出てるらしいし次ぎデジカメ買うときは注目の機能かな。
301 名前:名称未設定 mailto:sage [2009/01/15(木) 23:23:15 ID:N8kGJ0Ww0] iTunesにMP4動画を追加し、追加した動画に関して各種パラメータをいじるスクリプトを書きたいと思っています。 いろいろとググって以下のようなコードを書いて、動かしているのですが、うまく動作しません。 2行目の「set path to "/temp/tempfile.MP4" as POSIX file」で、 「expression、property または key form など があるべきところですが end of line が見つかりました。」 なる構文エラーが出力されるのですが、何が不足しているのかよくわかりません。 UNIX方式のパスの書き方では登録できないのでしょうか? tell application "iTunes" set path to "/temp/tempfile.MP4" as POSIX file set track to add path set video kind of track to "TV show" set episode number of track to "1" set show of track to "showname" set name of track to "title" end tell
302 名前:名称未設定 mailto:sage [2009/01/16(金) 00:26:28 ID:UZxMSevB0] 本当に2行目でエラーになってるんだとすると、 登録云々以前に2行目の記述自体に問題があるって事かと POSIX file は単なるパス変換で実体は無くても通った様な気がするが、 手元にMac無いので確認できねぇ
303 名前:名称未設定 [2009/01/16(金) 00:27:07 ID:C2NBMgdQ0] www.latenightsw.com/sd4/index.html
304 名前:名称未設定 mailto:sage [2009/01/16(金) 00:33:39 ID:Rbk7ZgH40] >>301 set thePath to POSIX file "/temp/tempfile.MP4" とかじゃないか
305 名前:名称未設定 mailto:sage [2009/01/16(金) 01:42:24 ID:UZxMSevB0] 例えばこれはエラーになるが tell application "System Events" to POSIX file "/temp/tempfile.MP4" こっちは通ったりする tell application "System Events" to "/temp/tempfile.MP4" as POSIX file 逆のパターンてあるのかな
306 名前:名称未設定 mailto:sage [2009/01/16(金) 08:57:32 ID:mdKHS71/0] 301です。 >>302-305 さん 回答ありがとうございました。 結論としては304さんの記述を真似たところ、通るようになりました。 おかげでffmpeg変換->iTunes登録が一本のスクリプトで動かせるようになりました。 ありがとうございました。
307 名前:名称未設定 mailto:sage [2009/01/16(金) 11:33:27 ID:ALiEqpIp0] GraphicConverterで表示されてるフォルダーをbrowser表示するツールバースクリプトを作っています とりあえず動くのですが、フォルダー名が長い場合、browser表示できません どうやらパス中のフォルダー名が32バイトを越えるとダメなようです これはGraphicConverter側のバグでしょうか?
308 名前:名称未設定 mailto:sage [2009/01/16(金) 11:39:04 ID:ALiEqpIp0] あ、日本語がおかしかった 表示されてるフォルダーをGraphicConverterのbrowserで表示するツールバースクリプトです 短いので載せておきます tell application "Finder" set current_folder to the target of the front Finder window as text tell application "GraphicConverter" activate browser current_folder end tell end tell
309 名前:名称未設定 mailto:sage [2009/01/16(金) 19:16:53 ID:LzojrXFi0] >>308 as textをas aliasにする
310 名前:名称未設定 mailto:sage [2009/01/16(金) 22:08:38 ID:ALiEqpIp0] >as textをas aliasにする うう、お恥ずかしい ありがとうございました
311 名前:名称未設定 mailto:sage [2009/01/16(金) 23:02:01 ID:ISGkwbF40] >301 MPEG Exporter TNGでも使っていた方が楽だわ。
312 名前:名称未設定 mailto:sage [2009/01/16(金) 23:15:35 ID:UZxMSevB0] >>301 は単純に path が予約語なだけだったな やっぱり1行ずつ確認しないとダメだわ
313 名前:名称未設定 mailto:sage [2009/01/16(金) 23:26:11 ID:eiQgVAbqi] >>311 なるほど。こういうツールもあるんですね。 でも今回の場合は、既に独自の命名規則で管理している動画が沢山あったので、自分で作ったわけです。 今後はこう言った物で管理するのも検討してみようと思います。
314 名前:名称未設定 mailto:sage [2009/01/17(土) 00:03:41 ID:VYFyvu8o0] 時報を鳴らすスクリプトを作ってるのですが、肝心のサウンドを鳴らす方法が見つかりません。 UNIXコマンドも探しましたがなさそうです。なにか良いアイデアはありませんでしょうか?
315 名前:名称未設定 [2009/01/17(土) 00:06:11 ID:fqNr3t6F0] www.h5.dion.ne.jp/~maclab/script/script-Exporter_TNG.html
316 名前:名称未設定 mailto:sage [2009/01/17(土) 00:08:14 ID:OZOiX+nk0] >314 旧OSではサウンドファイルをFinderに開かせるだけで良かったんだけどねえ。 Speech Managerでしゃべらせたら?
317 名前:名称未設定 mailto:sage [2009/01/17(土) 00:13:33 ID:k4VFz9wf0] >>314 >171 音が長くて途切れる場合はsleepの後の数字を増やせば良さそう
318 名前:名称未設定 mailto:sage [2009/01/17(土) 00:15:30 ID:fP/WNXTo0] これは? microcosmsoftware.com/playsound/
319 名前:名称未設定 mailto:sage [2009/01/17(土) 00:19:18 ID:OgROf3fA0] >>314 do shell script "say e mah nanji death car"
320 名前:名称未設定 mailto:sage [2009/01/17(土) 00:26:47 ID:cP+1OOSR0] say "Yoh ji death yo-da"
321 名前:名称未設定 mailto:sage [2009/01/17(土) 00:59:50 ID:Bs9oVMGd0] >>314 /usr/bin/afplay 一々process起こすのも大げさなので標準OSAXにもCoreAudio使った サウンドプレーヤがあるべきですな。
322 名前:名称未設定 mailto:sage [2009/01/17(土) 01:10:11 ID:D6PwfetK0] >>314 >>171 のような方法もある。
323 名前:名称未設定 mailto:sage [2009/01/17(土) 01:10:27 ID:VYFyvu8o0] >旧OSではサウンドファイルをFinderに開かせるだけで良かったんだけどねえ。 >Speech Managerでしゃべらせたら? 68K時代から使っているサウンドファイルがあるんです。これがないとMacって感じがしないほど なんで標準はサウンドファイル不可で不気味なものいれたんだろう。 諦めてサウンド再生だけコマンドラインCommand Line Utilityで作ってみます
324 名前:名称未設定 mailto:sage [2009/01/17(土) 01:32:08 ID:VYFyvu8o0] >321 ありがとうございます。やっぱりUnixコマンドであったんですね
325 名前:名称未設定 mailto:sage [2009/01/17(土) 15:03:23 ID:OZOiX+nk0] >321 Tigerにはなさそうなんだが。
326 名前:名称未設定 mailto:sage [2009/01/17(土) 16:37:50 ID:OZOiX+nk0] >323 とりあえず,そのサウンドファイルの中身は再圧縮なしでQuickTimeまたはAIFFに変換できるはずだから, 将来に備えて変換しておくといいと思うよ。 リソースを使ったサウンドファイルは将来のディスクフォーマットで記録できなくなる可能性がある。 変換にはQuickTime Proを使うよろし。
327 名前:名称未設定 mailto:sage [2009/01/18(日) 00:26:05 ID:tAw7Ee/A0] >326 System7SoundFileと認識されているのですが、QuickTimeProでは開けませんでした 変換にはSndSamplerというシェアウェア(無課金でも変換可)を使いました
328 名前:名称未設定 mailto:sage [2009/01/18(日) 14:35:03 ID:obx8kJEO0] >>327 >System7サウンド QuickTimeでは無理。 でもご安心あれ。iTunesで変換できるよ。
329 名前:名称未設定 mailto:sage [2009/01/21(水) 22:13:39 ID:oHuMxTGK0] フォルダーアクションって使っている方いますか? あれって一体なにに有効なのかさっぱりイメージできない
330 名前:名称未設定 [2009/01/21(水) 23:30:03 ID:n7Q3devI0] フォルダにドロップされたファイルを処理
331 名前:名称未設定 mailto:sage [2009/01/21(水) 23:33:44 ID:fg4RodSA0] >>329 FAXを受信したらプレビューで開くってのを仕込んである。
332 名前:名称未設定 mailto:sage [2009/01/22(木) 02:11:28 ID:bnJBd1zX0] >>329 実際に使ってるワケじゃないけど LAN内でファイル共有し合って作業してるときに パブリックフォルダに何か送られてきたらメッセージ出すとか。 送り元が分かると更に便利に、安全になるんだけどねぇ ファイルに対してわざわざ処理しようと思って実行するんだったらドロップレットの方が確実だから、 他人がトリガーになるような使い方とか 自分の自然な行動(作業)内に含まれるファイルの移動に組み込める内容なら有効に使えそう。
333 名前:名称未設定 mailto:sage [2009/01/22(木) 08:26:17 ID:aqEDA+4F0] >>329 FAXを受信したらGrowlのメッセージが表示されるように仕込んである
334 名前:名称未設定 mailto:sage [2009/01/22(木) 14:45:46 ID:fvb5r/TD0] >>329 スクリーンショットを取ったら自動的にプレビューで開くようにしてる。 後は>>332 のと同じように共有フォルダにファイルを受信したら Growlでメッセージを表示するようにしてある。
335 名前:名称未設定 mailto:sage [2009/01/22(木) 15:04:07 ID:/Vfvtq050] Leopardになってフォルダアクションがすぐに反映されないので リアルタイムに必要な物には使いにくくなった。 しかもうちでは何故か動かない時があるし。
336 名前:名称未設定 [2009/01/22(木) 22:52:32 ID:XSycLvZ60] 誘導されてきました。 repeat delay 15 * 60 activate beep delay 5 * 60 activate beep end repeat 15分→5分→15分のエンドレスでアラームがなるスクリプトで、 特に繰り返しの回数は決めてないんですが何かのキーを押したら終了とかという風に 設定するにはどうしたらいいでしょうか? スクリプトエディタから起動して終了じゃなくてアプリケーションで保存して使えるようにしたいです。 アドバイスよろしくお願いします。
337 名前:名称未設定 mailto:sage [2009/01/23(金) 00:30:27 ID:g8GHY3vb0] >>336 ソフトさがしスレからきた人だね。 on idle activate beep delay 15 * 60 activate beep return 5 * 60 end idle これで「実行後、自動的に終了しない」にチェック入れて保存したら、 強制終了じゃなくて普通に終了できるよ。 音だけ鳴ればいいんだったら activate はなくてもいいんじゃないかな? アラートも表示させるんだったらあったほうがいいだろうけど。 でも起動してしょっぱなに意味のないビープ音が鳴っちゃうのがスマートじゃないね。 なんとかならないかな? 俺はしろうとに毛が生えたようなもんなんで、他のベテランの人たちの回答も待ってね。
338 名前:名称未設定 mailto:sage [2009/01/23(金) 01:28:55 ID:op5j6dQK0] アプリケーションとしての保存は保存形式でどーとでもなるが、 キーを押したら終了ってのはスクリプトエディタでは難しいね 妥協点としては return か esc ぐらいしか使えないが、 display dialog の giving up after を使う方法とか on run repeat activate display dialog "停止を押すと終了します" buttons {"停止"} default button 1 giving up after 15 * minutes if button returned of result is "停止" then quit beep activate display dialog "停止を押すと終了します" buttons {"停止"} default button 1 giving up after 5 * minutes if button returned of result is "停止" then quit beep end repeat end run
339 名前:名称未設定 mailto:sage [2009/01/23(金) 01:43:46 ID:op5j6dQK0] ちなみに起動直後の idle ハンドラ回避は、property か global を上手く使えば可能 起動直後と終了直前にフラグを反転させればいい property theFirst : true on idle if theFirst then set theFirst to false else if |継続条件| then --継続時の処理 else --終了時の処理 set theFirst to true quit end if end if return * end idle
340 名前:336 mailto:sage [2009/01/23(金) 02:48:37 ID:I5W2QyB50] ありがとうございます。 キーを押したら終了じゃなくても全然かまいません。 >>338-339 のスクリプトで試してみたのですが、うまくいかないのは保存形式が悪いんでしょうか? >>339 のダイアログの停止ボタン押したらそこでループしてしまって、 ダイアログまた表示されてしまいます。
341 名前:名称未設定 mailto:sage [2009/01/23(金) 03:04:13 ID:g8GHY3vb0] 338さんのはスクリプトエディタで終了ボタンを表示する方法じゃないかな
342 名前:名称未設定 mailto:sage [2009/01/23(金) 03:30:51 ID:I5W2QyB50] なるほど。 338さんのやり方で十分だったので使わせてもらいますw みなさんありがとうございました。
343 名前:名称未設定 mailto:sage [2009/01/23(金) 03:31:58 ID:g8GHY3vb0] ああ、ごめん。 >>337 はdelayしてる間は普通に終了できないね。強制終了しないと。 returnで待ってる間は普通に終了できたから勘違いしちゃった。 ごめんよ。
344 名前:名称未設定 mailto:sage [2009/01/23(金) 03:39:06 ID:I5W2QyB50] そうなんですか? 最初やったときは終了できなくて、 もう一度やったら終了できたんでいいかなーと思ったんですがw
345 名前:名称未設定 mailto:sage [2009/01/23(金) 03:53:58 ID:g8GHY3vb0] うん。俺いま実力ないのに口出して冷や汗かいてるわ。 でも>>339 のアドバイスを参考にこういうふうに直してみた。 property theFirst : true on idle activate beep if theFirst then set theFirst to false return 15 * 60 else set theFirst to true return 5 * 60 end if end idle こんどはいけるんじゃないかな! 本当は>>339 のアドバイスは、起動直後に意味のないビープ音を 鳴らさない方法を教えてくれてるんだと思うんだけど、 そっちのほうはちゃんと理解できなかった…。 それでその部分はそのままになってる。 全然関係ないけど、シフト押しながらアップルメニューをクリックしたら、 そのときにアクティブになってるアプリの強制終了メニューが表示されるの知ってた?
346 名前:名称未設定 mailto:sage [2009/01/23(金) 04:17:46 ID:I5W2QyB50] いけますね! ありがとうございます。 リンゴのマークの強制終了から消してました。。 ありがとう!
347 名前:名称未設定 mailto:sage [2009/01/23(金) 22:35:51 ID:iEiQKZr90] on reopen if button returned of (display dialog "Beepタイマーを終了しますか?" buttons {"キャンセル", "終了"} default button 2 giving up after 15) is "終了" then quit end reopen を追加しておくと,起動中のDockアイコンをクリックすると終了ダイアログを出せる。 うっかりダイアログを出しても,15秒後に解除される。 タイマーはその瞬間にリセットされてしまうけど。
348 名前:名称未設定 mailto:sage [2009/01/23(金) 22:47:30 ID:vlisoeNa0] VLCでクリップボードにあるURLをOpenURLで開こうとしてるのですが、なにをやってもうまく動きません・・・ どのように書いたらうまくいくか教えていただけないでしょうか? よろしくお願いします。
349 名前:名称未設定 [2009/01/23(金) 22:54:52 ID:oyAQpv4q0] 可能?
350 名前:名称未設定 mailto:sage [2009/01/24(土) 00:59:10 ID:dHrVx5iw0] >>345 は飽くまでも「起動直後の idle ハンドラを回避する」という一般的な話として書いたものだよ >>338 の様なダイアログで代用する方法なら、idle を使う必要は無かったから んで reopen は使ったこと無いのだけど、>>347 を参考に、こんな方法も考えてみた キーボードではなく Dock アイコンをクリックする事で終了のトリガーとする property theCount : 0 on idle set theCount to theCount + 1 if theCount > 1 then beep if (theCount mod 2) is 1 then return 15 * minutes else return 5 * minutes end if end idle on reopen set theCount to 0 quit end reopen
351 名前:名称未設定 mailto:sage [2009/01/24(土) 01:01:15 ID:dHrVx5iw0] 1行目訂正… >>345 は飽くまでも「起動直後の idle ハンドラを回避する」という一般的な話として書いたものだよ ↓ >>345 >>339 は飽くまでも「起動直後の idle ハンドラを回避する」という一般的な話として書いたものだよ
352 名前:名称未設定 mailto:sage [2009/01/24(土) 01:40:53 ID:XrB8hENy0] アップルスクリプト作ったはいいが、そのアイコン探しに毎回時間がかかる 大抵のアイコン集がディスク系や既存有名アプリ系、フォルダー系なので それのどれでもない日常品とかそういったアイコン集って案外少ないね
353 名前:名称未設定 mailto:sage [2009/01/24(土) 01:41:19 ID:xaoZ6Etd0] >>329 テキストクリッピングをデスクトップに作成した時に、特定のフォルダに移動 する
354 名前:名称未設定 mailto:sage [2009/01/24(土) 02:12:57 ID:R4DkHcSF0] >>329 フォルダを開く行為にも使える on opening folder open_folder set pass to "password" tell application "Finder" set win to window 1 set ans to display dialog "パスワードを入力して下さい" default answer "" if (text returned of ans) is not pass then close win end if end tell end opening folder>>329
355 名前:354 mailto:sage [2009/01/24(土) 02:14:09 ID:R4DkHcSF0] あー最後のアンカー無視して
356 名前:名称未設定 [2009/01/24(土) 02:27:00 ID:C7l3u5Cn0] おもしろい
357 名前:348 mailto:sage [2009/01/24(土) 07:34:13 ID:9pufTnQG0] >>349 あれ 不可能ってことでしょうかorz
358 名前:名称未設定 mailto:sage [2009/01/24(土) 14:37:43 ID:iuhMERsp0] >>348 VLC で OpenURL をやると、そのまま再生されるのではなく 「再生一覧」のところに登録されるようになってるようだけど。
359 名前:名称未設定 mailto:sage [2009/01/25(日) 15:32:49 ID:tJVbHTew0] なあ、applescriptを勉強しようと思うんだが、 どの辺から始めれば良い? htmlぐらいしか触った事がないんで、右も左も分かんねぇ…。 始めたきっかけとか、とっかかりはこうしたとか、 教えてくれるとありがたい。
360 名前:名称未設定 mailto:sage [2009/01/25(日) 15:42:08 ID:fTmccVMX0] 最初はQuickTime Proの書き出し機能が無料版でもAppleScriptからなら使えると聞いたのがきっかけだったかな.. あとは用語説明と実際のサンプルスクリプトを読みまくった感じ。 piyocast.com/as/ がアプリケーションごとに整理されていて参考になる。 英語OKなら↓が公式のGetting Started Guide。 developer.apple.com/referencelibrary/GettingStarted/GS_AppleScript/index.html 今はまあ基礎のレベルは突破したかなという感じ。 まだオブジェクトの扱いとか謎なところはかなり多いけれど。 最近Cocoaに浮気中(といってもまともに時間取れないけど)。
361 名前:名称未設定 mailto:sage [2009/01/25(日) 16:32:24 ID:tJVbHTew0] >>360 サンキューだ…。とてもありがたい。 参考URLもブックマークに登録しといた。 で、今はどっかの入門篇見て、試行錯誤中。 今日一日でどの辺までいけるかなあ。
362 名前:名称未設定 mailto:sage [2009/01/25(日) 21:20:37 ID:wcrhehAR0] 1日じゃ無理だw クセのある言語だからな。 でも,邪魔な予備知識がないとむしろ飲み込みが早いかも。 スクリプトという名前とは裏腹に,独立したプログラム言語なんだよなあ。
363 名前:名称未設定 mailto:sage [2009/01/25(日) 22:23:24 ID:CN85++4l0] >>359 とりあえずiTunesとかのスクリプトだと割と身に付くと思う。 構文も一通り使うし。 それまでもちょこちょこ使ってはいたけど、激ハマリしたのは、QTの録音機能 を駆使するようになってからかなぁ。 タイマーで録音を開始し、終了したら録音ファイル名を録音日時と録音内容に 変更したりするスクリプトを書いてみたり。 今はAppleScriptも一通り遊び尽くしたからCocoaを勉強してみようかな。。。 と思ってる。 若干チラ裏スマソ
364 名前:363 mailto:sage [2009/01/25(日) 22:27:21 ID:CN85++4l0] >>359 参考URL(今でも参考にする)は、 AppleScript Beginner's ttp://homepage.mac.com/jinjin/applescript AppleScript PARK ttp://www.tonbi.jp/AppleScript/ かな。あとは>>360 のように、やっぱり用語説明だな。連書きスマソ
365 名前:348 mailto:sage [2009/01/25(日) 22:32:01 ID:9PuEB+lJ0] >>358 そういうことなのですね。ありがとうございます。 このあとにPlayをしてみたんですが、やはりうまくいかないですね。。。 今はとりあえずキーストロークで書いてるんですが、0.8.6にしか効かず、新しいバージョンに対応したいなぁと思っていたのですが、なかなか難しいようですね。
366 名前:名称未設定 mailto:sage [2009/01/25(日) 23:13:55 ID:tJVbHTew0] お前ら優し過ぎだよ…うぅ;; iTunesか…分かった!基礎が身に付いたら初めにそこで試行錯誤するよ! 時間は凄くかかるけど、俺もAppleScript→Cocoa→Xcodeってな感じで進みたい…。 行く先は絶壁ばかりの難関のようだけど、 少しでも進めば、そこで見える光景は今と全く違うんだろうな…。 早くみんなに追いつきたいぜ。 じゃあ、スレ汚しはこの辺で。本当にありがとう。 >>364 早速ブクマ登録した
367 名前:名称未設定 mailto:sage [2009/01/25(日) 23:14:19 ID:CN85++4l0] >>348 次のスクリプトはダメ? --- tell application "VLC" OpenURL (the clipboard) next 1 end tell --- 0.9.8で動作確認。 要は、再生するオブジェクトの参照をつけてやっただけなんだけど。 playでなく、nextとしたのも、ある意味ポイントかも。
368 名前:名称未設定 mailto:sage [2009/01/25(日) 23:19:48 ID:g4VQsUPX0] 097〜9の頃のAppleScriptって今より記録ボタンで記録できる範囲がひろくて それがおもしろくて使い始めた OSXになってから泣いた
369 名前:名称未設定 mailto:sage [2009/01/25(日) 23:24:09 ID:d8T6lSiO0] AppleScriptなんてつらいだけだけどなあ。 いつもAppleScriptで作り始める。ASStusioを使う。パフォーマンスその他の理由で そのままobj-Cに移行って感じで、まともなもの作ろうとすると基本的にobj-Cに行っちゃうな。 配列が異様に遅いのが決定的。 AppleScriptを使う場面っていうと、デリミタのみでいじれる軽いものとか、言語のみでIllustratorに 絵を描かす(これは便利だ)とか。
370 名前:名称未設定 mailto:sage [2009/01/25(日) 23:27:57 ID:fTmccVMX0] でも遊んでて楽しいよな。
371 名前:名称未設定 mailto:sage [2009/01/25(日) 23:29:46 ID:g4VQsUPX0] 他のアプリを操作出来るってのがどうにも楽しいよね
372 名前:名称未設定 mailto:sage [2009/01/25(日) 23:32:00 ID:CN85++4l0] >>371 同意。 あと、UNIXコマンドに軽いインターフェースを乗せられるのが何気に便利。
373 名前:名称未設定 mailto:sage [2009/01/26(月) 10:05:39 ID:9LIdtwhI0] >>369 Applescriptのlistは確かに遅いけど、 >>170 で使っているようなテクニックを知らない人が多い 150の中の人はどうすればlistに早くアクセスできるか知っている
374 名前:名称未設定 mailto:sage [2009/01/26(月) 20:30:34 ID:0v2l/cYb0] コマンド+F1を押させたくて tell application "System Events" keystroke "F1" using command down end tell とやってみたんですが、うまくいきません。 ファンクションキーってどうやって指定すればいいんでしょうか。
375 名前:名称未設定 mailto:sage [2009/01/26(月) 23:32:59 ID:GQNoX3uA0] key code 122 using command down でいけると思います(動作未確認) keycode は.Xmodmapに書かれているコード番号ー8の値を入れれば良いようです 例)ダッシュボードを開く tell application "System Events" key code 111 -- F12Key end tell
376 名前:名称未設定 mailto:sage [2009/01/26(月) 23:44:42 ID:GQNoX3uA0] あ、選択アプリケーションの別ウインドウを操作対象にするってことか
377 名前:名称未設定 mailto:sage [2009/01/29(木) 16:12:40 ID:R6pNhmv80] Applescriptに初挑戦のものです。 G5 + OSX10.4.11 に付属している、AppleScriptで試しています。 1994年の「AppleScript入門」で基礎を読みまして、サンプルをいくつか試しました。 実際に作りたいものの最初のステップは、 ・ドロップされたファイルと同一名称のサーバー上のフォルダの名称を、「フォルダ名--x」に変更し、 ・ドロップされたファイルを、別のサーバー上のフォルダにコピーする。 です。 でまずはと、デスクトップ上のファイルを、サーバー上のフォルダにコピーするスクリプトを作ったのですが、うまく動いてくれません。 tell application "Finder" activate duplicate "++testdata" to foler "A(デスクトップに表示されているボリューム名):B(Aの中のフォルダ)" end tell この短い命令が動かず、いきなり途方にくれてます。 どうぞ、よろしくお願いします。
378 名前:名称未設定 mailto:sage [2009/01/29(木) 16:25:57 ID:2lfbHmya0] 実際のスクリプトがダブルクォーテーションの中身以外 まったくそのままなのだとしたら考えられるのは下の点。 1.folderがfolerになっている。 2.コピー元ファイルの頭にfileが無い。 つか、なんてエラーが出てるのかも書いた方がいいよ。
379 名前:名称未設定 mailto:sage [2009/01/29(木) 17:06:19 ID:R6pNhmv80] >378さん レスありがとうございます。1&2のアドバイスで無事できまして、ホッ としました! foler はとてもはずかしいかったです。質問する前にもっと確認してからにいたします。 次回質問する際はエラーメッセージも書くようにします。
380 名前:名称未設定 mailto:sage [2009/01/29(木) 21:41:26 ID:Tzux3mwy0] おいおい,うまく動かない以前にコンパイルを通らないだろう。
381 名前:名称未設定 mailto:sage [2009/01/30(金) 00:32:43 ID:EwmQPhjH0] 多分いきなり全文書いて実行したかなんかで、 コンパイルエラーと実行時エラーの区別もまだ付いてなかったんだろうね 初心者にはありがち
382 名前:名称未設定 mailto:sage [2009/02/03(火) 03:15:17 ID:bokIOKSF0] tell application "Safari"で ブックマーク画面(すべてのブックマークを表示)を出したいのですが、どうすればよいのでしょうか? BookmarksMenu??すいません。ご教示願います。
383 名前:名称未設定 mailto:sage [2009/02/03(火) 03:33:29 ID:VSUkA48gP] >>382 ブックマーク画面へのパスが分からないと言う事ですよね? URLを開く構文のURLを "bookmarks://" に指定すれば開けます。
384 名前:382 mailto:sage [2009/02/03(火) 03:40:12 ID:bokIOKSF0] >>383 早速ありがとうございましたヽ( ^∀^)ノ
385 名前:名称未設定 [2009/02/03(火) 17:17:14 ID:yaURClTN0] Indesign csのスクリプトで、 text frameのテキストの配置を変更する方法は無いのでしょうか? text frame preferencesのvertical justificationだと思ったのですが、 text frame preferencesはR/Oになっています。
386 名前:名称未設定 mailto:sage [2009/02/03(火) 23:59:20 ID:wReeK7/00] >>385 自分はCS3しか持ってないけど 行毎にjustificationは変えられるから tell paragraph 1 of text frame 1 of document 1 set justification to right align end tell paragraph 1をparagraphsにすれば全行とか CSと違ってたらゴメン
387 名前:名称未設定 [2009/02/04(水) 09:19:55 ID:yUkH0xLC0] >386 すみません。行揃えではなく、ボックス内での配置です。 テキストフレームオプションのテキストの配置の設定です。
388 名前:名称未設定 mailto:sage [2009/02/04(水) 13:48:51 ID:7mf3xcML0] iTunesとiPhoneの同期ができるようにapple scriptで打ち込んだはいいのですが、 これをキーボードのF19キーにキーボードショートカットで割り当てたいのですが、うまく実行出来ません。 スクリプト自体は打ち込み時に実行して同期が確認出来ましたので、問題はないと思われます。 保存場所と保存形式を確認の意味を込めて教えていただけないでしょうか?
389 名前:名称未設定 mailto:sage [2009/02/04(水) 16:18:00 ID:tDz4s+YN0] >>387 これですか tell application "Adobe InDesign CS3" set vertical justification of text frame preferences of every text frame of document 1 to center align end tell
390 名前:名称未設定 [2009/02/04(水) 16:38:07 ID:yUkH0xLC0] >389 おお、これです。 ありがとうございます。CSでもできました。
391 名前:名称未設定 [2009/02/05(木) 00:00:42 ID:DUIXmIrt0] どのようなキーが含まれているかわからないレコードの、キーの一覧を取得することって出来ますか? myRecord as listで、リスト化すれば、中身の一覧は取得できるのですが、キーの一覧を取得する方法があれば知りたいです。
392 名前:名称未設定 mailto:sage [2009/02/05(木) 04:03:46 ID:2fUT2Rv90] 377です。 サブルーチンの作り方を教えてもらいたく、またきました。 実行すると、「Can't continue GetFileName.」と表示されます。 on open drop_items tell application "Finder" repeat with obj in drop_items set x to obj as string GetFileName(x) set fileName to result end repeat end tell end open on GetFileName(x) set npassName to count characters of x set i to npassName repeat until i < 1 if character i of x = ":" then exit repeat set i to i - 1 end repeat set A to text from character (i + 1) to npassName of x return A end GetFileName アドバイス、よろしくお願いします。
393 名前:名称未設定 mailto:sage [2009/02/05(木) 06:57:48 ID:rms0EaSc0] my GetFileName(x) で呼べばええんでないの? 1994年の「AppleScript入門」とやらにも書いてありそうだけど。
394 名前:名称未設定 mailto:sage [2009/02/05(木) 10:12:42 ID:4dIjcn6u0] Acrobat 7 pro の「文書を比較」を自動化したいと思ってます。 修正前後のPDFを渡して、比較結果をプリントさせたいのですが、 それにはAcrobat SDKが必要なのですか? ためしに、ダウンロードしてみましたが英文資料で、困ってます。
395 名前:名称未設定 mailto:sage [2009/02/05(木) 10:20:00 ID:o6VZ5fgvP] >>391 これでできないかなぁ? >List & Record Tools Scripting Addition ttp://www.latenightsw.com/freeware/RecordTools/index.html
396 名前:名称未設定 mailto:sage [2009/02/05(木) 12:02:14 ID:+6eAoqeZ0] >>395 ありがとうございますm(_ _)m 出来ました!
397 名前:名称未設定 mailto:sage [2009/02/05(木) 21:22:51 ID:r3g1DmqO0] >>394 機械翻訳サイト使え
398 名前:名称未設定 mailto:sage [2009/02/05(木) 23:20:25 ID:sVZqjkor0] 以前にこのスレで質問した事がある者です 最近使った項目を消去するスクリプト 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 これを起動項目に入れて使ってるのですが 毎回「NSReceiverEvaluationScriptError:4」が出るようになりました 起動項目に入れずに、起動後に実行するとエラーも出ず問題なく動作します これはどういった原因が考えられるのでしょうか? OSは10.4.11です
399 名前:名称未設定 mailto:sage [2009/02/06(金) 00:13:32 ID:j9l05J/20] ググった方が早そうだけど。 ttp://macosx.com/forums/software-programming-web-scripting/265285-applescript-error-nsreceiverevaluationscripterror-4-a.html The fix is to turn off Fruit Menu's "Use application icon" option. とか ttp://mtlab.ecn.fpu.ac.jp/WSM_2005/050608132452.html ちゃんと階層を追わないと、NSReceiverEvaluationScriptError: 4になります。 とか
400 名前:名称未設定 mailto:sage [2009/02/06(金) 00:30:40 ID:GHgYEa9y0] >>392 同じくAppleScriptを勉強している者として別件のレス。 そのソースだとファイルのフリをしたフォルダをドロップした時に エラーが起きたり,パスのまま表示されたりするから注意が必要。
401 名前:名称未設定 mailto:sage [2009/02/06(金) 01:02:36 ID:TwTQSaTB0] >>398 click menu item "メニューを消去" of menu "最近使った項目" of menu item "最近使った項目" of menu "Apple" of menu bar item "Apple" of menu bar 1 of process "Finder" にしてみたらどうかねえ?
402 名前:名称未設定 mailto:sage [2009/02/06(金) 01:20:38 ID:HZTbiaVw0] 377&392です。 >393 どうもありがとうございます。my をつけただけでうまくいきました。 >1994年の「AppleScript入門」とやらにも書いてありそうだけど。 書いてないんです。 僕がつけたサブルーチンの名称がいけないのかな...
403 名前:名称未設定 mailto:sage [2009/02/06(金) 01:27:10 ID:DBYu8CLZ0] >>402 tell ナントカ 〜 end ナントカ の間に書かれたメッセージはナントカに送られるのがデフォルトなので、 それ以外のもの(この場合、自分で書いたハンドラ)に送るときには そのことを明示しないといけない。 そして、「自分で書いた」を簡単にあらわすのが my。 もしtell〜endの中じゃないところだったらmyがなくてもかまわない。 (その場合のデフォルトが自分自身になるので) でもmyをつけても問題はない。 というわけで、とりあえずは、「自分で書いたハンドラを呼び出すときには myをつける」って習慣を付けるんでいいと思います。
404 名前:名称未設定 mailto:sage [2009/02/06(金) 01:49:40 ID:6Ud4QbMP0] >>398 おかしいと思ったら遡るクセを付けよう 良く見ればエラーが click menu item "メニューを消去" of menu "最近使った項目" of menu item "最近使った項目" of menu "Apple" of menu bar 1 of process "Finder" ここで発生している事がわかる筈だ 後は文を少しずつ短くしていくか、 menu item "メニューを消去" of menu "最近使った項目" of menu item "最近使った項目" of menu "Apple" of menu bar 1 of process "Finder" ↓ menu "最近使った項目" of menu item "最近使った項目" of menu "Apple" of menu bar 1 of process "Finder" ↓ menu item "最近使った項目" of menu "Apple" of menu bar 1 of process "Finder" 或いは逆に長くしていく process "Finder" ↓ menu bar 1 of process "Finder" ↓ menu "Apple" of menu bar 1 of process "Finder" この場合、「menu bar 1 of process "Finder" 」ではエラーにならず、 「menu "Apple" of menu bar 1 of process "Finder" 」でエラーになる事がわかる つまり「menu "Apple"」が間違い じゃあ実際そこに何があるのかを調べるにはこう書く UI elements of menu bar 1 of process "Finder" すると「menu bar item "Apple"」がある事が見えてくる 後はこの繰り返しで>>401 の答えに自力で辿り着けるだろう
405 名前:名称未設定 mailto:sage [2009/02/06(金) 01:53:10 ID:6Ud4QbMP0] >>404 補足 ただしこれはSystem Eventsに限った話という事で、 全部前後に↓が付く tell applicaiton "System Events" 〜 end tell
406 名前:名称未設定 mailto:sage [2009/02/06(金) 23:41:20 ID:rXCQ6Lpp0] 398です 問題なく動作するようになりました 階層の記述を勉強しなおしてみます ありがとうございました もう一つ教えて欲しいのですが ログイン項目に入れると不具合のあった当初のスクリプトでも 起動後に動かすと問題無く動作するというのは どういう理由なんでしょうか? 今後も起動時に動作させたいモノがあった場合の参考にしたいもので
407 名前:名称未設定 mailto:sage [2009/02/06(金) 23:46:14 ID:I+mf8i9v0] >>406 ひとまずそのスクリプトを公開
408 名前:名称未設定 mailto:sage [2009/02/07(土) 00:01:26 ID:dxI01BKb0] >>407 当該のスクリプトは>>398 のになります スクリプト自体がエラーなものなら、どの状況でもにエラーになるのでは?と思えてしまいまして もしかしたら自分の固有の環境によるものなのかもしれないのですが
409 名前:名称未設定 mailto:sage [2009/02/07(土) 00:07:13 ID:S/nzdlk80] 考えられるのはログイン時にそのスクリプトが実行される順序の問題かなあ.. 該当スクリプトをアプリケーション化してこれ↓で時間差で起動させてみるといいかも。 d.hatena.ne.jp/tanemori/20081208/DelayedLauncher
410 名前:名称未設定 [2009/02/07(土) 19:49:54 ID:t6UihYDj0] ルールでスクリプトを起動するとMail.appが落ちるのですが,同じ症状の人いますか?自分のとこの固有の問題だろうか? 10.5.6 Intel Core 2 Duo、Mail.app 3.5(930.3)です。 以下のスクリプトです。 using terms from application "Mail" on perform mail action with messages messageList tell application "Mail" display dialog "Hello" end tell end perform mail action with messages end using terms from 単に tell application "Mail" display dialog "Hello" end tell では問題ないです。
411 名前:名称未設定 mailto:sage [2009/02/07(土) 22:29:26 ID:3ZCqlF3E0] スクリプト作成初学者です。 Applescriptをアプリ形式、自動終了しない形で保存して常駐させてます。 この場合、実行するとドックに表示されたり、アプリケーションの切り替え(⌘+tab)時に 表示されたりする訳ですが、これを表示させない様にするには どうすれば良いでしょうか? またこのスクリプトの実行時に毎回、スクリプトを実行するか(Run or Quit) どうか聞いてくるのですが、これを表示させないようにすることは 出来ませんでしょうか? ご返答お待ちしてます。
412 名前:名称未設定 mailto:sage [2009/02/07(土) 23:45:29 ID:dxI01BKb0] >>409 398です これを使って例のスクリプトを数秒遅らせて立ち上げるとエラーは出ないです ログイン項目同士での相性ってのがあるのかもしれないですね
413 名前:名称未設定 mailto:sage [2009/02/08(日) 00:08:41 ID:rX16vSuh0] >>411 > これを表示させない様にするには 俺はこういうユーティリティソフト使っちゃう homepage.mac.com/fahrenba/programs/dockless/dockless.html > スクリプトの実行時に毎回 保存するときの「初期画面を表示しない」にチェックが入ってない、か 「初期画面を表示する」にチェックが入ってる、かな?(どっちか忘れた) >>412 それか立ち上がった直後ってGUI Scriptingを受け付ける態勢がまだ できてなかったりするのかも
414 名前:名称未設定 mailto:sage [2009/02/08(日) 02:16:21 ID:rWeForWa0] >>411 アプリケーションバンドル内のContentsフォルダ内のInfo.plistファイルに NSUIElementという項目を作ってやって値を1にするとDockに表示されなくなる。 これはほとんどのアプリケーションで有効だけど開発環境がJava、Qt、REALBasic、GTK+とかのXcode以外のアプリだと有効にならないことがある。 この作業を自動でやってくれるのが>>413 のリンク先みたいなソフト。
415 名前:411 mailto:sage [2009/02/08(日) 12:26:50 ID:n+VNWqmE0] >>413 >>414 有り難うございます。早速チャレンジしてみます。
416 名前:名称未設定 mailto:sage [2009/02/09(月) 01:09:57 ID:4WZjUu4n0] 横からだけどサンクス。>>413 のソフト知らなかったので。
417 名前:名称未設定 mailto:sage [2009/02/09(月) 01:30:42 ID:7yoNQIj20] >>412 System Eventsにもactivate入れてみてもダメかな?
418 名前:名称未設定 mailto:sage [2009/02/09(月) 10:00:15 ID:uyw/qjjy0] こんにちは。 新・macではないのですが、ご存じでしたらお願いします。 OS9.2.2でスクリプト編集プログラムを動かせないのと、OSX10.4.1で作成したスクリプトを実行することができません。 AppleScriptが動作できていないような感じです。 AppleScriptを動作させるには、機能拡張などで必要なものが何か教えてもらえますでしょうか? ちなみにこちらにあるのは、 スクリプト編集プログラム(J1-1.8.3) AppleScriptLib(1.1) CarbonLib(1.6.1) AppleScript(J1-1.8.3) です。 他にたりないもの、この組み合わせではダメなどありましたら、アドバイスお願いします。
419 名前:名称未設定 mailto:sage [2009/02/09(月) 15:01:31 ID:XPR85N1q0] >>418 OS再インストールした方が手っ取り早いし確実
420 名前:名称未設定 mailto:sage [2009/02/09(月) 22:05:29 ID:PajgxNGs0] 標準状態で使えるはずのものが使えない状況を想像することの方が難しい。 適当にシステムの中をいじって壊しちゃったんだな。
421 名前:名称未設定 mailto:sage [2009/02/09(月) 22:23:21 ID:vuYP+bSc0] >>418 OSの再インストールだよ。
422 名前:名称未設定 mailto:sage [2009/02/09(月) 22:50:48 ID:SHKnVhck0] 1つのスクリプトを9.2.2でも10.4.1でも動かすのは、いろいろ気をつければできるかもね。 半角英数しか使わないとか。
423 名前:名称未設定 mailto:sage [2009/02/10(火) 00:21:46 ID:MfkdZSVw0] 418です。 みなさん、レスありがと。 手っ取り早いのは再インストールですね。 9.1のインストーラ&9.2.1アップローダを用意して出社したのですが、9.2のマシンではインストーラを受け付けてもらえませんでした。は〜 仕事柄、フォントやらなんやらとレガシーな環境にどっぷり浸かってて、簡単には再インストールできないんで、残念無念です。
424 名前:名称未設定 mailto:sage [2009/02/10(火) 00:45:12 ID:lbO1HTXc0] >>422 両方で動くスクリプトは作れるけど,半角英数はどっちも筋違い。 文字に制限はない。それよりもFinderの仕組みが全然違うとか,他に気を使うところがたくさんある。
425 名前:名称未設定 mailto:sage [2009/02/10(火) 01:10:57 ID:MBLFe4sO0] >>423 去年の今頃までこのスレで一人OS9でAppleScriptの作成やってましたので, 懐かしくもあり他人事とは思えません。とりあえずAppleScript関連の初期設定 ファイルを捨てて再起動してみてはどうでしょうか。 バージョン1.8.3のものと,そのCarbonLibはOSXのClassic環境からもってきた ものですよね。うちもそれで動かしてましたので,問題はないと思います。 AppleScriptLib(1.1)は,あってもなくてもどちらでもいいみたいですよ。 インストーラを受け付けてもらえないとのことですが,AppleScript関連の 機能拡張ファイルが欲しいのであれば,Tome Viewerを使えばそれだけを 抜き出せます。
426 名前:名称未設定 mailto:sage [2009/02/10(火) 09:26:51 ID:dwaMcUh70] 418、423です。 おはようございます。 >425さん。 今日、試してみます。ありがとう。m(_ _)m
427 名前:名称未設定 mailto:sage [2009/02/11(水) 10:46:10 ID:/8iL043f0] べんきょうになりますた。 >ttp://d.hatena.ne.jp/zariganitosh/20090210/1234233639
428 名前:名称未設定 mailto:sage [2009/02/12(木) 02:18:08 ID:XfGneg7Z0] >>427 勉強になった。紹介してくれてありがとう。またじっくり読んでみる。
429 名前:名称未設定 mailto:sage [2009/02/13(金) 17:51:35 ID:X6PEsdkV0] 知っている人多いと思うが、面白いプログラム紹介 www.apple.com/jp/downloads/macosx/imaging_3d/cocoapotrace.html ラスタ画像をベクタ画像に変換するソフト UIがAppleScriptで作られてるので、ここにいる人たちなら簡単に・・・でもないが 改良できる。XCodeでのAppleScriptアプリの作り方もよく分かる。
430 名前:名称未設定 mailto:sage [2009/02/13(金) 19:27:02 ID:Zw0texJL0] >>427 HyperCard思い出すなあw
431 名前:名称未設定 mailto:sage [2009/02/14(土) 00:18:32 ID:YcJ/wip30] AppleScript Studioって、GUI アイテムのプロパティとかコマンドがXcodeの 辞書に書いてあるということを知れば世界が広がるよね。俺が知らなかっただ けか…
432 名前:名称未設定 mailto:sage [2009/02/14(土) 01:08:35 ID:z8F0C/ZG0] 俺も最初は AS Studio で世界が広がると思ったけど、 オリジナルの AS との細かい違いで長時間ハマッたり Studio が必要なほど複雑なプログラムなら Cocoa の方が早いことに気づき…
433 名前:名称未設定 mailto:sage [2009/02/14(土) 01:34:55 ID:YMQD1jCs0] というか日本でStudioいじってるのってぴよまるさんぐらいじゃないの?
434 名前:名称未設定 mailto:sage [2009/02/14(土) 01:43:10 ID:r07wwjNu0] 単なるInterfaceBuilderだと思えば悪くない。
435 名前:名称未設定 mailto:sage [2009/02/14(土) 13:12:05 ID:Eibf3qrk0] ASSとASの比較一覧ってどこかにある?
436 名前:名称未設定 mailto:sage [2009/02/14(土) 16:13:47 ID:EkMgjDr40] 尻スペシャルと尻
437 名前:名称未設定 mailto:sage [2009/02/14(土) 17:05:13 ID:mgRJ7TE10] ASS使うとしても,AS純正の用語しか使うつもりはないなあ。 ASSにはまると使い回しがきかなさそうで。
438 名前:名称未設定 mailto:sage [2009/02/14(土) 17:06:54 ID:YcJ/wip30] >>437 そんなこと言ってたら何もできない気がする
439 名前:名称未設定 mailto:sage [2009/02/14(土) 17:41:16 ID:hBlfVeum0] >>431 ASSでソフト作ってるけど知らなかった。 これは役に立ちそうだ。 あと、 using terms from application "Xcode" end で囲むと手元のASSのスクリプトがスクリプトエディタでコンパイルできた。
440 名前:名称未設定 mailto:sage [2009/02/14(土) 19:21:52 ID:yQ8ACLxwP] おまいら下品ですね。 あ、いや、そう言ってみたかっただけです。
441 名前:名称未設定 mailto:sage [2009/02/14(土) 22:12:54 ID:mgRJ7TE10] >439 で,それは実行できるの?
442 名前:名称未設定 mailto:sage [2009/02/14(土) 22:38:24 ID:71kHicmX0] >>441 実行できましたがASSアプリのスクリプトだから何も起きません。 今G4で2500行ぐらいのスクリプトを編集してるのですが Xcodeだとめちゃくちゃ重い時があるので スクリプトエディタで編集できればいいかなと 思ったのですがXcodeのウインドウ分割のメリットの方が 大きい気がして今のところ利用してません。 ちなみに試しに同じスクリプトのコンパイル時間を計ってみたら Xcodeが18秒、スクリプトエディタが8秒でした。
443 名前:名称未設定 mailto:sage [2009/02/15(日) 11:31:58 ID:X5oFpKDQ0] インターフェイスがダイアログディレクター並みになってくれれば それだけでいいんだがなあ。
444 名前:名称未設定 mailto:sage [2009/02/15(日) 23:53:04 ID:7AKlIZrQ0] インターフェイスはHyperCard並みになってくれなきゃやだ
445 名前:名称未設定 [2009/02/17(火) 12:53:35 ID:7/l5dUgl0] pdfファイルをデフォルトでないプリンタを選択してプリントアウトしたいのですが,propertiesの設定の仕方がわかりません。 tell application "Finder" print "sample.pdf" as POSIX file with properties {target:"INKJET@imac" }-- <-デフォルトでないプリンタ end tell 上の場合,デフォルトのプリンタで出力されてしまいます。プレビュー.appがうまく、プリンタを選択できてないようなのです。 print "sample.pdf" as POSIX file with properties {target printer:"INKJET@imac" } とすると(System Eventsにtell?)とすると 『書類"sample.pdf"をプリントのために開くことができませんでした。"スクリプトエディタ"はプレビュー.app Document フォーマットでファイルを開くことができません。』というダイアログが出て無限ループに入ってしまいます。 プリンタの選択方法を教えてください。
446 名前:名称未設定 mailto:sage [2009/02/17(火) 12:53:46 ID:fbjg39Wf0] 詳しい事忘れたけどXcodeだとコンパイル完了出来ない部分を スクリプトエディタで保存してファイル入れ替えみたいな事とかやってたな
447 名前:名称未設定 mailto:sage [2009/02/17(火) 14:02:56 ID:Zh80Ur/x0] 大量の配列を、NSTableViewに表示させようとして、 今、data sourceに一つずつループで追加してるんですが、 すごい遅いんです。 call methodあたり使って、一括でドンと追加できたりしないでしょうか。
448 名前:名称未設定 mailto:sage [2009/02/17(火) 14:05:27 ID:UG64q1lP0] Safariでウインドウが一つも開いていないときに何でもいいので ウインドウをアップルスクリプトで開く方法を教えてください。 どうやっても『&1を取り出すことはできません。』とエラーポップアップが出てしまい、 うまくいきません。 ご教示お願いいたします。
449 名前:名称未設定 mailto:sage [2009/02/17(火) 15:02:55 ID:30E1YDdG0] >>448 make new document でどうぞ
450 名前:名称未設定 mailto:sage [2009/02/17(火) 20:37:08 ID:BsjqPHB20] >>447 もうやってるかもしれないけど appendするデータはレコードのリストでも大丈夫だから リストでまとめて渡してappend実行を一回にしたらちょっとはましになると思う
451 名前:名称未設定 mailto:sage [2009/02/18(水) 06:58:36 ID:/i+Sn36e0] GraphicConverter で、PDFをJPEGに変換するスクリプトを教えてもらえますか? 作りたいのは、Aフォルダに入ったPDFを、自動的にJPEGに変換し、Bフォルダに入れたいのです。 選択したPDFを開くスクリプトはできました。 ↓それをデスクトップのBフォルダにJPEGで保存させようと作ったスクリプトです。 tell application "GraphicConverter" tell window 1 set JPEG quality to 30 set JPEG progressive to true save in "アカウント〜:Desktop:B:" as JPEG end tell end tell これを実行すると、デスクトップに アカウント〜/Desktop/B というJPEGフォルダができます。 どうぞよろしくお願いします。
452 名前:名称未設定 mailto:sage [2009/02/18(水) 12:54:33 ID:G7YxrSTk0] "アカウント〜:Desktop:B:ファイル名付けて.jpg" は?
453 名前:448 mailto:sage [2009/02/18(水) 19:16:34 ID:y/5nPWtg0] >>449 早速ご教示ありがとうございました。大変感謝しております。 こういったSafariがらみのスクリプト集といいますか例文ってどこにあるんでしょうか? Appleのサイト上にはもう既にリンクが死んでしまっていてたどれないのですが…。
454 名前:448 mailto:sage [2009/02/18(水) 19:33:29 ID:y/5nPWtg0] 追加ですいません。 現在Quicksilverと組み合わせて使いやすいマック環境を構築しようと努力をしている日々です。 ここ数日ググりつつがんばっている物の、知識が追い付かず苦戦しております。 目標としている物は、クリップボードにコピーしてある英単語を、 eow.alc.co.jp/ ◎/UTF-8/ ◎のところに挿入してSafariで開くと言う物です。 皆様どうかご教示お願いいたします。
455 名前:名称未設定 mailto:sage [2009/02/18(水) 19:54:15 ID:jLH41gIx0] >>454 ブラウザで開くだけならopen locationが楽 ○のところに入れるのは○の前後に文字を足すと楽 open location "eow.alc.co.jp/ " & (the clipboard) & "/UTF-8/"
456 名前:名称未設定 mailto:sage [2009/02/18(水) 21:18:09 ID:ixisb50p0] >451 何故ぐらこん? QuickTime Playerとかのシステム標準のツールを使った方が汎用性が広くないかい?
457 名前:名称未設定 mailto:sage [2009/02/19(木) 01:53:10 ID:FYxtePeS0] 遅いレスですまんが、 >>410 Mail は on perform mail action 以下で display dialog をすると フリーズするみたい。 なんらかのメッセージを出すなら、ファイル経由で出すしかないようだ。
458 名前:名称未設定 mailto:sage [2009/02/19(木) 02:11:37 ID:FYxtePeS0] >>454 簡潔なのは >>455 だが、Safari 指定でなんらかのURLを開こうとすると 下記のようになる。 document 1 というような形でブラウザウインドウの指定が必須なので、 ウインドウが開いてなければエラーとなるので要注意。 ちなみに Safari での document 1 とは、最前面のブラウザウインドウを指す。 tell application "Safari" set URL of document 1 to "www.google.com/ " end tell おまけで Firefox だと下記。Firefox の場合はウインドウ指定は任意。 tell application "Firefox" OpenURL "www.google.com/ " end tell AppleScript は「指定した URL を開く」という同じ処理でも、 アプリケーションごとに指定方法が異なるから注意。 処理によってはアプリケーションが AppleScript に対応していないことも。
459 名前:名称未設定 mailto:sage [2009/02/19(木) 02:13:11 ID:dxd9g2MY0] FirefoxってASから叩けたんだ... 3.xからかな? AS周りはCaminoの方が充実してそうだが。
460 名前:名称未設定 mailto:sage [2009/02/19(木) 02:28:22 ID:XN/6YGiP0] 標準のGetURLイベント使えばどのブラウザでも動くはず。 tell application "なんでも" <<event GURLGURL>> "www.google.com/ " end tell
461 名前:名称未設定 mailto:sage [2009/02/19(木) 03:10:35 ID:FYxtePeS0] >>460 イベントがあったね、忘れてた。 そしてスクリプトエディタでイベントの直記述してみて、 >>458 をもっと楽に書けることに気づいた…。 実行の度にウインドウがパカパカ開いちゃうのがあんまよくないけど。 【コンパイル前】 tell application "Safari" ヌevent GURLGURLネ "www.google.com " end tell 【コンパイル後】 tell application "Safari" open location "www.google.com " end tell コンパイルすると変換されちゃうのが残念。 でもどうやら、「ヌevent GURLGURLネ」と「open location」は同じ処理みたいね。 ちなみにイベントの記述について、>>460 さんは表示上あえて << >> と 半角大なりと小なりの 2 回で書いているけど、 スクリプトエディタ上は、ヌ と ネ で記述する必要がある。(フォントが Osaka の場合) ↑半角カナの「ぬ」と「ね」です。
462 名前:名称未設定 mailto:sage [2009/02/19(木) 03:43:42 ID:PVkmz0MG0] 451です。 レスありがとう。 >452 やってみましたが、 GraphicConverter でエラーが起きました:フォルダ 不特定のオブジェクト が見つかりませんでした。 というAppleScriptエラーになりました。 >456 PDFをCMYKモードを維持したままJPEGにできればなんでもOKです。 スクリプタブルなもので検索してひっかかったのです。 QuickTime Playerはプロ版をもってないので保存できず、 プレビューがいい感じなのですが、スクリプタブルにする改造?ができてません。 何かいい手はないでしょうか?
463 名前:452 mailto:sage [2009/02/19(木) 08:55:45 ID:KUTxFZfc0] ありゃま。5.9.5で出来たんだけど。バージョン違うとまた違うのかな。 AutomatorアクションにはRender PDF Pages as Imagesて良さげなものもあった。10.4
464 名前:名称未設定 mailto:sage [2009/02/19(木) 12:22:46 ID:pWbBVdn90] >>451 tell application "Image Events" launch set hoge to open file pdfFile save hoge in jpgFile as JPEG end tell 面白そうだし書いてみたが長くなったからキモの部分だけを imegeEventsのコマンドに関しては用語説明読むべし。set と save の間に挟むだけ。
465 名前:464 mailto:sage [2009/02/19(木) 15:35:58 ID:pWbBVdn90] あー.......CMYK維持したまま? ごめんわからん。JPEGにもCMYKあるってのも知らんかった。 ImageEvents だとどーなってるんだろ?ま、ほぼ確実にRGBになってるとおもう。
466 名前:名称未設定 mailto:sage [2009/02/19(木) 16:02:36 ID:XE9/4O7Y0] SafariでURLを開く方法いろいろ(10.4.11 Safari 3.2.1) --新しいURLを指定したドキュメントウィンドウで開く --(ex.ドキュメント 1 のカレントタブに) tell application "Safari" set URL of document 1 to "www.google.com/ " end tell --新しいURLを指定したウィンドウの指定したタブで開く --(ex.フロントウィンドウの一番左のタブ に) tell application "Safari" set URL of tab 1 of front window to "www.google.com/ " end tell --open を使う --Safariの環境設定に従って、新規ドキュメントかカレントウィンドウの新規タブで開く tell application "Safari" open location "www.google.com " end tell --常に新規ウィンドウで開く tell application "Safari" make new document with properties {URL:"www.google.com "} end tell --常に新規タブで開く --(ex.フロントウィンドウに新規タブで) tell front window of application "Safari" make new tab with properties {URL:"www.google.com "} end tell こんな感じかな? 上でフロントウィンドウを指定してるものは、最前面が "ダウンロード"ウィンドウだったりするとエラーになるので注意。 除外するのが面倒なんだよな
467 名前:名称未設定 mailto:sage [2009/02/19(木) 21:28:11 ID:bfwXC6dw0] QuickTime PlayerはAppleScriptから使うとそのままPro版と同じ機能だと思ったけどー
468 名前:名称未設定 mailto:sage [2009/02/20(金) 01:43:29 ID:KD7wz1li0] >>451 >>452 フォルダ 不特定のオブジェクト〜じゃなくて,ファイル 不特定のオブジェクト〜なら, パスの区切りを : から / に変更するだけでいいようです。Ver.6.4のグラコンで確認。
469 名前:名称未設定 mailto:sage [2009/02/21(土) 15:32:38 ID:k0Jn4bRS0] 「ことえり単語登録」で直接登録できない品詞は テキストから読み込めば登録できるわけだが、 それをしやすくするためのスクリプトを書いたみた。 行数が多いんで何回かにわけて書き込みます。
470 名前:469 mailto:sage [2009/02/21(土) 15:33:39 ID:k0Jn4bRS0] tell application "WordRegister" to launch display dialog "でんき,電気,普通名詞 たかさ,高さ,普通名詞 ゆだ,ユダ,人名 たなか,田中,姓 いちろう,一郎,名 むらさきしきぶ,紫式部,その他の人名 かりふぉるにあ,カリフォルニア単純地名 いりのいしゅう,イリノイ州,接尾語付き地名 あっぷる,アップル,組織名 ふぁいんだー,Finder,その他の固有名詞 べんきょう,勉強,サ変名詞 じゆう,自由,形動名詞 わが,我が,連体詞 たいした,たいした,連体詞 がたがた,ガタガタ,副詞 がたがたと,ガタガタと,副詞 しかし,しかし,接続詞 まあ,まあ,感動詞 さす,指す,五段動詞 とぶ,飛ぶ,五段動詞 みる,見る,一段動詞 うける,受ける,一段動詞 さっする,察する,サ変動詞 あんずる,案ずる,ザ変動詞
471 名前:470の続き mailto:sage [2009/02/21(土) 15:34:38 ID:k0Jn4bRS0] うつくしい,美しい,形容詞 しずか,静か,形容動詞 へいせい,平成,数字列接頭語 さま,さま,人名接尾語 ぐん,郡,地名接尾語 おんちゅう,御中,組織名接尾語 えん,円,数字列接尾語 きをみてもりをみず,木を見て森を見ず,成句 おんぷ,♪,無品詞 こんま,¥",¥",無品詞 だぶるくぉーと,¥"¥"¥"¥",無品詞 スペース,” “,無品詞" default answer ",," set theWords to text returned of result
472 名前:471の続き mailto:sage [2009/02/21(土) 15:35:27 ID:k0Jn4bRS0] do shell script "ruby -rnkf -e 'print NKF.nkf(¥"-w16B -xm0¥", $*[0])' " & quoted form of theWords & " > ~/Desktop/j_i_s_h_o_t_o_r_o_k_u.txt" tell application "WordRegister" to activate tell application "System Events" tell process "ことえり単語登録" click menu item "テキストや辞書から取り込む..." of menu "辞書" of menu bar 1 end tell delay 0.1 keystroke "d" using command down delay 0.1 keystroke "j_i_s_h_o_t_o_r_o_k_u.txt" delay 0.1 keystroke return end tell
473 名前:名称未設定 mailto:sage [2009/02/21(土) 15:44:20 ID:k0Jn4bRS0] あ、以上です。
474 名前:名称未設定 mailto:sage [2009/02/21(土) 16:20:08 ID:Pn8FTPOT0] 評価環境、使用法くらい書けばいいのに
475 名前:名称未設定 mailto:sage [2009/02/21(土) 16:27:44 ID:4G3ITV8D0] 使用方法はスクリプトエディタで実行以外に何があるんだ? あとことえりはTigerとLeopardでほとんど変わってない気がするから基本どちらでも行けそう。 でも一つだけ質問。 display dialog~以下の各品詞ごとの羅列の部分を実際に登録したい単語列に入れ替えるの? このスクリプトだとその情報を抽出してRubyでテキストファイルをユーザーのデスクトップに作成しそのファイルをベースに辞書登録を行うようにしか見えないが....
476 名前:名称未設定 mailto:sage [2009/02/21(土) 17:14:43 ID:k0Jn4bRS0] ごめんね ムービーを書き出す片手間に書いてたもんだから使い方書くの忘れてた。 display dialog 以下のずらずらっと書いてあるのは記入例です。 ダイアログにこの記入例が出るので、それを参考にして下の入力欄に 読み,登録したい単語,品詞 の順に書き込んで OKを押してください。 「ぐぐる,ググる,五段動詞」みたいな感じで。 Rubyは生成するテキストファイルのコードを (念のため)UTF-16にするのに使ってるだけです。 ASだけでも同じことはできるんだろうけど ファイルアクセス使うのが何か面倒で…。 ちなみにうちの環境はLeopardね。 俺はスクリプトメニューに入れて使ってるけど もちろんアプリケーションとして使ってもOK。
477 名前:名称未設定 mailto:sage [2009/02/21(土) 17:32:12 ID:4G3ITV8D0] もしかしてスクリプトの中の¥は¥だったりする? やたらとエラーが出ると思ったらそのせいか。
478 名前:名称未設定 mailto:sage [2009/02/21(土) 17:32:47 ID:4G3ITV8D0] 訂正 もしかしてスクリプトの中の¥はバックスラッシュだったりする?
479 名前:名称未設定 mailto:sage [2009/02/21(土) 17:43:34 ID:4G3ITV8D0] どうやっても こんま,",¥",無品詞 だぶるくぉーと,¥"¥"¥"¥",無品詞 の部分でコンパイルエラーになるんだが...
480 名前:名称未設定 mailto:sage [2009/02/21(土) 20:41:34 ID:47MMjVt00] 10.5.6で "/Library/Scripts/Folder Action Scripts/Image - Duplicate as PNG.scpt" を特定のフォルダにフォルダアクションとして設定しているんだけど 多数(10個以上程度)一度にフォルダに入れると途中で止まってし まいます。 特にエラーが起きている風もないんだけど、、、
481 名前:479 mailto:sage [2009/02/21(土) 20:56:17 ID:4G3ITV8D0] ひとまず こんま,",¥",無品詞 だぶるくぉーと,¥"¥"¥"¥",無品詞 の2行を削除して残りの¥をバックスラッシュになおしたら動いた。 あとdefault answerのあとの",,"の部分は", ,"の方が分かりやすいな。 私見だが。
482 名前:名称未設定 mailto:sage [2009/02/21(土) 20:58:31 ID:k0Jn4bRS0] >>478 いろいろ説明不足ですまん…… その通り。 ¥は半角バックスラッシュに直してね。
483 名前:名称未設定 mailto:sage [2009/02/21(土) 21:10:49 ID:k0Jn4bRS0] >>481 送信が一足遅かった… >あとdefault answerのあとの",,"の部分は", ,"の方が分かりやすいな。 そういやその部分の半角スペースは無視されるんだよね。 そのことを忘れないためにもその方がいいかも。。。 まあ細かいところはお好みで。 品詞ごとの例とかもね。 上のやつはことえりヘルプの中のをほぼそのまま使ってるけど、 あの部分に何を書こうと動作は変わらないから わかりやすいように直して使ってください。
484 名前:474 mailto:sage [2009/02/22(日) 11:42:50 ID:h259Mcwl0] 俺のレス否定したくせにごちゃごちゃ質問したり実行に手間取ったり 元スクリプトに意見したりすなボケ死ね って激しく思った
485 名前:名称未設定 mailto:sage [2009/02/22(日) 19:06:16 ID:PonWBSMG0] そうですか
486 名前:名称未設定 mailto:sage [2009/02/22(日) 19:29:43 ID:d37E2LC/0] そうですとも
487 名前:名称未設定 mailto:sage [2009/02/23(月) 04:54:46 ID:arfcVvPz0] iTunesに、iPhone/iPod touchのアプリケーションのアップデートを確認させるコマンドって用意されていませんでしょうか? ポッドキャストの更新なら、updateAllPodcasts でいけるのですが、アプリの場合がわからなかったもので。 よろしくお願いします。
488 名前:SideTrash mailto:sage [2009/02/24(火) 22:03:30 ID:39UR9TzU0] 日本が誇るおまいらの叡智で、Paolo Portaluri 氏の疑問を 解消してやることはできませんか。 work.to.it/software/sidetrash/index-en.html 重要:"SideTrash"にエイリアス(またはsoft-link)をドラッグすると、 Important: if you drop an alias or a soft-link onto SideTrash icon, エイリアスではなくオリジナルのファイルがゴミ箱に移動してしまいます。 the original file will be trashed and not the alias. この問題の解決策をご存知の方は教えてください。 If you know how to solve this issue, please contact me. "SideTrash"の本体は、以下のようなAppleScriptです。(続く)
489 名前:SideTrash mailto:sage [2009/02/24(火) 22:04:01 ID:39UR9TzU0] (続き) ---------------------------------------------- on open of fileList tell application "Finder" set volumeKind to kind of the startup disk repeat with oneFile in fileList if (kind of oneFile) as string is equal to volumeKind then eject oneFile else move oneFile to trash end if end repeat end tell end open on run tell application "Finder" activate try --- go to trash set target of Finder window 1 to trash on error error_message --- new window with trash open trash end try end tell end run ---------------------------------------------- --- Written by Paolo Portaluri
490 名前:名称未設定 mailto:sage [2009/02/24(火) 23:02:57 ID:qAaIgqFJ0] 画像のエリアスをプレビューにドロップしたら画像が開いてくれないと困るでしょ? そーゆーこと。 ぐぐれかすーって言っておいてあげて。 on open tell application "Finder" set fileList to selection set hoge to item 1 of fileList move hoge to trash end tell end open こんな感じでとったらどう? 何に使うのか理解してないけど、普通にrunハンドラの中に書いて、 コンテクストメニューに当てたほうが使いやすいんじゃないかな?
491 名前:名称未設定 mailto:sage [2009/02/24(火) 23:59:07 ID:Fnd+h1Hw0] >>490 selection使うと、 無条件に最前面ウインドウ内で選択中のオブジェクトが捨てられるので危険かもよ。
492 名前:名称未設定 mailto:sage [2009/02/25(水) 01:48:59 ID:/rpDFEA/0] >>488 ほう、こういう仕様になってたのか。 on open of fileList の時点で fileList にはオリジナルのファイルの方が 収められちゃってるんだね。 じゃあその後の部分でどうこうしても意味無いな。 Studioでドラッグ&ドロップに対応したアプリを 作ってみたことがあるんでそれで試してみたけど、 ウィンドウにドロップした場合はエイリアス自体が、 アプリケーションアイコンにドロップした場合は オリジナルのファイルが得られるようだ。
493 名前:名称未設定 mailto:sage [2009/02/25(水) 09:23:28 ID:jLfLEwug0] >>491 ドロップレットってことは選択してアプリに落とすんだよ?意図してやってるのに危険もなにも無いでしょ。 それこそゴミ箱の存在が危険になるよ。 昨日はオープンハンドラに脊椎反射してしまってカキコしたけど、今ソース読んでみた。 フィルタリングして特定ファイルを処理してるんかと思ったら。これってただのゴミ箱じゃん? なんでわざわざ書くんだろ?ゴミ箱使うかコマンドdeleteか右クリックすりゃよいのに。
494 名前:名称未設定 mailto:sage [2009/02/25(水) 09:41:07 ID:WBXil1uZ0] サイドバーやツールバーに置くゴミ箱。と言うことだね。 30intかデュアルモニタ、ワンボタンマウス、ショートカット嫌い。こういう人向でしょ。
495 名前:490 mailto:sage [2009/02/25(水) 09:58:43 ID:xHE/Cs8B0] >>491 あーーー、意味解った。こりゃヤバいね。どしよ? 仕事終わったらマジもっかい取り組む。
496 名前:名称未設定 [2009/02/26(木) 13:47:16 ID:/Pl7kI450] ドロップレットにしないでフォルダアクションにすればいいんじゃない on adding folder items to this_folder after receiving these_items tell application "Finder" repeat with aItem in these_items delete aItem end repeat end tell end adding folder items to
497 名前:名称未設定 mailto:sage [2009/02/26(木) 13:55:34 ID:/Pl7kI450] あー フォルダアクションだと >>489 はできないか
498 名前:名称未設定 mailto:sage [2009/02/26(木) 13:56:28 ID:8z5uiXZ30] いつも参考にさせてもらってます。 以下のコードをどうすれば動くのかアドバイスをお願いします。 やりたいことは、入力した文字列を含むフォルダを、検索して、その中のファイルをコピーする、です。 setのところですでに引っかかってしまってます。 tell application "Finder" activate display dialog "製番を入力してください" default answer "" set seiban to text returned of result --前回製番のフォルダがあるかどうかチェック set seibans to every item of folder "P-job" of folder "output" of disk "Genera" that (seiban as text) is in name display dialog (count seibans) repeat with obj in seibans set tgtFile to file "0001-Top.JTF" of folder folder -1 duplicate tgtFile to folder "HFRoot:Oce-2:" delay 5 end repeat end tell
499 名前:名称未設定 mailto:sage [2009/02/26(木) 18:05:58 ID:H0HZqmsc0] >>410 さんと似たような質問なのですが、Mail.appのルールに設定するスクリプトに関して質問です 特定のメールに関して自動返信したいのですが以下のスクリプトでは何の反応もありません using terms from application "Mail" on perform mail action with messages theMessages for rule theRule tell application "Mail" repeat with theMessage in theMessages set aReply to reply theMessage opening window yes save aReply end repeat end tell end perform mail action with messages end using terms from repeatの中をサンプルのAppleのウェブサイトを表示するやつに差し替えるとちゃんと表示されるのですが・・・ メールの中身に応じて返信の文章を加工したいのでMailの返信機能よりもスクリプトを使いたいと思ってます 対策というか正しい書き方がわかる方がいらっしゃいましたらご教示ください
500 名前:名称未設定 mailto:sage [2009/02/26(木) 21:45:43 ID:tf6yrkdf0] >>493 selectionは最前面のウィンドウでの選択項目を指しているけど、 Finderアイテムをドラッグする場合ってそのウィンドウが必ずしも最前面とは限らないんだよね >>491 の指摘はそういう意図かと という事を踏まえてドロップアイテムとFinderのselectionを無理矢理合わせる方法は思いついたんだが、 その方法では結局エイリアスファイルには対応できないので意味が無い… 全ウィンドウのselectionを回収してエイリアスファイルが無いか確認すれば可能かもしれないけど、 フォーカスがぐるぐる回るのはあんま実用的では無いよねぇ
501 名前:名称未設定 mailto:sage [2009/02/27(金) 02:31:09 ID:aglmUdik0] >>498 自分で解決する方法も憶えた方がいい エラーになったところより後ろは全部省いて、エラーになったところは更に分解する さてどこでエラーになるのかな disk "Genera" folder "output" of disk "Genera" folder "P-job" of folder "output" of disk "Genera" every item of folder "P-job" of folder "output" of disk "Genera" every item of folder "P-job" of folder "output" of disk "Genera" that (seiban as text) is in name set seibans to every item of folder "P-job" of folder "output" of disk "Genera" that (seiban as text) is in name
502 名前:名称未設定 mailto:sage [2009/02/27(金) 02:43:02 ID:aglmUdik0] てゆーかこっちか? > set tgtFile to file "0001-Top.JTF" of folder folder -1 folder folder -1 ってコンパイル通る?
503 名前:名称未設定 mailto:sage [2009/02/27(金) 03:35:32 ID:EFQWo3vf0] >>496 >repeat with aItem in these_items >delete aItem >end repeat ここは単に delete these_items でいいんじゃない? にしても面白い変数名の付け方するね。
504 名前:名称未設定 mailto:sage [2009/02/27(金) 10:07:34 ID:cnLaFbvz0] 498です。 >501、502さん、ありがとうございます。 分解して調べてみて、やっとスペルミスに気づきました。 ディスク名が間違ってました。はずかしい 入力した文字列を含むフォルダを検索することまではできました。 が、コピーする対象をセットできず奮闘中です。 >set tgtFile to file "0001-Top.JTF" of folder folder -1 ↑を、set tgtFile to file "0001-Top.JTF" of folder "folder -1 " に変えましたが、これではだめでした。 seibans の中のobj の中の、"folder -1"フォルダの中の、"0001-Top.JTF"ファイルをtgtFileにセットしたいのです。 set tgtFile to file "0001-Top.JTF" of folder "folder -001" of me としてみたら、 appication "Finder"をタイプ string に変換できません。 というエラーがでてしまいました。 ちなみにobj自身をgtFileにセットすることはでき、コピーすることはできてます。 なんかもう少しのような気がします。 アドバイスあれば引き続きお願いします。
505 名前:名称未設定 mailto:sage [2009/02/27(金) 10:11:22 ID:cnLaFbvz0] 498、504です。 エラーメッセージが違ってました。 file "0001-Top.JTF" of <<class cfol>> "folder-001"をタイプreferenceに変換できません。 でした。
506 名前:名称未設定 mailto:sage [2009/02/27(金) 10:20:24 ID:cnLaFbvz0] 498、504,505です。 実況みたいですいません。 set tgtFile to file "0001-Top.JTF" of folder "Folder-001" of obj で解決できました。 これだけで仕事がものすごく楽になります。 お世話になりました。
507 名前:488 mailto:sage [2009/02/28(土) 03:03:27 ID:CebBBIIC0] なんでデスクトップにゴミ箱を置きたいか、くだくだしい説明は 省くけど、もちろんくだらない理由であり、 必要度で言えばもちろん、かなり低い。ないならないで別にいい。 でもちょっと置いてみたくて、Homeの「.Trash」のエイリアスを作り、 「.」を取ってゴミ箱のアイコンを貼ってデスクトップ右下隅に置いてました。 それでまあまあ満足(そもそも必要度低いんだし)だが、 強いて言えば欠点がふたつある。 1:起動ボリューム以外にあるアイテムをドラッグするとコピーになる。 2:ボリュームのイジェクトには使えない。 「別ボリュームからは使わなきゃいい」んだし 「イジェクトには使わなきゃいい」んだけど、たまに、ついやっちゃう。 で、最近「SideTrash」を知りました。これには上記の欠点がない。 しかしエイリアスの扱いについてデインジャラスな欠陥がある。 この件では意外に盛り上がってくれたようでみなさんありがとうございます。 しかし日本の英智を結集しても無理なのか・・・ >>496 を試してみたけど、「.Trashのエイリアス」と同じ欠点がある。 引き続きこのスレ覗くので、 どなたかが天才的な解決策を発見されることを期待します。 期待するばかりで申し訳ない。
508 名前:名称未設定 mailto:sage [2009/02/28(土) 03:52:01 ID:5qJ0Z5Az0] ここで天才的解決策というより姑息な回避策を待つよりも DragThingを購入してゴミ箱をデスクトップにおくのがオススメ。 DragThingユーザの内、デスクトップにゴミ箱を表示するのに 使ってる人間は約20%くらいいる。(俺リサーチによる調べ)
509 名前:479 mailto:sage [2009/02/28(土) 06:39:04 ID:tusqZGXT0] >>507 シェアウェアでこんなのあった。 bin-it www.fastforwardsw.com/binit/ 12.5ドルならDragThingよりは安いはず でもボリュームのアンマウントに使えるかは未確認
510 名前:名称未設定 mailto:sage [2009/02/28(土) 08:47:04 ID:H3QYeF6l0] オレの場合、Dockを右側に置いているんだがそれを下いっぱいに下げることでゴミ箱問題を解決した。 Dockを下側に置いてる時は右いっぱいに寄せていた。 通常はセンタリングされるけどこれでOK。
511 名前:名称未設定 mailto:sage [2009/02/28(土) 13:19:32 ID:Od4bhtxF0] >>507 >>488 もこのことに触れているけど イメージだけ表示されるWindowが作れれば、あとはAppleScript Studioで作成可能 (DragThing、bin-it 両者もWindow内のイメージにドラッグドロップしている。) イメージだけ表示されるWindowを作るには、...Carbon?(の様な気がする) 特別仕様のWindowを作る方法がわからん。オレには無理だ...orz 追記…アイコンにドラッグドロップでファイル管理をしようとした場合、他にも不都合な点があって、 ひな形に設定しているファイルを勝手に複製して、複製した方を選んでしまう。 ファイル管理には使わない方がいいと思う。
512 名前:511 mailto:sage [2009/02/28(土) 16:00:21 ID:Od4bhtxF0] 間違った >>488 もこのことに触れているけど←誤 >>492 もこのことに触れているけど←正
513 名前:名称未設定 mailto:sage [2009/03/01(日) 02:36:25 ID:emrRc1U90] 画像を表示するだけならNSImageViewを使えば良いのだけど、 そういう事では無いのかな? そういえばドラッグ&ドロップ関係のイベントって使ったこと無いな 今度やってみよっと
514 名前:名称未設定 mailto:sage [2009/03/01(日) 10:11:43 ID:TnjXyS+p0] タイトルとか影の話では?
515 名前:名称未設定 mailto:sage [2009/03/02(月) 02:42:45 ID:yFs6o5gb0] なるほど、ウィンドウとしての体裁が邪魔なんだね
516 名前:名称未設定 mailto:sage [2009/03/04(水) 14:16:27 ID:2NgDZ+ZS0] >>472 を書いた者だけど、 >do shell script "ruby -rnkf -e 'print NKF.nkf(¥"-w16B -xm0¥", $*[0])' " & quoted form of theWords & " > ~/Desktop/j_i_s_h_o_t_o_r_o_k_u.txt" この行、ターミナル用のコマンドに nkf がなかったんで わざわざRubyを使ったんだけど、iconv の方を使って do shell script "echo " & quoted form of theWords & " | iconv -t UTF-16 > ~/Desktop/j_i_s_h_o_t_o_r_o_k_u.txt" こっちの方がシンプルでよかったかな、と今更だが。
517 名前:名称未設定 mailto:sage [2009/03/06(金) 00:50:31 ID:aPPVeAWG0] >>511 Cocoaでイメージだけ表示するウィンドウは作れたんだけど、 このウィンドウはタイトルバーがないので、ドラッグで移動させるには自分でコード書かなきゃいけないらしい でやってみたんだけど、ドロップ処理と競合してるのか上手く動いてくれなかった ドラッグできる部分とドロップできる部分を分ければ動くっぽいのだが 全部Objective-Cで書けばどーにかなるのかなぁ
518 名前:名称未設定 mailto:sage [2009/03/07(土) 00:42:01 ID:SbUlu+Ap0] ネットワーク環境を切り替えるスクリプトを書いてみたんだけど上手くいかない 誰かなにか知ってたら教えてください tell application "System Events" tell network preferences -- 全ての設定の名前のリスト作成 set locList to (every location) set nameList to {} repeat with aLoc in locList set nameList to nameList & (name of aLoc) end repeat -- 現在の設定の名前を取得 set currentName to (name of (current location)) end tell end tell -- ユーザが名前から選択 activate set chooseResult to (choose from list nameList with prompt "ネットワーク環境を選択" default items {currentName} without multiple selections allowed and empty selection allowed) try set selectName to (first item of chooseResult) on error return 0 end try -- 選択した名前に切り替える tell application "System Events" tell network preferences set (current location) to (location selectName) --これが実際は効いてない --(name of (current location)) --でもこれは切り替え後の名前を返してはいる end tell end tell
519 名前:名称未設定 mailto:sage [2009/03/07(土) 02:25:33 ID:hXH4a81Y0] 本題とは無関係だが name of every location では通らないのか
520 名前:名称未設定 mailto:sage [2009/03/07(土) 17:27:12 ID:i52yTfP90] >>518 network preferences object は current user のものだ、と書いてあるから多分無理。 元々 system wide なものだから、system の設定のコピーなんだろう >>519 型が違う name of item 1 of every location な
521 名前:名称未設定 mailto:sage [2009/03/10(火) 11:25:45 ID:ELqaet4+0] ちょっと教えていただきたいのですが set aFile to (choose file) as text tell application "Adobe Photoshop CS3" open file aFile end tell と処理した時に、フォルダやファイル名に全角数字や()があると “ファイル 不特定のオブジェクトが見つかりませんでした” とエラーが出てしまうのですがどう対処すればよいのでしょうか? 環境はOS 10.4.11
522 名前:名称未設定 mailto:sage [2009/03/10(火) 12:40:24 ID:g5tPUcRm0] >>521 as textが多分原因 --- set aFile to (choose file) tell application "Adobe Photoshop CS3" open aFile end tell --- じゃだめかい?
523 名前:名称未設定 mailto:sage [2009/03/10(火) 13:32:25 ID:ELqaet4+0] >>522 ダメです…… 同じエラーがでます
524 名前:名称未設定 [2009/03/10(火) 13:51:31 ID:ZtHNMoSd0] >523 OS同じだがエラー起きないよ。
525 名前:名称未設定 mailto:sage [2009/03/10(火) 15:25:33 ID:ELqaet4+0] >>524 複数のマシンで試したんですけどやっぱり動きません…… 1バイトだけなら動くんですけどね〜 で、色々やってましたら イラストレーターなら全角数字や全角パーレンが 入ってても開きました ムムム、これは……?
526 名前:名称未設定 [2009/03/10(火) 15:51:42 ID:ZtHNMoSd0] >525 こっちのPhotoshopはCS1なので、もしかするとそういうことなのかも。
527 名前:名称未設定 mailto:sage [2009/03/10(火) 16:34:38 ID:ELqaet4+0] >>526 CS1が入ってるマシンで試したらあっさり動きました CS3め〜〜〜〜〜〜〜〜 お騒がせしました 色々ありがとうございました
528 名前:名称未設定 mailto:sage [2009/03/10(火) 16:40:42 ID:jduE+5AY0] >>527 ちなみにCS4でも駄目だった。 また不思議な事に123.jpgと123.jpgがあった場合、 123を指定したにも関わらず123が開く。 なんだろね。
529 名前:名称未設定 mailto:sage [2009/03/11(水) 00:51:43 ID:hBq3cjAN0] >>518 current locationを変更してもpreferences.plistは変更されない事から、 network preferencesでの切り替えは無理っぽいので、defaultsを使って直接書き換える 更に書き換えるだけだと変更はされるが有効にならないので、networksetupを使う ついでに名前リスト生成は>>519 で可能 というわけで、ちぃと強引だが一応できた tell application "System Events" tell network preferences set nameList to name of locations set currentName to name of current location end tell end tell choose from list nameList with prompt "ネットワーク環境を選択" default items {currentName} without multiple selections allowed if result is false or item 1 of result is currentName then return else set selectName to item 1 of result end if tell application "System Events" tell network preferences set current location to location selectName set selectId to id of current location end tell end tell do shell script "sudo defaults write /Library/Preferences/SystemConfiguration/preferences CurrentSet /Sets/" & selectId with administrator privileges repeat with theService in paragraphs 2 thru -1 of (do shell script "networksetup -listallnetworkservices") do shell script "networksetup -setnetworkserviceenabled " & quoted form of theService & " on" end repeat
530 名前:名称未設定 mailto:sage [2009/03/11(水) 00:54:29 ID:hBq3cjAN0] 書いといてなんだが、これだとnetwork preferences使う意味が薄いな Leopard限定になっちゃうし
531 名前:名称未設定 mailto:sage [2009/03/11(水) 01:48:58 ID:6EL/JQSO0] >>525 自分も興味があったので検証してみた。 Leopard上のPhotoshop CS3でも全角ファイル名は開けないみたい。 Ver.6なんかは全角ファイル名でも開いているので,CS3のバグのような気がする。 あと全然関係ないけど,choose fileの結果はaliasクラスの値が返ってくるのに, display dialogで結果を表示させると,なぜかalisというクラス名が表示される。 今気がついたんだけど,バグかなこれ?
532 名前:名称未設定 mailto:sage [2009/03/11(水) 02:16:37 ID:hBq3cjAN0] 試してないがこんなのとかどうかな POSIX path of (choose file) do shell script "open -a 'Adobe Photoshop CS3' " & quoted form of result
533 名前:名称未設定 mailto:sage [2009/03/11(水) 08:55:26 ID:VR0lCmu00] Acrobatの「文書のプロパティ」メニューで、タイトル類の全角半角を修正しても 元に戻ってしまってドツボに嵌まったのを思い出した。 それはそれとして、回避策はないのかな。自分はCS2なんで検証できず。
534 名前:名称未設定 mailto:sage [2009/03/11(水) 09:24:27 ID:L+4refM90] Leopard上で >>532 のスクリプトを全角ファイル名で試したけど大丈夫っぽい。
535 名前:名称未設定 mailto:sage [2009/03/11(水) 10:05:35 ID:V6fpi6WP0] えっと、多分だけど open の前に activate する。ではないのかな?かな?
536 名前:名称未設定 mailto:sage [2009/03/11(水) 10:08:38 ID:yCagSJRU0] みんな検証ありがとう >>532 shell script は試そうと思ってうまく出来なかったんですけど tell application "Finder" open aFile end tell で開かせた事があって これだとフォトショップで開く事になるんですけど 保存の際にエラーになるんです だから結局はこれでやっても処理は継続できないかな…… 知恵貸してもらっておいて申し訳ないです
537 名前:名称未設定 mailto:sage [2009/03/11(水) 10:43:50 ID:8zhPSfdZ0] >>536 検証してわかったんだけど,openとopen file,パスを直接記述するか変数に入れるか, でも挙動が違うみたい。自分も初めて知った。
538 名前:名称未設定 mailto:sage [2009/03/11(水) 10:44:53 ID:8zhPSfdZ0] >>535 うちでは変化なかった。
539 名前:名称未設定 mailto:sage [2009/03/11(水) 11:42:44 ID:V6fpi6WP0] >>538 本当だ、って試さんと書いたんかい。実はそうなのだ。 set hoge to (choose file) set hoge to hoge as Unicode text tell application "Finder" to open file hoge using (application file "Adobe Photoshop CS3.app" in folder "Adobe Photoshop CS3" in folder "Applications" in startup disk) 保存の際にエラーってことなら無理かもだけど。一度こんなの試してみてもらえるかな?
540 名前:名称未設定 mailto:sage [2009/03/11(水) 12:45:36 ID:yCagSJRU0] >>539 開けました でも保存できません 開くのは抜け道?あるけど 保存は何も思いつかない…… javascriptはどうかなと今朝思い立って ググってやってみたけど開けなかった
541 名前:名称未設定 mailto:sage [2009/03/11(水) 13:10:47 ID:VR0lCmu00] Finderにリネームさせてからフォトショで処理して保存して、 Finderに名前を元に戻させる、かなあ。
542 名前:518 mailto:sage [2009/03/11(水) 22:30:43 ID:hV+fJwFN0] レスサンクスです。 >>519 そうですね。repeatする必要ありませんでした。 >>520 ,529 やはり無理なんですね。 current locationがr/oになってないのでできるのかなと期待したのですが。 で、Appleメニューから選択する方法にしてみました。 日本語&UIスクリプティング限定ですがこれでできました。
543 名前:518 mailto:sage [2009/03/11(水) 22:31:12 ID:hV+fJwFN0] -- 全ての設定名、現在の設定名を取得 tell application "System Events" tell network preferences set nameList to (name of every location) set currentName to (name of (current location)) end tell end tell -- ユーザが名前から選択 activate set chooseResult to (choose from list nameList with prompt "ネットワーク環境を選択" default items {currentName} without multiple selections allowed and empty selection allowed) try set selectName to (first item of chooseResult) on error return 0 end try -- 選択した名前に切り替える tell application "System Events" set frontProcess to (first item of (every process that frontmost is true)) tell frontProcess tell first menu bar tell menu bar item "Apple"'s menu "Apple" tell menu item "ネットワーク環境"'s menu "ネットワーク環境" tell menu item selectName to click end tell end tell end tell end tell end tell
544 名前:名称未設定 mailto:sage [2009/03/12(木) 06:23:41 ID:5YNKczeZ0] >>539 開くことを確認。 >>540 うちのPhotoshop CS3で試してみたら保存できた。 ファイル名は関係なさそう。Leopardで確認。
545 名前:名称未設定 mailto:sage [2009/03/12(木) 09:19:58 ID:BSiFn71/0] >>540 どんなエラーでてるん? save document コマンドで変なフルパス渡してるんじゃないの? >>539 で開いて >>532 で開かないってのもおかしいよね?なんか根本的に知識足りてないとかない? open file のとこしか書いてないけど全体を見せてくれたら助言出来るかもだよ?
546 名前:名称未設定 mailto:sage [2009/03/13(金) 00:11:29 ID:OLNuIInyO] ウチの環境ではPhotoshopに直接投げる方法(>>521 >>522 )では確かに開く事すらできなかったが、 Finder(>>536 >>539 )やshell(>>532 )で開く事は可能で、その後手作業で編集して保存するのも特に問題無くできた OSは10.4.11/10.5.6の両方でPhotoshopはもちろんCS3 ファイル名は"(123).psd"として、編集内容はレイヤー増やしたり削除したりしてcommand-s実行 そもそもスクリプト使わず手作業で開いた後ならちゃんと保存できてるのだろうか、とか 別名で保存すらできないのだろうか、なんて事を考えてしまうのだが、 状況を再現できない事にはこれ以上何とも云えませんなぁ それとも俺が勘違いしてるだけで、>>545 の言う様にスクリプトで保存までやってんのかな? だとしたらそこはGUI Scriptingに置き換えるとか、幾らでも逃げ道はありそうだが >>536 ちなみにshellのopenコマンドでは -a 'Finder' とか書いているのでもない限りFinderは関与しないので、 もしまだ>>532 を試してないのだったらやるだけやってみる事を勧めておくよ
547 名前:名称未設定 mailto:sage [2009/03/13(金) 00:35:54 ID:RY5WwQqCO] 興味があったので、Photoshopの件、実験してみた。 Leopard + CS4体験版(うちにはCS、CS2しかない…) test(001).epsというファイルを用意して539で開いた後、 save cuurrent document --> ちゃんと保存される。メデタシ。 save cuurrent document as Photoshop EPS in aFile -->これもちゃんと保存された…と思いきや、test(001).eps というファイルが 出来てる! 勝手にドキュメント名が半角になっちまってるではないか。 で、in aFile を外してみると、当然のことながらダイアログ は出るが、 元のファイル名のまま上書きされた。しかし面倒だ、スクリプトの意味が無い。 GUIスクリプト書かねばならんのか… 面倒くさいんで、新規保存のアクションを作って do action でやらせたら ファイル名は元のまま保存された。ふう、難儀なもんだ。
548 名前:521 mailto:sage [2009/03/13(金) 13:05:31 ID:N22ZBqD00] 色々検証をありがとう! 昨日は仕事が忙しくてあまり試せなかったのですが 文字パレットのUnicodeの半角・全角形が入ってるとダメっぽい FF00〜どこまでかは未検証 POSIX path of (choose file) do shell script "open -a 'Adobe Photoshop CS3' " & quoted form of result tell application "Adobe Photoshop CS3" activate set docRef to the current document set Getpath to file path of docRef set Sendpath to Getpath & "_.eps" as Unicode text --別名保存をするためダミーでつけてます set aOptions to {class:EPS save options, encoding:high quality JPEG, preview type:eight bit TIFF} save current document in file Sendpath as Photoshop EPS with options aOptions appending no extension with copying close current document saving no end tell 保存まで入れたものです これを実行しますと開くのは問題ありません 保存の際、ファイル名に特定の全角があるものは半角にされてしまい フォルダ名にあるのは『フォルダ 不特定の〜』とエラーが出てしまいます 当然、半角のみのパスなら問題なく保存されます これは改めてわかった事なのですが、 フォルダ名にあるのとファイル名にあるのでは挙動が違うみたいです 後だしじゃんけんで怒られそうですが 元々はASSで作っておりまして、一度は出来たと思っていたのですが エラーが出るよと使用者に言われて 検証していったらPhtoshopのopenに行き着いたので 簡略化して質問してしまいました
549 名前:名称未設定 [2009/03/19(木) 16:03:23 ID:sWEDU9rC0] 1.ファイルをドロップ 2.元ファイルの場所にファイル名を"XXX.拡張子"に変更した複製を作成 on open (inFiles) set theFile to item 1 of inFiles tell application "Finder" set theFolder to container of theFile set theNewFile to duplicate theFile to theFolder without replacing set name of theNewFile to "XXX.拡張子" end tell end open 一つだけなら処理できるのですが、これを複数ファイルのドロップに対応させるにはどのように記述すれば良いでしょうか?
550 名前:名称未設定 [2009/03/19(木) 16:21:35 ID:gh/Y7KwX0] repeat with theFile in inFiles end repeat
551 名前:名称未設定 [2009/03/19(木) 17:05:07 ID:sWEDU9rC0] >>550 有り難うございました。 挿入する場所がいまいちわからなかったのですがうまく行きました!
552 名前:名称未設定 [2009/04/01(水) 12:40:12 ID:i9A41uXD0] 保守
553 名前:名称未設定 mailto:sage [2009/04/11(土) 18:28:36 ID:E/Ke3yel0] 2chResViewってしたらばに対応は難しいんですかね・・・ あと読み込むスレのURL入れるダイアログをいつでも出せるようにしていただけるととてつもなくうれしいです。
554 名前:名称未設定 [2009/04/12(日) 16:16:13 ID:eCja8I9i0] applescriptからicalのeventまたはtodoに"スクリプトを実行(run script)"する アラームの設定の仕方を教えて下さい。 sound alarmやopen file alarmなどのクラスは辞書(iCal.sdef)に載っているのですが、 スクリプトを実行するためのクラスが見当たりません。 make new `run script' at end with properties {trigger date:current date, script name:"sample"} こんな感じをイメージしていたのですが,参考になるサイトも見つからなくって...
555 名前:名称未設定 mailto:sage [2009/04/12(日) 20:09:46 ID:VRZcuAEG0] スクリプトを実行するようなTODOをiCalから作って、そいつをScript Editorで調べてみるといい やってみると、open file alarms として登録されてるっぽいな ここで指すスクリプトが、スクリプト形式でないといけないのか、 アプリケーションとして作っておかないといけないのかは、>>554 がレポートしてくれることを望む
556 名前:名称未設定 mailto:sage [2009/04/13(月) 13:02:49 ID:ABtawuno0] >>554 >applescriptからicalのeventまたはtodoに"スクリプトを実行(run script)"する >アラームの設定の仕方を教えて下さい。 iCalのカレンダーからスクリプトを実行するんじゃダメなのか? applescriptからiCalを呼んで更にapplescriptを呼び出す意味がよくわからないのだが…
557 名前:名称未設定 mailto:sage [2009/04/20(月) 12:25:14 ID:8MTahNtV0] Photoshopの全角英数文字の話があったけど私の場合はIllustratorで全く同じ現象でした。 InDesignはだいじょうぶなんですけどね。 結局、解決方法として、開く場合は同じようにPOSIX pathであつかい、保存する場合は、 homeフォルダにダミーの俺様一時フォルダと一時ファイルを作り、 Finderでリネームしてからmoveして上書きさせるという方法にしました。 すっきりしなくてしばらく悩んでたけどここを見て頭の中の整理ができました。ありがとう。
558 名前:名称未設定 mailto:sage [2009/04/20(月) 22:32:27 ID:DJFzfGbq0] >>557 話が出てた頃、長いアク禁状態で書き込めなかったんだけど、 do javascript で一応回避できたよ(10.4.11 CS3)。 まあ、あまり真剣に検証はしてないけど ---- set aFile to choose file set aFile to quoted form of POSIX path of aFile tell application "Adobe Photoshop CS3" --open set aJsOpen to " var aDoc = new File(" & aFile & "); open(aDoc);" do javascript aJsOpen --EPS SAVE set aJsSave to "var docRef=documents[0]; var epsOptions = new EPSSaveOptions(); epsOptions.encoding=SaveEncoding.JPEGHIGH; epsOptions.preview=Preview.EIGHTBITTIFF; docRef.saveAs(new File(docRef.fullName + '_.eps'),epsOptions);" do javascript aJsSave --close close current document saving no end tell ----
559 名前:名称未設定 mailto:sage [2009/04/21(火) 10:53:16 ID:G/XoDJ6w0] >>558 おぉ、javaで保存いけますね。Illustratorでも確認しました。その他の色々もいけるかも? Adobe関連の新しい部分はASとVBは更新せずjavaだけになるという話ですし、 これからは中身をできるかぎりjavaでやるかなー。やるきでてきました。
560 名前:名称未設定 [2009/04/21(火) 10:59:56 ID:8kyWcLOc0] JavaとJavascriptを区別できない馬鹿は 豆腐の角に頭をぶつけて死ぬのがオススメ
561 名前:名称未設定 mailto:sage [2009/04/21(火) 11:36:04 ID:G/XoDJ6w0] javaと略してはいけないんですね。 JSですか。
562 名前:名称未設定 mailto:sage [2009/04/21(火) 12:42:21 ID:kPLxhmON0] まったく分かってないのにかっこつけて略すなよw
563 名前:名称未設定 mailto:sage [2009/04/21(火) 12:53:04 ID:G/XoDJ6w0] 略してはいけないんですね。 とりあえず色々となんだかいけそうになってきたよ。ありがとう。
564 名前:名称未設定 mailto:sage [2009/04/21(火) 12:56:18 ID:BzQNW88n0] >>563 何かかわいそうになってきたので、括弧つけて略した java script (JS); Java (Java); 全く別の言語だから注意するように。 ジャバといえば風呂釜…じゃなくて、Sun が買収されましたなぁ。
565 名前:名称未設定 mailto:sage [2009/04/21(火) 13:02:48 ID:G/XoDJ6w0] なるほど。毎回説明するのがいやになるイライラスイッチみたいな 恩を仇で返すような書込みだったんですね。以後気をつけます
566 名前:名称未設定 mailto:sage [2009/04/21(火) 14:44:35 ID:hZzJxJyl0] >>564 俺も>>562 を括弧付けてって読んじゃったよ
567 名前:名称未設定 mailto:sage [2009/04/21(火) 16:21:33 ID:s/8jjmoQ0] 複数のフォルダを、DVDにバックアップする前処理として、 4GB程度ごとに振り分ける単純な処理を自動化ようと思ってます。 できるだけ均等になるように、とか、 組み合わせを事前に計算して、とかができればいいんですが、 難しいので、とりあえずシーケンシャルに処理させるように組みました。 が、フォルダ容量を加算する、 という単純なところで、エラーが出たり出なかったりして、思うように動作をしてくれません。 加算できない時があるのは、なぜでしょうか?
568 名前:名称未設定 mailto:sage [2009/04/21(火) 16:23:39 ID:s/8jjmoQ0] 567です。スクリプトです。よろしくお願いします。m(_ _)m tell application "Finder" activate set nDivFolder to 0 --分割フォルダ数を初期化 repeat set DivFolderVol to 0 --分割フォルダ容量を初期化 --新規に分割フォルダを作成し、ターゲットにセットする set nDivFolder to (nDivFolder + 1) try set DivFolder to make folder at "Macintosh HD:BackupFolder:4GB単位で振り分け:" with properties {name:((month of (current date) as integer) & day of (current date) as string) & "-" & nDivFolder} on error errText beep display dialog "分割フォルダを作成できません" exit repeat end try set tgtFolders to every item of folder "作業終了" of folder "BackupFolder" of disk "Macintosh HD" if (number of tgtFolders) = 0 then display dialog "該当データするデータはありません" exit repeat end if
569 名前:名称未設定 mailto:sage [2009/04/21(火) 16:26:16 ID:s/8jjmoQ0] 567です。長くてすいません。続きです。 repeat with obj in tgtFolders --フォルダ容量をsizeDataに設定する set sizeData to size of obj try --分割フォルダ容量にフォルダ容量を加算する set DivFolderVol to (DivFolderVol + sizeData) on error errText beep display dialog "分割フォルダ容量にフォルダ容量を加算できません" & return & "DivFolderVol = " & DivFolderVol exit repeat end try --分割フォルダに、ターゲットフォルダを入れると、4.2GBに収まるか? if DivFolderVol < 4.5E+9 then --分割フォルダに移動する move obj to DivFolder else display dialog "容量をオーバーします" set DivFolderVol to (DivFolderVol - sizeData) end if end repeat end repeat end tell
570 名前:名称未設定 mailto:sage [2009/04/21(火) 17:20:53 ID:UWZ3EL1T0] Finderの tell ブロックの中で Finder item の情報をもらうと変になるね?って。 話し合ってたのはここじゃなかったか。つい最近どっかで色々書いたけど。 サイズがもらえないんだよね?他にもクラスもらったらカタカナとかいろいろ困ったものだ System Events の中でやる。 tell application "System Events" to set sizeData to size of obj 一度プロパティをセットしてそこからもらってくる。 set hoge to properties of obj set hoge to size of hoge as integer こんな感じを試して欲しい。ちなみに私は10.5.6。 何が帰ってきてるかイベントログを出しながらいろいろやってみると良いのだ。
571 名前:名称未設定 mailto:sage [2009/04/21(火) 18:22:12 ID:s/8jjmoQ0] 570さん、ありがとうございます。 試してみました。 > System Events の中でやる。 > tell application "System Events" to set sizeData to size of obj 現象は変わりませんでした。 > 一度プロパティをセットしてそこからもらってくる。 >set hoge to properties of obj >set hoge to size of hoge as integer hogeを、sizeData に変えて試してみたところ、 「missing valueをタイプ integerに変換できません」 というAppleScriptエラーが出てしまいました。 イベントログを出しながら、というのがわからないので調べてみます。 遅れましたが、こちらの環境は、OXS 10.4.11です。
572 名前:名称未設定 mailto:sage [2009/04/22(水) 00:35:43 ID:72Y7WtJy0] >>560 >>564 ×Javascript ×Java Script ○JavaScript >>571 スクリプトエディタの下部で、結果ではなくイベントログを選んで実行してみる
573 名前:名称未設定 mailto:sage [2009/04/22(水) 03:47:30 ID:9KCuLn0o0] >>571 missing value が出るのは Finder がそのデータを持っていない時。 つまりフォルダーのサイズは常時計算されていないってことだと思う。 その "作業終了"フォルダーをリスト表示で開いておいて、 Finder の[表示]-[表示オプションを表示]で このウィンドウのみ、全てのサイズを計算にチェックを入れておけば、 フォルダーに中身の合計容量が表示されるので、それから実行すれば エラーは出ないかも。 あるいは、missing value が出たら、ちょっと待って、再取得すればOKかもしれない。 missing value は他の変数に代入したり計算しようとするとエラーが起こるので、 それを try文で捕まえて、もう一度ループさせるとか。いや、たんにメッセージだして 終了させて、もう一度手動で再実行すればいいのか。 あるいは、サイズ取得に StandardAdditions の info for を使えば行けるかも。 set fileInfo to info for (obj as alias) set sizeData to sizeData + (size of fileInfo) こんな感じ? あと、休止してるドライブとか、遅いネットワーク越しとかだと、タイムアウト してエラーになるようなこともあるんで、場合によってはそう言う対策も必要かも。 と、ちょっととりとめもなく…
574 名前:名称未設定 mailto:sage [2009/04/22(水) 03:52:04 ID:9KCuLn0o0] >>573 間違えた ×set sizeData to sizeData + (size of fileInfo) ○set sizeData to size of fileInfo だね
575 名前:名称未設定 mailto:sage [2009/04/22(水) 04:04:31 ID:4h7RmYLW0] もともと、LiveScriptをJavaScriptに改名したNetscape(当時)がどうかしてるん だけどねえ。
576 名前:名称未設定 mailto:sage [2009/04/22(水) 09:32:50 ID:DwUsCRRs0] スレ違いになってしまうかもしれないが、「バックアップのためにフォルダ サイズを調整して入れる」ことが目的ならディスクイメージを作ってそれを 分割するのが良いんじゃないだろうか? hdiutilにディスクイメージの分割機能があるので分割したままでマウントも できるし。 コマンドラインに抵抗があるなら(スレ的にそれはないか)DMGConverterが フロントエンドとしてある。
577 名前:名称未設定 mailto:sage [2009/04/22(水) 09:34:15 ID:DwUsCRRs0] 日本語変だな hdiutilにディスクイメージの分割機能があるし、分割ディスクイメージなら 分割したままマウントできるし。
578 名前:名称未設定 mailto:sage [2009/04/22(水) 09:34:18 ID:56XqzhhX0] >>572 SmallTalk、Next Step、C言語 なんかも許容できない人と見たw こまけぇことはいいんだよ
579 名前:名称未設定 mailto:sage [2009/04/22(水) 09:45:50 ID:qwOiPX0/0] JavaとJavaScriptを間違えるのはまだかわいいよ。 それよりAppleScriptとActionScriptを待ちがえるほうが嫌。
580 名前:名称未設定 mailto:sage [2009/04/22(水) 12:01:06 ID:eLwgTwLC0] さすがにActionScriptとは間違えないだろw どっちかしか使ってないから区別がつかないんだろうな
581 名前:名称未設定 mailto:sage [2009/04/22(水) 12:16:09 ID:c0rUZZVk0] 質問です。 スクリーンショットを撮るスクリプトを書き、アプリ化 して保存しました。 そのアプリを実行すると、それがアクティブになってしまい、 撮りたいウィンドウが非アクティブの状態で撮影されて しまいます。 これを回避する方法を教えてください。お願いします。
582 名前:名称未設定 mailto:sage [2009/04/22(水) 12:20:40 ID:ni9Ii5340] スクリプトを晒さないとまともなアドバイスは期待出来ないと思うぞ
583 名前:名称未設定 mailto:sage [2009/04/22(水) 13:13:29 ID:YD0+zBI20] tell application "Finder" set myPngPOSIXpath to (POSIX path of (home as alias) & "Desktop/mySC.png") as Unicode text end tell tell application "目的のアプリ" activate end tell do shell script "screencapture " & myPngPOSIXpath
584 名前:名称未設定 mailto:sage [2009/04/22(水) 13:20:00 ID:eLwgTwLC0] 普通に目的のアプリがアクティブ状態で撮れてるよ?
585 名前:名称未設定 mailto:sage [2009/04/22(水) 15:43:15 ID:oiZ0etmK0] 567です。 >573 ありがとうございます。 これですんなりいけました。
586 名前:名称未設定 mailto:sage [2009/04/22(水) 18:53:30 ID:ICJtJeVG0] >>582 そうですね、すみません >>583 その「目的のアプリ」をスクリプト実行前に アクティブだったアプリにしたいのです。 特定のアプリならいいんですが、毎回変わる ものなので・・・
587 名前:名称未設定 mailto:sage [2009/04/22(水) 20:02:27 ID:YD0+zBI20] てきとう tell application "Finder" to set myPngPOSIXpath to (POSIX path of (home as alias) & "Desktop/mySC.png") as Unicode text tell application "System Events" to set visible of processes whose frontmost = true to false tell application "System Events" to set visible of processes whose frontmost = true to false do shell script "screencapture " & myPngPOSIXpath
588 名前:名称未設定 mailto:sage [2009/04/22(水) 20:41:31 ID:jmWII8kE0] >>581 ScriptMenuみたいにfrontに出ないユーティリティーからscript実行する。 どうしてもアプリケーションにしたいならInfo.plistにLSBackgroundOnlyを 設定してbackgroundで実行する。
589 名前:名称未設定 mailto:sage [2009/04/22(水) 20:57:41 ID:HyNMQeQ20] >>586 ここはスクリプトを作ってもらうスレじゃないからね、あんまり甘えんなよ
590 名前:名称未設定 mailto:sage [2009/04/22(水) 21:41:02 ID:ICJtJeVG0] >>587 ,588 ありがとうございました。 これをヒントにがんばってみます! >>589 そんなことは頼んでないと思いますが。 どうやれば適切な質問になったのでしょうか?
591 名前:名称未設定 mailto:sage [2009/04/22(水) 21:46:56 ID:y31/uTER0] >>590 >>582 をはじめ過去ログ見ればわかるだろ まずはどこまで書けたかを晒し、それを添削するというのがこのスレのスタイルだ
592 名前:名称未設定 mailto:sage [2009/04/22(水) 23:20:41 ID:kURH2FYG0] そんなことは頼んでないと思いますが(キリッ どうやれば適切な質問になったのでしょうか?(キリッ それすら考えられない馬鹿が何いきがってんだよ
593 名前:名称未設定 mailto:sage [2009/04/22(水) 23:42:36 ID:HyNMQeQ20] >>590 >>1 >【注意】 >安直なスクリプト作成依頼、丸投げはやっちゃダメ! わからない点、エラーが解決できない点について、スクリプト片を添えて質問しよう。 1くらい読んでるよね?
594 名前:名称未設定 mailto:sage [2009/04/23(木) 00:05:11 ID:lNNc0y1j0] >>590 >>>589 >そんなことは頼んでないと思いますが。 >どうやれば適切な質問になったのでしょうか? 適切な質問の方法としては、回答者に対して否定的な文章を書かないことがある。 もっと正確に言うと、否定的な意味のある言葉を使わずに文章を書くべき。 質問している(=人にお願いをしている)人から「そんなことは頼んでない」 なんて上から目線とも取れるような文章が出てきては、回答しようという気がそがれてしまう。 書き込み前に投稿する文章を自分で声を出して呼んでみて、自分の上司や先生にも同じ 言い方/書き方をするのか、と考えてみると良いよ。
595 名前:名称未設定 mailto:sage [2009/04/23(木) 00:59:00 ID:Ic9Lovq50] >>594 2ch設立人の趣旨が理解できないなら他いってくれ
596 名前:名称未設定 mailto:sage [2009/04/23(木) 01:46:22 ID:NERf7AVq0] 全てが自由にみえる2chにも2chなりのルールがある。 そして各板,それに続くスレッド個々に独自のルールがある。 それぞれの目的でそれぞれのスレッドが立ち、そのスレッドに興味ある人たちが集まる。 でもそのルールは強制じゃない。偉そうに質問解答するのも自由。多少なら荒らすことも可能。 ただ、端から見れば低俗な人が来たなって思うだけ。規制がかかるだけ。ただそれだけのこと。 気に入らないレスがあるなら、いちいち反応しないでスルーすればいいだけの話。
597 名前:名称未設定 mailto:sage [2009/04/23(木) 01:56:29 ID:YYCPFwhG0] 設立人の趣旨を尊重する人間 ≠ 実際に質問に答える能力の有る人間 あとはわかるな?
598 名前:名称未設定 mailto:sage [2009/04/23(木) 12:17:01 ID:c0enMtgx0] >>594 >適切な質問の方法としては、回答者に対して否定的な文章を書かないことがある。 >質問している(=人にお願いをしている)人から「そんなことは頼んでない」 >なんて上から目線とも取れるような文章が出てきては、回答しようという気がそがれてしまう。 「回答者に対して」って書いてあるけど、明らかに >>590 は回答者に 対して言ってないよね。>>587 ,>>588 で既に回答をもらっていて、 回答もしないでルールを押し付けてくる>>589 に対して言ってるだけ。 そもそも>>594 は「そんなことは頼んでない」という発言に対して 疑問を投げかけている、つまり>>590 以前の質問に関する質問の仕方 については何も言っていない。>>594 は全く答えになってないんだよ。 分かるかな?あと、自分の上司や先生と2chは同じものだと 本気で思ってる?>>594 は言ってることがめちゃくちゃ。 あのさ、確かに>>590 はスクリプトを晒してから質問しなかった のは反省すべき。でも、端から見ていると >>594 みたいに 回答もできないのにピントのずれた的外れなレスをつけたり、 >>592 みたいにわざわざ (キリッ みたいな文言をつけくわえて 粋がっている奴らのほうがよほど「低俗」に見えるよ。 >>594 ,>>592 は反論があったら遠慮なくどうぞw
599 名前:名称未設定 mailto:sage [2009/04/23(木) 12:38:18 ID:Q/06Zh550] >>598 私憤をはらしたいのかしらんが当事者でも無いのに混ぜっ返すな 589がルールを押し付けてる様に見えてるお前が一番低俗だよ
600 名前:588 mailto:sage [2009/04/23(木) 13:31:24 ID:Jztm23Mzi] >>599 >589がルールを押し付けてる様に見えて 確かにそこは言い過ぎでした。すみません。
601 名前:名称未設定 mailto:sage [2009/04/23(木) 14:17:49 ID:coHpjbSb0] やれやれ 恥の上塗りだな
602 名前:名称未設定 mailto:sage [2009/04/23(木) 21:01:14 ID:E1/9Y5jB0] つい最近、「AppleScriptをつくった誰々(個人名)」っていう記述を読んだんだが どこで読んだのかまったく思い出せん…。老人力がつき始めて困るわあ
603 名前:名称未設定 mailto:sage [2009/04/23(木) 21:07:08 ID:qlfXGITq0] その誰々はChris Espinosaな気がする ぴよまるさんがよく名前出すから思えたw
604 名前:名称未設定 mailto:sage [2009/04/23(木) 23:24:42 ID:E1/9Y5jB0] >>603 ありがとう、どこで読んだか思い出しました。確認したら人名はウィリアム・クックでした。 「Macでプログラミング」スレでオブジェクト指向プログラミングの話になっていて、 そこで紹介されていたサイトの中で「クックも AppleScript の設計者ではありますが」云々 というかたちで触れられていたのでした。 pc11.2ch.net/test/read.cgi/mac/1216824430/794 AppleScriptについての論文をみてみると(この論文自体ウィリアム・クックによるものですが)、 開発メンバーの中にクックの名前はありますが、Chris Espinosaの名前はありませんね。 論文の謝辞には名前があげられてるのに、なぜだろう…。 ちなみに開発メンバーの中には日本人の名前もありますね。 www.cs.utexas.edu/~wcook/Drafts/2006/ashopl.pdf
605 名前:名称未設定 mailto:sage [2009/04/24(金) 09:37:42 ID:dawE2+ah0] >>604 ありがとう、俺も最近どこかで読んだが分からなかったので、すっきりした。
606 名前:名称未設定 mailto:sage [2009/04/26(日) 18:24:42 ID:zhEj7A+E0] 質問です。 quicktimeで自動エンコさせるスクリプトを組んでいるのですが、現在エンコ中か否かの判断をファイルサイズで判定しようとしています。 二回の判定の間にdelayを入れてますが、何故か測定値が二回とも同値で返ってきてしまいます。 原因のわかる方いらっしゃいますでしょうか? 以下、該当部分だけ抜き出します。 tell application "Finder" set firstdata to size of file "change.mov" end tell delay 300 tell application "Finder" set seconddata to size of file "change.mov" end tell if seconddata = firstdata then (以下省略)
607 名前:名称未設定 mailto:sage [2009/04/26(日) 18:40:19 ID:YrTAymmC0] >>606 エンコ中でファイルに書き出されてないからとか。 エンコ終了しても同じ値なの?
608 名前:名称未設定 mailto:sage [2009/04/26(日) 19:07:24 ID:m06JOqFF0] エンコ中は、一時ファイルに書出してる。 しかも不可視属性で。 ターミナルで確認出来るよ。
609 名前:名称未設定 mailto:sage [2009/04/26(日) 19:20:43 ID:t5z6VwIc0] そんなことしなくても,普通にスクリプトから実行したエンコは終了時に結果がスクリプトにかえるじゃん。 なぜそのような面倒をしなくてはいけないのかよくわからない。
610 名前:名称未設定 [2009/04/29(水) 14:42:31 ID:DarRGFRi0] これも www.startly.com/products/quickeys/mac/4/
611 名前:名称未設定 [2009/05/01(金) 20:51:03 ID:AObOhZeI0] applescriptではないと思うんだけどもし知ってる人がいたら教えてくれませんか EXCEL2004のVBAでapplescriptを実行する際に MacScript ("download.scpt") と実行するのですが download.scptに引数を持たせたいとき MacScript ("download.scpt world") にしてもエラーが出てしまいました MacScriptの中の実行しようとするスクリプトに引数を持たせたいときどうすればいいか 対処方法を知ってる方が忌ましたら教えていただけないでしょうか よろしくお願いいたします
612 名前:名称未設定 mailto:sage [2009/05/01(金) 22:51:54 ID:4QK2oGBF0] >>611 アップルスクリプトには、引数を指定できない。 シェル関数を使えば、引数の指定が出来るので、それで代用すれば? やりたい事が、何なのか判らないので具体的どうしろとは言えないが。
613 名前:名称未設定 mailto:sage [2009/05/02(土) 00:23:18 ID:0nRo4xwr0] >>611 もしかしてVBAのスレで質問してた人?
614 名前:名称未設定 mailto:sage [2009/05/02(土) 01:40:31 ID:pIVluPwb0] applescript側に特定のテキストファイルやセルから引数を読み取る処理を入れておけばいい
615 名前:名称未設定 mailto:sage [2009/05/02(土) 21:58:35 ID:VNFqXEXPO] まぁ>>614 の方法が定石かな。 ていうかそもそもコマンドラインの概念がないMacではいわゆる引数なんてのもなかったところにAppleScriptだのターミナルだのが入ってきたからこういう質問が出るんだよなぁ。 まぁASには世話になってるし、便利だから否定はしないんだけど。 これ以上は哲学論になりそうだからこの辺で。チラ裏すまそ
616 名前:名称未設定 mailto:sage [2009/05/03(日) 21:16:47 ID:jMJr40Ab0] でも昔はファイルの選択順とかもきちんとアプリ側に渡されてたよなあ。 いまはめちゃくちゃ。
617 名前:名称未設定 [2009/05/06(水) 18:18:42 ID:88NaZlCL0] >>614 >applescript側に特定のテキストファイルやセルから引数を読み取る処理を入れておけばいい クリップボード経由でも引数を渡せる --clipboard is something like "book1;1500" set text item delimiters of AppleScript to ";" set hikisuuList to the clipboard set mono to text item 1 of hikisuuList as text set nedan to text item 2 of hikisuuList as number ブラウザーから引数を渡して,appleScriptを実行することも可能。すごいことができる! www.apple.com/applescript/linktrigger/
618 名前:名称未設定 mailto:sage [2009/05/08(金) 19:19:41 ID:Q/b1ZXLGi] 複数開いているsafariのウィンドウの中で、一番手前にあるウィンドウをactiveにして、その画面上のテキスト情報を、 コマンド+aで全選択し、コマンド+cでコピーする という処理はどの様なapplescript になりますでしょうか。 よろしくお願い致します。
619 名前:名称未設定 mailto:sage [2009/05/08(金) 20:12:32 ID:yArLlEst0] >>618 >>1 >【注意】 >安直なスクリプト作成依頼、丸投げはやっちゃダメ! わからない点、エラーが解決できない点について、スクリプト片を添えて質問しよう。
620 名前:名称未設定 mailto:sage [2009/05/08(金) 20:49:35 ID:iCuTc15f0] 書くのも面倒なくらい簡単なのでレスつかない感じ というか調べてないだろ
621 名前:名称未設定 mailto:sage [2009/05/08(金) 22:30:55 ID:WFRjsTTt0] フォーカスがアドレスのとことか検索のとこにあると面倒そうだな〜。 documentのsourceかtextをset the clipboard toとかした方がええんでない?
622 名前:名称未設定 mailto:sage [2009/05/09(土) 07:00:30 ID:oMS6MlVs0] tell responseNumber '618' do practice by yourself end tell
623 名前:名称未設定 mailto:sage [2009/05/09(土) 12:47:06 ID:W+fM2Fc80] 構文エラー end of line があるべきところですが unknown token が見 つかりました。
624 名前:sage mailto:sage [2009/05/09(土) 14:57:35 ID:1jJZLE260] >>618 >という処理はどの様なapplescript になりますでしょうか。 私は618ではありませんが,この程度の仕事を有料(10万円?)で 請け負う業者は,日本にありますでしょうか? 私も時々,お金を 支払ってもよいので,助けてもらいたいことがありますので。
625 名前:名称未設定 mailto:sage [2009/05/09(土) 15:11:14 ID:ZfNrnr3O0] ttp://www.fsight.co.jp/ とか?
626 名前:名称未設定 [2009/05/09(土) 16:53:49 ID:pKuXQG/5O] >>624 この程度の仕事を10万円でよければ俺が請け負うけど
627 名前:名称未設定 mailto:sage [2009/05/09(土) 17:50:24 ID:OcpHrPQ80] このスレには腐るほどいそうだな。 >>618 つか金掛けていいなら、Quickeysとかと併用した方が手軽に作れるぞ。
628 名前:624 mailto:sage [2009/05/09(土) 17:59:39 ID:1jJZLE260] >>625 , 626 情報ありがとうございます。 >>618 のような依頼を一番安く請け負う人を捜すオークションのような ものがあれば,利用する人は多いのではないでしょうか? 例: オークション開始時間:5月9日11時 出品(?)者:helpme3342@yyyy.com 開始価格:10万円 現在の価格:8万5千円 入札者:macprogrammer124@xxxx.com 入札件数:8件 オークション終了時間:5月19日19時 仕事内容: >>618 納期:6月19日 支払い方法:商品納入後3日以内に銀行振り込み
629 名前:名称未設定 mailto:sage [2009/05/09(土) 18:39:23 ID:gOokyMgW0] AppleScript製作依頼スレ(丸投げ) とかあったら>618程度の簡単なスクリプトなら暇な時に作るかもしれない。 何か作るのは好きだけど普段はあまりネタが無いので。 ちなみに>618はオートメーターでできそう。
630 名前:名称未設定 mailto:sage [2009/05/09(土) 18:50:32 ID:OcpHrPQ80] でも、どうせすぐに価格下落するだろ。 このスレ見てると、奇特というかなんというか、よくそこまでって人間が多いからな。 他のスクリプトスレ、プログラミングスレに比べて、格段に多い印象を持つのは AppleScriptが頼む方、作る方ともに手軽だから何だろうが。 つか2chで一番勝手にスクリプトを作ってくれるスレじゃね、ここ?
631 名前:名称未設定 mailto:sage [2009/05/09(土) 22:00:48 ID:W+fM2Fc80] >>628 それやると将来プログラム単価が下がってソフト業界が危ないかもしれない。 >>618 「 Macのこんなソフト・アプリを探してます」スレで目的のアプリなければ AppleScriptで作ってくれる場合(も)あるよ。
632 名前:名称未設定 mailto:sage [2009/05/12(火) 23:27:37 ID:FPEttIxO0] PHPからAS叩きたいんだけど上手くいかない。 10.5.6と内蔵のapache2とPHP5.2.6。safari3.2.1。localで動かしてる。 いろいろとやってみたのだが。例えば(記号化けるかも)こんなので <?php echo shell_exec('sh test.sh'); ?> #!/bin/sh ls -la shファイルがこれならば大丈夫。動く。でもASの1行を足すと動かんようになる。読み込み途中で止まる。 osascript -e 'tell application "System Events" to choose file' ターミナルでshはちゃんと動く。 他も思いつくことはいろいろやってみたけど、どの書き方でもPHPからAS呼んだ時点で止まる。 環境が今の環境しかなくて、私の環境が悪いのか、書きかたが悪いのか解らんのです。 誰かおしえてくださいませ。
633 名前:名称未設定 mailto:sage [2009/05/13(水) 02:35:32 ID:FD/JG1F7O] 取り敢えずSystem Eventsにtellする必要は無いと思う
634 名前:名称未設定 mailto:sage [2009/05/13(水) 08:56:06 ID:sV0y9G9b0] apache 経由だと普通のやり方ではウィンドウだせんと思った。
635 名前:名称未設定 mailto:sage [2009/05/13(水) 09:22:02 ID:QmqTEE2h0] >>633 −634 あー。適当に書いただけ。別にイベントやりたい訳じゃなくて例だよ。 #!/bin/sh osascript << EOF tell application "Finder" activate end tell EOF 例えばこんなんでも同じ。動かないんよ。
636 名前:633 mailto:sage [2009/05/13(水) 11:20:45 ID:FD/JG1F7O] ごめんなさい間違ってたかも ターミナルからtell抜きでchoose file実行すると-1713エラーになっちゃうので、 何等かのアプリにはtellしないとダメかもしんない 多分本題とも無関係だ… php知らない癖に余計なレスして申し訳ないです
637 名前:名称未設定 mailto:sage [2009/05/13(水) 12:44:38 ID:24+G55b80] この辺? ttp://developer.apple.com/documentation/MacOSX/Conceptual/BPMultipleUsers/Concepts/SystemContexts.html#//apple_ref/doc/uid/20002208-116501-BAJBHGEJ Frameworks Available in the Root Session Many system frameworks depend on the window server for part of their implementations. (中略) However, if you are writing a daemon or other type of program to run in the root session, there is no window server process with which to communicate. As a result, many higher level frameworks cannot be used at all. ttp://developer.apple.com/technotes/tn2005/tn2083.html#SECDAEMONS Daemons (前略) A daemon cannot display any GUI; more specifically, it is not allowed to connect to the window server. A web server is the perfect example of a daemon.
638 名前:632 mailto:sage [2009/05/13(水) 13:13:56 ID:BTTOhXxR0] >>637 うん。ためしに open /Applications/TextEdit.app やってみても動かなかった。 ASの問題じゃなかったんだ。セキュリティだったんだね。 launchd と Daemon か。勉強してみる!!!ありがとーー!!!
639 名前:624 mailto:sage [2009/05/13(水) 20:21:17 ID:HPdBwNRb0] >>632 これが可能なので, >ブラウザーから引数を渡して,appleScriptを実行することも可能。すごいことができる! >www.apple.com/applescript/linktrigger/ SafariからPHPやperlで次のようなCGI(=AppleScript)が実行可能 seekdvd://com.taro.AppleScript.seekdvd?time=321&DVDname=matrix1 私はSafariからこのAppleScriptにタイムコードとDVDの名前を送って,Apple DVD Player(ソフトウェア)に映画の場面を呼び出しています。 機能が豊富なSafariからローカルのAppleScriptが呼べるので,非常に便利。
640 名前:624 mailto:sage [2009/05/13(水) 20:28:51 ID:HPdBwNRb0] >>639 間違いに気がついたので修正。 >SafariからPHPやperlで次のようなCGI(=AppleScript)が実行可能 >(1) seekdvd://com.taro.AppleScript.seekdvd?time=321&DVDname=matrix1 正しくは,html+javascriptのファイルから直接,(1)のようなAppleScriptが 実行出来る。同じhtml+javascriptファイル内に,perlやPHPを呼び出すコード を入れることも可能。
641 名前:名称未設定 mailto:sage [2009/05/13(水) 23:25:37 ID:xdtAikh90] >>632 #!/usr/bin/php <?php system("osascript -e 'tell application \"System Events\" to choose file'"); ?> これは動くよ
642 名前:632 mailto:sage [2009/05/14(木) 00:11:14 ID:2AAUctmY0] >>641 うーと、うんと。shellから呼ぶのはできるんよ。やったのはshellだよね? phpの中からshell_execで呼んだ時のことなんよ。 ちなみにshだけじゃなくて他のターミナルプログラムでもだめなん。 だからたぶん >>637 さんのだと思うん。で、がんばって読もうとしてる。 >>624 さんのどうやって読むの?seekdvd://って何のアプリで実行できるん?たろーさん?削ってもみえない。 ぐぐったら音楽関係?うーーー。わからん。もう少しヒント欲しいかも。 英語ページ。単語は辞書引いたらわかる。でも文章になると理解するんに時間かかる。いや理解できんほうが多いんよ。 なきそう。頭悪いんよ。私。ゆっくり勉強する。解ったら報告する。 今日は飲みにつれてかれたから駄目かも。でも1時間だけ頑張る。
643 名前:名称未設定 mailto:sage [2009/05/14(木) 00:35:15 ID:8H56Jb2/O] いきなり私情垂れ流しかよ。薄汚い。 酔い覚ましてまともな文章書けるようになってから来いや。 これだから酔っ払いは嫌いなんだよ。
644 名前:632 mailto:sage [2009/05/14(木) 00:37:17 ID:2AAUctmY0] >>624 ごめん連カキ。少しパニクり収まりました。酔いはまださめんけど。 上のリンクに解決策が書いてあるのだけは理解しました。>>637 さんのと合わせてゆっくり読んでみます。 仕事なんてやんないでずっと勉強だけやってればいい人に(←いないって。そんなひと)生まれたかったなー。週末に燃えるぜ!!!
645 名前:632 mailto:sage [2009/05/14(木) 00:38:16 ID:2AAUctmY0] >>643 あ、ごめん。遅かった。ごめんね。
646 名前:名称未設定 mailto:sage [2009/05/14(木) 04:32:21 ID:CbIkU6cQ0] >>643 その乱暴な言葉なんとかならない?気分悪い
647 名前:624 mailto:sage [2009/05/14(木) 13:26:29 ID:nlDw7ho+0] >>642 >seekdvd://って何のアプリで実行できるん これはAppleScriptをjavascriptのwindow.open(URL,...) または,<a href=URL ...>appleScript1</a>のようにして, Safariから呼び出すときのおまじないです。 英文の説明通りに,AppleScript内のInfo.plistの編集が必要です。 AppleScript歴13年の私にも,Info.plist編集は初めての作業で, 最初は不安でしたが,上手く動き,大感激です。 この機能は魅力的です。
648 名前:名称未設定 mailto:sage [2009/05/17(日) 09:33:34 ID:K73s2t5c0] >>639 そのapple.comのページ削除されてるんだけど、その機能使って大丈夫なの? セキュリティホール作りそうな機能だな、ってのが第一印象だ
649 名前:名称未設定 mailto:sage [2009/05/17(日) 10:23:19 ID:giB4EXQ90] どうやらAppleScript関連はすべて www.macosxautomation.com/ に移動されてるみたいだ。 自動化関連でまとめてみましたというかドメイン名長いなおい。
650 名前:名称未設定 mailto:sage [2009/05/17(日) 11:53:40 ID:vVr4QXRk0] >640 機能としてはいいんだけど,CGIとは呼ばないんじゃないか? CGIはあくまでもサーバ側で動くものという理解なんで。 AppleScriptで.cgiのアプリを作る方法が昔あったけど,今でも使えるのかな?
651 名前:名称未設定 mailto:sage [2009/05/17(日) 12:00:31 ID:ETJhil530] よく分からないしまだAlphaだけどこんなのある。 Mother www.mugginsoft.com/mother どうもサーバーサイドAppleScriptってことらしい。 ぴよまるさんのブログで知った。 ttp://piyo.piyocast.com/piyocolumn/2008/applescriptmother.html
652 名前:名称未設定 mailto:sage [2009/05/18(月) 02:26:43 ID:Gh046Y190] >>650 スクリプターズミーティング?だっけ。 AppleScriptのCGIで作られてる掲示板サイトがあったよね。
653 名前:640 mailto:sage [2009/05/18(月) 06:37:25 ID:ckzORXVl0] >>650 >CGIはあくまでもサーバ側で動くものという理解なんで。 おっしゃる通りです。引数が...?x=aaa&y=bbb... と渡せる ので、間違ってCGIと表現してしまいました。
654 名前:名称未設定 mailto:sage [2009/05/19(火) 15:22:18 ID:q0trasev0] AppleScript Studioで、起動時に、たとえば、コマンドキー押しながらダブルクリックして 起動した場合と、単にダブルクリックで起動した場合で、処理を変えたいのですが、 起動時に押されているキーを取得する方法ってありますか?
655 名前:名称未設定 mailto:sage [2009/05/19(火) 16:30:08 ID:yhfqDKrC0] Jon's Commandsが使える環境ならkeys pressedで簡単だったけど、ダメなら↓あたり? ttp://macscripter.net/viewtopic.php?id=19065
656 名前:名称未設定 mailto:sage [2009/05/19(火) 19:53:05 ID:q0trasev0] >>655 このURLのを参考に実現できました! ありがとうございます。
657 名前:名称未設定 mailto:sage [2009/05/21(木) 15:01:33 ID:pv3/B7PX0] OS9からOSX(10.4.11)に移行中です。 OS9では動くのですが、OSXではうまくいきません。 複数のファイルのファイルネームを新旧のテキストファイルに従ってコピーリネームをかけるものです。 どのへんがおかしいのかヒントを頂けないでしょうか? tell application "Finder" make new folder at desktop with properties {name:"copy folder"} select folder "copy folder" open selection set afolder to choose folder with prompt "複製したいファイルのあるフォルダは?" activate try set text item delimiters of AppleScript to return set text_1 to read (choose file with prompt "旧テキストファイルを選択" of type "TEXT") set text_2 to read (choose file with prompt "新テキストファイルを選択" of type "TEXT") repeat with i from 1 to (count text item of text_1) set my_item to text item i of text_1 set newname to text item i of text_2 set thefiles to (every file of entire contents of folder afolder whose name is my_item) duplicate thefiles to folder "copy folder" of desktop select file my_item of folder "copy folder" set name of selection to newname end repeat end try set text item delimiters of AppleScript to "" end tell
658 名前:名称未設定 mailto:sage [2009/05/21(木) 16:14:30 ID:fhY7OPvr0] テキストファイルの改行コードが違うせいでうまく分割できてないとか? 旧OSデフォルト: \r (0x0d) 新OSデフォルト: \n (0x0a)
659 名前:名称未設定 mailto:sage [2009/05/21(木) 16:30:31 ID:pv3/B7PX0] >>658 ありがとうございます。読込むテキストはOSXで作成したものですので 改行の文字コードでは無いのではと思いますが・・・。
660 名前:名称未設定 mailto:sage [2009/05/21(木) 16:47:00 ID:fhY7OPvr0] そしたらスクリプトエディタのウインドウ下部でイベントログってのを選んどいて実行し、吟味する。
661 名前:名称未設定 [2009/05/21(木) 17:38:33 ID:JUeQ7uQJ0] >657 とりえあずどこで引っかかって、何てエラーが出てるかぐらいは書いたら?
662 名前:名称未設定 mailto:sage [2009/05/21(木) 17:43:13 ID:TrXAWxZN0] info.plistなどのValueを得るにはどうすればよいのでしょうか?
663 名前:名称未設定 mailto:sage [2009/05/21(木) 17:53:50 ID:LSY4s3VX0] 改行コードの問題じゃなければ select file my_item of folder "copy folder" set name of selection to newname を set name of file my_item of folder "copy folder" to newname と一行にすればいいかも。 あと同じように最初の2〜4行部分もいったん選択させてまた選択部分を探させるとかより open (make new folder at desktop with properties {name:"copy folder"}) とか、 set myCopyFolder to make new folder at desktop with properties {name:"copy folder"} open myCopyFolder とかするようにしたほうが無難だし色々便利だよ。
664 名前:名称未設定 mailto:sage [2009/05/21(木) 18:30:53 ID:KezhojMS0] >>657 そもそもtext_1、text_2ともにリストになってないよ!!
665 名前:名称未設定 mailto:sage [2009/05/21(木) 18:55:47 ID:QmjsjipI0] >>657 repeat内をこんな感じで repeat with i from 1 to (count of paragraphs of text_1) set my_item to paragraph i of text_1 set newname to paragraph i of text_2 set thefile to file my_item of afolder set newitem to duplicate thefile to folder "copy folder" of desktop set name of newitem to newname end repeat
666 名前:665 mailto:sage [2009/05/21(木) 19:20:37 ID:QmjsjipI0] >>657 ちょっと添削 テキストを改行で区切るのにparagraphsを使うと delimiterが必要なくなるよ。 >set thefiles to (every file of entire contents of folder afolder whose name is my_item) フィルタ使って絞り込んで例えファイルが1つだったとしてもthefilesには リスト形式で入るのでファイルそのものの名前を変更するには set name of item 1 of thefiles to newnameとかやらないとダメ set thefile to file my_item of afolder とすればthefileに直接ファイルが入る。 あと忘れてたけどtryはrepeat内に入れないとダメ テキストにはあるけど実際には存在しないファイルがあった場合など 継続してくれない。
667 名前:名称未設定 mailto:sage [2009/05/21(木) 19:32:09 ID:pv3/B7PX0] 657です 皆様ありがとうございます テキストリスト読込みまでは出来ているようなのですが、リネームがうまく行えずに終了する感じです。 エラーも返さずにリピートもされません。結果 copy folderに始めのコピーファイルが一つ残っている状況です。 665様ありがとうございます。 duplicate thefiles to folder "copy folder" of desktop select file my_item of folder "copy folder" set name of selection to newname この3行が問題だったのですね。そういえば変数の収め方を変えるとうまくいった事がありました。 詳しい添削もありがとうございます。全て無知な私には『うっそー!そうだったの』という内容です。 改めて咀嚼させていただきます。 試行錯誤を繰り返しているうち、レスが遅れ申し訳ありませんでした。 またよろしくお願いいたします
668 名前:632 mailto:sage [2009/05/27(水) 22:43:47 ID:mbQsFiLB0] >>647 他皆々さま方 規制に巻き込まれ返事遅れてすいません。 今回のPHPからのGUIを含んだASの実行は、サーバサイドでのon adding folder で処理しました。 もちろん教えていただいた、seekdvd(動きました。すごいな)もlaunchdも暇を見て勉強します。がんばります。 見捨てずに応援お願いします。
669 名前:名称未設定 mailto:sage [2009/05/31(日) 17:56:35 ID:nC+csEpV0] 上で紹介されてたLaunch Scripts from Webpage Links www.macosxautomation.com/applescript/linktrigger/index.html を使ってみたけどいろいろ応用できそうでいいことを知りました。 これに関する細かいtipsとして Info.plistにLSUIElementをstringで1を追加するとスクリプトを実行した時に バックグラウンドで起動してアプリが表示されません。 しかし、他のAppleScript製アプリケーションが起動していると このスクリプトを実行した時にそのアプリケーションが手前に来てしまいます。 そこでInfo.plistのCFBundleSignatureを適当に書き換えて(半角英数4文字でユニークなもの) Info.plistと同じフォルダにあるPkgInfoをテキストエディタで開いて 後半4文字を上で書き換えたものにするとAppleScript製アプリケーションが起動していても それが手前に来る現象が無くなります。 上記書き換えの後にはFinderに書き換えたことを知らせる為に 書き換えたスクリプトをいったんデスクトップに移動して 元に戻すなどの作業が必要な場合があります。
670 名前:名称未設定 mailto:sage [2009/06/01(月) 22:09:02 ID:5re3dwDY0] 4文字のコード(ファイルクリエータ)を使うのは古いやり方なんですけどね。 しかも大半のコードはすでに予約済み。 この問題を解決するため,CFBundleIdentifierでドメイン名と同じコード体系を使えるようになった。
671 名前:名称未設定 mailto:sage [2009/06/01(月) 22:46:14 ID:nuIVfTra0] >>670 他のアプリ見たらPkgInfoが無いのもあるんだね。 PkgInfoは書き換えなくても消したらOKかな
672 名前:名称未設定 mailto:sage [2009/06/03(水) 19:28:58 ID:B4sZ0VE/0] 新しいやり方について行けない・・('A`)
673 名前:名称未設定 mailto:sage [2009/06/04(木) 14:41:58 ID:fxthYjgt0] すごく初歩的な質問になってしまいますが do shell script "~/app -v" を、ログイン項目に入れて自動実行したいのですが スクリプトエディタがでてきてしまいます フォーマットをアプリケーションにしてみるとうまく実行できなくて困ってます 助言お願いします。
674 名前:名称未設定 mailto:sage [2009/06/04(木) 15:13:25 ID:VYstycJf0] >フォーマットをアプリケーションにしてみるとうまく実行できなくて困ってます どううまく実行できないのかを詳しく それとOSバージョンを書く
675 名前:673 mailto:sage [2009/06/04(木) 15:22:59 ID:fxthYjgt0] 失礼しました、OS10.5.7です appにすると &1を取り出すことはできません。 編集 OK とでます OKを押せば実行できてるようなのですが、 あまり気持ちよくないし、そこは完全自動にしたいのです。
676 名前:名称未設定 mailto:sage [2009/06/04(木) 15:24:42 ID:fxthYjgt0] &1 ↓ & a m p ; 1
677 名前:名称未設定 mailto:sage [2009/06/04(木) 16:40:21 ID:fxthYjgt0] 自己解決しました;; まず、appを置く場所がよくなかったみたいで移動したら問題なく起動しました(とあるアプリのパッケージ内 このコードのまま起動するとrunを押さないと動いてくれなかったので do shell script "~/app -v &" にしたら自動で起動してくれるようになりました。 スレ汚しすいません
678 名前:名称未設定 mailto:sage [2009/06/07(日) 07:38:08 ID:h6jE2aK/0] applescriptで、ログインウィンドウにしたあと スリープさせることってできるでしょうか? 10.5.6/intelです。
679 名前:名称未設定 mailto:sage [2009/06/07(日) 09:01:53 ID:ATf/9vvT0] ログアウトは可能だけどその後のスリープって難しいんじゃない? ログアウトした時点で実行権は手放してるような…
680 名前:名称未設定 mailto:sage [2009/06/07(日) 09:30:23 ID:d3VbnpDx0] >>678 AppleScriptではスリープだけさせて コンパネでスリープからの復帰時にログインウインドウを表示させるオプションをONにすればいいんじゃね?
681 名前:678 mailto:sage [2009/06/07(日) 22:56:25 ID:h6jE2aK/0] >>679 説明不足ですみません。 ログアウトはせずにファストユーザースイッチで ログインウィンドウにする場合でした。 その場合も実行はできないかのかも知れませんが・・。 >>680 ああ、もしAppleScriptでコンパネの設定を変更できれば、 ログインウィンドウを出さない復帰(在席中、待機時間がすぎて自動でスリープする場合)と ログインウィンドウを出す復帰(離席などでスリープさせる場合)を区別できてよさそうですね。
682 名前:名称未設定 [2009/06/08(月) 00:11:58 ID:8Pyc4iK00] >>681 ・UI Scriptingが有効 ・日本語 ・メニューバーにファストユーザースイッチ表示 (しかも右のほうにあるとかなりウザい動き) という限定された条件だけど、ログインウィンドウを出すまで。 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
683 名前:名称未設定 mailto:sage [2009/06/08(月) 00:22:57 ID:73cBRrcn0] >>681 ファストユーザスイッチでログインウィンドウを表示した後スリープ do shell script "/System/Library/CoreServices/Menu¥¥ Extras/User.menu/Contents/Resources/CGSession -suspend" tell application "System Events" to sleep
684 名前:名称未設定 mailto:sage [2009/06/08(月) 00:26:41 ID:73cBRrcn0] 683の ”¥" はバックスラッシュで。念の為
685 名前:678 mailto:sage [2009/06/08(月) 07:06:38 ID:qRIcyF3F0] >>683 ,684 ありがとうございます! どちらも無事に動作しました。
686 名前:678 mailto:sage [2009/06/08(月) 07:11:47 ID:qRIcyF3F0] × >>683 ,684 ○ >>682 ,683
687 名前:名称未設定 [2009/06/13(土) 00:30:20 ID:vE7EViQwO] 最近ネタもないので保守ついでに。 「Safariで最前面のウインドウに含まれるタブのURLを抜き出し、Mailに貼付け、下書きに保存する」スクリプト書いたけど、うpしてもいいですか? 母艦で閲覧中のページをiPhone等で閲覧するときに便利かと思ったけど(そして実際便利)
688 名前:名称未設定 mailto:sage [2009/06/13(土) 04:13:37 ID:v6WiuQp70] おねがいします
689 名前:687 mailto:sage [2009/06/13(土) 21:06:23 ID:kR6bttbH0] 687です。あんまりうまいスクリプトじゃないかもなんで、大目に見てください。 なお、使用にあたっては、1行目のGmailの部分を変更してください。あとは見ていただくとわかると思います。そんなに難しいことはしていません。 --ここから-- property acc : "Gmail"---お使いのIMAPアカウント名 my makeNewMessage(getUrls(), "URLs " & getCurrentDateTime("+%y%m%d_%H%M")) (* 以下、関数群 *) --最前面WindowのtabのURLをテキスト形式(デリミタ:改行)で取得 on getUrls() set asdlm to AppleScript's text item delimiters set AppleScript's text item delimiters to {return} tell application "Safari" tell front window return (URL of every tab as string) end tell end tell set AppleScript's text item delimiters to asdlm end getUrls --与えられたパラメータをもとにメールメッセージを作成、保存 パラメータ:本文とサブジェクト on makeNewMessage(body, subj) tell application "Mail" set newMessage to (make new outgoing message with properties {subject:subj, content:body, visible:true, account:acc}) save newMessage end tell end makeNewMessage --現在の日付・時刻を取得。シェルスクリプトを使用。だってAppleScript単体だとめんどくさいんだもん on getCurrentDateTime(opt)--opt:dateコマンドに渡すオプション return (do shell script ("date " & opt)) end getCurrentDateTime --ここまで--
690 名前:名称未設定 mailto:sage [2009/06/14(日) 00:23:58 ID:F9xi/s+50] 質問というか、相談というか、なんと言うか、なのですが フォルダアクションスクリプトを書いていてちょっと引っかかりました やろうとしていることは、フォルダにファイルがドロップされたら、そのファイルの内容を調べ、内容にあったファイル名にする、というものです あまりAppleScriptに慣れていないので、フォルダアクションで取得したファイルのリストをC++で書いたコマンドラインアプリにわたし、リネームしようとしています で、その前段階としてこのようなスクリプトを書きました on adding folder items to this_folder after receiving added_items set p to POSIX path of added_items do shell script "mv" & space & p & space & p & ".`date +%H%M%S`" end adding folder items to フォルダアクションとして適当なフォルダに割り当て、ファイルをドロップしてみると延々とリネームされます どうやらリネームされることで「新しいファイルが加わった」と判定され、このスクリプトが呼び出されるようです リネーム前にロックファイルを作成し、ロックファイルがあった場合は削除して終了、ない場合はリネーム、ということも考えたのですが 1ファイルのドロップで2回動作するのがスマートではないな、と あるいはdropletにし、リネーム後にフォルダへ移動ということも考えたのですが、内容解析のロジックは一つなのですが分類用のフォルダは複数あるので dropletもあまり有効ではありません(ログファイルを週ごと、月ごと、あるいは適当な単位でフォルダに入れて分析するイメージです) ファイル名が変更されたことを拾わないのが一番良いのですが、どうもそれらしいことはできないようで、こまっています 皆さんならどうしますか?フォルダアクションでやろうとすることが間違いでしょうか?
691 名前:名称未設定 mailto:sage [2009/06/14(日) 01:03:43 ID:rL2Y4BEK0] 別のフォルダに移動してからリネーム は?
692 名前:名称未設定 mailto:sage [2009/06/14(日) 04:58:37 ID:GbfflDsr0] 「分析」-リネーム-移動を1つのdo shell scriptでやれば問題ない話ではないのか? 移動してしまえば当該フォルダへの追加というイベントは拾わなくなる気が。 前段階だけやってるからハマっているように私には見える。
693 名前:名称未設定 mailto:sage [2009/06/14(日) 11:53:09 ID:aUwSj36e0] >>690 フォルダアクションで、ファイルが追加された時に、日付のフォルダを作って そこに移動するってスクリプトはよくあるけど、フォルダ作っても新しいファイルが 追加されたとは認識されないよ。 いくつか気になる点が… added_items は、ファイルのリスト (複数ファイルが入る可能性あり) なんだけど、 考慮されてないっぽい .DS_Store や Icon^M みたいな、Finder が勝手に作るファイルを考慮に入れてない → どうやってフォルダアクションが延々動いてるって確認した?
694 名前:690 mailto:sage [2009/06/14(日) 22:18:43 ID:F9xi/s+50] 書き込み、ありがとうございました 遅くなりましてすみません 説明不足でした やりたいことは、テキストファイルの内容を分析し、内容にあったファイル名にする、です テキストファイルは、例えばApacheのログであったりTomcatのログであったり、そのほか適当なアプリケーションのログであったりします テキストファイルが何のログかは分析しないので、APACHEフォルダやTOMCATフォルダや適当なアプリフォルダを作り、そこにドロップすることでフォルダクションスクリプトが動いて分析し リネームされたファイルがそのフォルダの中にある、という動作を想定していました 分析内容は日毎のアクセス件数の平均の多寡によりOKやNGと言ったような感じです(実際はもう少し複雑なのでC++で作成しました) 前段階のスクリプトは、AppleScriptに慣れていないので、とりあえずShellScriptを呼び出す方法を理解したくて書いてみただけです が、AppleScript側というかフォルダアクション側から見れば、フォルダアクションの結果、フォルダにドロップされたファイルの名前が変更される、ですので 前段階のスクリプトで充分検証可能だとおもったのです
695 名前:690 mailto:sage [2009/06/14(日) 22:20:15 ID:F9xi/s+50] >>691 >>692 自分の想定ではフォルダアクションを設定したフォルダに入れておきたいのですが、やはり設定したフォルダから移動するのが一般的でしょうか? 分析するアプリケーションの種類が少数であれば良いのですが、いずれ増やしていくつもりなので、1つのアプリに付き2つのフォルダというのはちょっと贅沢かな、とおもっています >>693 >added_items は、ファイルのリスト (複数ファイルが入る可能性あり) なんだけど、 適当なテストのつもりでしたので、ここではリストであることは無視していました >.DS_Store や Icon^M みたいな、Finder が勝手に作るファイルを考慮に入れてない これは想定外でした がC++の方で拡張子を指定(.logだけ処理)としていたので、特に問題はないかとおもっています >→ どうやってフォルダアクションが延々動いてるって確認した? 前段階のスクリプトをフォルダアクションとして設定し、そこにファイルをドロップするとAppleScriptが実行されるたびにドックにアイコンが表示されたので 延々と実行されているのだ、と認識しました ターミナルを立ち上げ、そのフォルダに移動してlsを連打し、ファイル名の後ろに時刻がどんどん付け足されてファイル名が長くなっていくのも確認しましたので フォルダアクションを設定したフォルダの中でリネームするということは「新しいファイルが加わった」と判定されるのではないか、とおもったのです
696 名前:名称未設定 mailto:sage [2009/06/14(日) 23:41:22 ID:12ThMYRE0] shellに渡すと延々動くね。AppleScriptだけで完結すれば問題ないけど。 フォルダ内のファイル数を記録しておいて、変わらなければ何もしないようにするとか。 スマートじゃないね。頭悪いんでこの程度しか思いつかん。スマン
697 名前:690 mailto:sage [2009/06/15(月) 00:34:30 ID:ShPQmIPm0] >>696 検証ありがとうございます AppleScript内で完結していれば何の問題もないということは、ShellScriptが起動した時点で別プロセスとなっている為、イベントが発生する、ということなのでしょう 同プロセスで起動することも出来ないですし、C++の方で分析した結果をAppleScriptに返してAppleScriptでリネームしてみます 読んでくださった方、書き込んでくださった方、本当にありがとうございます もう少しAppleScriptで遊んでみます
698 名前:名称未設定 mailto:sage [2009/06/15(月) 05:06:42 ID:3+Uz5go00] 思いつきで言うんで、間違ってたらごめんなんですが、 C++のコマンドでは、変更後になるべきファイル名を返すようにして リネームの処理はAppleScriptにやらせるのだとどうなるでしょうか。 コマンドの結果はdo shell script の戻り値として得られます。つまり set newName to do shell script "yourCommand "
699 名前:名称未設定 mailto:sage [2009/06/15(月) 05:08:37 ID:3+Uz5go00] 途中で送ってしまった。つづき AppleScriptでのリネームは tell app "Finder" set name of theFile to newName end こんな感じです。
700 名前:692 mailto:sage [2009/06/16(火) 00:03:33 ID:VeIPeggb0] 冷静に>>690 を読むと確かにリネームまでC++のツールでやろうとしてるように読めるな 実際、C++で処理する方が実行速度は稼げるけど、そこまで必要なければ、というか、AppleScriptと連携させるのであれば、寧ろファイル操作はASに任せてもいい気が。 つかファイル名じゃなくて、ファイル種別によって予め決めた終了コードを返し、AS側で分岐させるかな、俺なら
701 名前:名称未設定 mailto:sage [2009/06/16(火) 00:29:56 ID:xRcB0s0l0] C++で書く方が得意or簡単ならAppleScriptに固執する必要は無いでしょ。 launchd Agent使えばfolder監視もできる。 developer.apple.com/macosx/launchd.html ~/Library/LaunchAgents/com.apple.FolderActions.folders.plistを 見れば判る様にLeopardではFolderAction自体launchd Agentを使ってる。
702 名前:690 mailto:sage [2009/06/16(火) 00:51:09 ID:6K94KIQ60] 色々とありがとうございます >>698 >>700 現在はAppleScriptでフォルダアクション→C++で解析→解析結果を拾ってAppleScriptでリネーム、という流れにして、想定通りに動くようになりました
703 名前:690 mailto:sage [2009/06/16(火) 00:54:13 ID:6K94KIQ60] >>701 何と、そんな方法が…… 素晴らしい情報ありがとうございます
704 名前:名称未設定 mailto:sage [2009/06/16(火) 00:59:04 ID:ZEmWLU6h0] ttp://piyocast.com/as/archives/253 上のソースを実行しても,うちのLeopard環境(10.5.7)では値がかえってきません。 同じLeopard環境で上のソースが問題なく実行できるという方はいますか?
705 名前:名称未設定 mailto:sage [2009/06/16(火) 01:47:24 ID:JK7Z2RtGO] 規制うざいのぅ >>704 基本的な事だが、まずはこれを確認 ttp://piyocast.com/as/archives/269
706 名前:名称未設定 mailto:sage [2009/06/16(火) 07:44:51 ID:ER9HQYNK0] >>705 最初にそこを確認しましたけどダメでした。 補助装置にはチェックが入ってて >>704 で確認してもtrueということで。
707 名前:名称未設定 [2009/06/16(火) 09:59:41 ID:05VgSyEgP] OS9なんですけど、クリックで本体をスリープさせる スクリプトってできますか?
708 名前:名称未設定 [2009/06/16(火) 10:44:44 ID:byiJ9M1d0] >>707 スクリプトエディタ以下を記述して、アプリケーションで保存。 tell application "Finder" to sleep
709 名前:707 [2009/06/16(火) 11:14:01 ID:05VgSyEgP] >>708 ありがとうございます。 できました。
710 名前:名称未設定 [2009/06/16(火) 11:19:24 ID:byiJ9M1d0] >>704 多分、言語を英語にしないと、そのままじゃ動かない。 そこの tell list 1 の直後に以下のコードを追加して処理を見れば原因が分かると思うよ。 repeat with i in every UI element log (description of i) as string end repeat うちの環境(10.5.7)では、上記コードで例えばアプリケーションなら "アプリケーション Dock 項目" という文字列が返ってきた。 Leopardになってから、description の値に日本語翻訳が入ったのかもしれない。 というわけで、取得できるようにするには tell list 1 〜 end tell の処理を下記のようにすれば良いかと。 --アプリケーション set apList to title of every UI element whose description is equal to "アプリケーション Dock 項目" --登録された書類 set docList to title of every UI element whose description is equal to "書類 Dock 項目" --最小化されたウィンドウ set winList to title of every UI element whose description is equal to "しまわれたウインドウ Dock 項目" ちなみに、フォルダを登録している場合は、下記のようにすればよさげ。 --登録したフォルダ set folderList to title of every UI element whose description is equal to "フォルダ Dock 項目" --returnを下記に変更 return {apps:apList, docs:docList, wins:winList, folders:folderList}
711 名前:710 [2009/06/16(火) 12:03:39 ID:byiJ9M1d0] >>704 連投スマン。 10.4でも正しく動作させるには tell list 1 〜 end tell の処理を下記のようにした方が良いはず。 --アプリケーション set apList to title of every UI element whose subrole is equal to "AXApplicationDockItem" --登録された書類 set docList to title of every UI element whose subrole is equal to "AXDocumentDockItem" --最小化されたウィンドウ set winList to title of every UI element whose subrole is equal to "AXMinimizedWindowDockItem" なぜなら、description の意味は「説明」。 説明が日本語だろうが英語だろうが空欄だろうが問題ないはず。 そんな説明を「種類」を抜き出す処理に使っているのは、推奨できないと思う。 その種類を表すプロパティが UI element の場合は subrole のようだ。 というか System Events の用語説明の subrole に書いてあるのね…。 an encoded description of the UI element and its capabilities (適当訳:UIエレメントとその性質をコード化した)
712 名前:名称未設定 mailto:sage [2009/06/16(火) 12:46:11 ID:JK7Z2RtGO] >>704 頓珍漢な事を書いてすまない >>710 の言う通り英語でしか動かないね descriptionはローカライズされているようだ 言語依存しないようにwhose以下を whose subrole is "AXApplicationDockItem" whose subrole is "AXDocumentDockItem" whose subrole is "AXMinimizedWindowDockItem" てな感じで書いてみてもいいかな
713 名前:名称未設定 mailto:sage [2009/06/16(火) 12:48:59 ID:JK7Z2RtGO] 更新すりゃよかった 俺カコワルイ
714 名前:名称未設定 [2009/06/16(火) 14:18:42 ID:Q058B9BW0] イラレやPhotoshopでメニューバーに「スクリプト」メニュー追加する方法が分からなくなりました。 以前は、そのためのapplescriptが付属していたような・・・ 分かる方いたら教えてください。 ググりましたが解決しませんでした。
715 名前:名称未設定 [2009/06/16(火) 20:59:07 ID:05VgSyEgP] すみません。 スクリプトエディタ1.6(OS9)で、「全てのウインドウを閉じる」の スクリプトを書いたんですけど、構文エラーが出ます。 tell application "Finder" close every Finder windows end tell どう直せばいいのでしょうか?
716 名前:名称未設定 mailto:sage [2009/06/16(火) 21:04:56 ID:EnX+FFUl0] tell application "Finder" close every window end tell
717 名前:名称未設定 [2009/06/16(火) 21:23:49 ID:05VgSyEgP] >>716 ありがとう
718 名前:704 mailto:sage [2009/06/17(水) 10:27:30 ID:vplx/Ow80] >>710 >>712 教えていただいたsourceでタイトルが取得できました。 ありがとうございました。
719 名前:名称未設定 mailto:sage [2009/06/17(水) 11:35:30 ID:3O0cPPFX0] これくらい環境整ってると生産効率格段に違うんだろうな... 素直に凄い ttp://piyocast.com/as/archives/733
720 名前:名称未設定 mailto:sage [2009/06/17(水) 22:58:00 ID:eqljvYl60] ていうか標準でも(必ずしも十分とは言えないが)そこそこには入力支援スクリプトがついているんだな。知らなかった
721 名前:名称未設定 mailto:sage [2009/06/24(水) 16:39:56 ID:X8F7KQmY0] フォルダアクションを設定したフォルダに 大量もしくは巨大なファイルをコピーすると、 コピーが完了する前に、フォルダアクションが立ち上がってしまいます。 立ち上がってしまうのはしょうがないのですが、 コピーが終了するのを検知して処理を開始したいのですが、 可能でしょうか?
722 名前:名称未設定 mailto:sage [2009/06/24(水) 16:47:56 ID:eiA3HxO00] コピーウインドウがなくなってから処理をするとか。 荒技ですまん --- tell application "Finder" set theWins to name of windows if theWins does not contain "コピー" then (* コピー終了後の処理 *) end if end tell ---
723 名前:名称未設定 [2009/06/24(水) 18:20:39 ID:pWLsWSc10] acrobat7 proでしおりのリストを取り出すと日本語が文字化けするのですが、 何か回避方法はないでしょうか? javascriptでやろうとしましたが、jsの方は文字化けしないのですがページ番号の取り出し方がわかりません。
724 名前:名称未設定 [2009/07/01(水) 10:55:08 ID:5a5vkrF10] OS10.5.7使用。 a.jpg, b.JPGと混合したファイルをドロップすると、 ・拡張子が大文字の".JPG"の場合".jpg"に変更。 ・もしくは拡張子が大文字なら小文字へ。 どちらか簡単な方でよいのでどなたか教えていただけませんか?
725 名前:名称未設定 [2009/07/01(水) 11:03:18 ID:yVm3oP8r0] >724 つRenamer4Mac
726 名前:名称未設定 mailto:sage [2009/07/01(水) 12:16:10 ID:qz6hN3AM0] ファイル名のリネームはAutomator一択だろJK "選択されたFinder項目を取得"→"Finder項目の名前を変更"の組み合わせでOK "テキストを置き換える"にして検索文字列をJPG,置換文字列をjpgにすればいい 大文字/小文字を無視のチェックは外しておくこと
727 名前:名称未設定 [2009/07/01(水) 13:24:08 ID:5a5vkrF10] >>726 X.JPGを選択したら 選択されたFinder項目を取得 になったが先がわからない・・
728 名前:名称未設定 mailto:sage [2009/07/01(水) 20:07:26 ID:t/oRihd90] >>727 Automatorはワークフロー作成した後にファイルを選択して実行 単純に拡張子だけ大文字→小文字にするスクリプトならこんな感じ on open DROPS tell application "Finder" repeat with I in DROPS set OLDXTN to name extension of I as text set LENGTHOFXTN to number of characters of OLDXTN set NEWXTN to do shell script "echo " & OLDXTN & " | tr '[A-Z]' '[a-z]'" set FILENAME to text 1 thru -(LENGTHOFXTN + 1) of (name of I as text) set name of I to FILENAME & NEWXTN end repeat end tell end open
729 名前:名称未設定 mailto:sage [2009/07/01(水) 22:02:55 ID:MUMuOLwE0] >>724 shupapan使った方が楽だけどな
730 名前:名称未設定 mailto:sage [2009/07/02(木) 14:16:14 ID:g9DhaeoR0] >>721 あまりいい方法とは思えないが、うちではこんな感じ。 フォルダアクションを設定したフォルダで ls -l を実行すると、コピー中のファイルとコピー済みのファイルとで パーミッションが違うのがわかる。 すべてのファイルのパーミッションがコピー済みの状態になるまで repeatでls -l を繰り返して、コピー中かどうかを判定してる。
731 名前:名称未設定 [2009/07/02(木) 16:09:18 ID:PPcna6kK0] インデザインCSで別名保存がしたく、以下のスクリプトを組んでみたのですが、 最後の置き換えボタンの所でエラーが起こります。 最後の所を"キャンセル"に変えるとエラーは起こりませんが、キャンセルも実行されません。 activate application "InDesign CS_J" tell application "System Events" tell process "InDesign CS_J" click menu item "別名で保存..." of menu 1 of menu bar item "ファイル" of menu bar 1 click button "保存" of window "別名で保存" click button "置き換え" of window 1 end tell end tell
732 名前:名称未設定 mailto:sage [2009/07/03(金) 01:05:03 ID:DHN2wJRV0] インデザ持ってないけど、あくまでも一般論として、activateするのってtell processした後じゃなかったっけ? それから、 click button "置き換え" of window 1 ってあるけど、of以下っているのかな? 見当違いだったらスマソ
733 名前:名称未設定 mailto:sage [2009/07/03(金) 01:56:38 ID:kh9Cn6vBO] 同じく持って無いので参考程度にしかならないが、 ボタンによる状態遷移がノータイムとは限らないから、 何らかのウェイトは置いた方がいいかもね >>732 activateはapplicationに対する命令だから、 System EventsのElementsであるapplication processには直接影響しないよ 前でも後でも記述上問題無いけど、どちらかってーと前に書いた方が無難 あとof window 1を省くとprocess直下にbuttonがある事になっちゃうので、 それは構造上ありえないんじゃないかな 予想だとwindowではなくsheet、例えば button "置き換え" of sheet 1 of window "別名で保存" …だったりとか?
734 名前:名称未設定 mailto:sage [2009/07/03(金) 02:04:12 ID:yJyiGUBh0] >>731 click button "保存" of window "別名で保存" delay 0.3 click button "置き換え" of window 1 で解決
735 名前:名称未設定 [2009/07/03(金) 09:26:49 ID:lU7fMxEu0] >732-734 ありがとうございます。 結論から言うと、>734さんの方法で上手くいきました。 ただ、delayだと0.3とは限らずエラーが起きる場合もありそうなんで、 もっと確実に回避できる方法って無いでしょうか? で、言われたことも検証してみました。 一行目のactivate application "InDesign CS_J"は取るとエラーが起きました。 click button "置き換え" of window 1のof window1も削除するとエラーが起きました。 UI scriptは初めてで全くわからなかったんで、 UI Browser(demo)の吐き出したコードを元にやっています。 ただ、tell processの部分の"InDesign CS_J"はUI Browserの出すコードでは"Adobe InDesign"となってて、 そのままだと上手く動かなかったんで変更したんですよね。
736 名前:724 [2009/07/03(金) 10:26:20 ID:ryg47w4R0] >>728 ご親切に有り難うございます。 あなたは今日から私の神です。 >>729 shupapan愛用してるが各設定のドロップレットを保存できればいいんだが。。
737 名前:名称未設定 mailto:sage [2009/07/03(金) 10:51:41 ID:WDd3QFI30] System Events使わなくても済む程度にAppleScriptに対応して欲しいな 高いんだしAdobeのDTPソフトとMacは昔からの付き合いなんだしねえ
738 名前:名称未設定 mailto:sage [2009/07/03(金) 15:18:12 ID:5UQuM/kF0] >>737 久しぶりにInDesign CS3開けてみた。普通にsaveコマンド効くよ?確かCS2も4もいけた記憶が。 Adobeもちゃんと頑張ってると思う。無印開けたことなかったから知らなかったけど対応してなかったのか。
739 名前:名称未設定 mailto:735 [2009/07/03(金) 15:41:38 ID:lU7fMxEu0] >738 saveコマンドしかなかったので、別名で保存はできないのかと思い込んでいましたが 試してみたらできました。 まあ今回はUI scriptingを試す機会にもなったので良しとしておきます。 お騒がせしました。
740 名前:735 [2009/07/03(金) 15:42:44 ID:lU7fMxEu0] 間違えてメール欄に入れていた。 >739は735です。
741 名前:名称未設定 mailto:sage [2009/07/04(土) 00:55:52 ID:TSGA7cJhO] >>735 先述の様に恐らくbuttonが(ていうかwindowが)表示される前にclickしようとしてエラーになってるので、 確実に存在する状態まで待つか、エラーにならなくなるまでclickし続ければいい 前者はdelay以下の代わりに repeat until exist button "置き換え" of window 1 end repeat click button "置き換え" of window 1 後者は同じく repeat try click button "置き換え" of window 1 exit repeat end try end repeat 更に完璧を期するならenabledを調べたり、イロイロやる余地はある
742 名前:名称未設定 mailto:sage [2009/07/04(土) 01:02:39 ID:TSGA7cJhO] 訂正 existではなくexistsだっけか あと書いてお置いてなんだけど無限ループは何かと危なっかしいから、 あんまり使わない方がいいかも
743 名前:名称未設定 mailto:sage [2009/07/05(日) 01:33:26 ID:zOlSNB6s0] iTunesの曲情報を変更するScriptを作ろうとしましたが、うまくいきません。 やりたいことは以下の通りです。(iPodでアルバムを発売年順に並べるため) 1.曲情報の「年」を取得 2.それをアルバムのオリジナルと結合し、「並び替え」項目の「アルバム(読み)」に入れる 例:アルバム名”Carol” → アルバム(読み)"1988Carol" のようにしたい ttp://blog.chibiegg.net/2009/06/29_20_337.htm を参考にして書いてみたのですが、数曲でエラーになったり、エラーは出なくても数曲は変更できなかったりします。スクリプトは以下の通りですが、どうすればうまくいきますか? display dialog "iTunesで選択した曲の「アルバム(読み)」項目に年を入力します" buttons {"NO", "OK"} default button 2 set button_a to button returned of result if button_a = "OK" then --iTunesのスクリプト tell application "iTunes" try set name_list to {} set select_track to a reference to selection if select_track as list is {} then return repeat with i in select_track set end of name_list to i end repeat repeat with i in name_list set original_year to year of i set original_album to album of i set new_tag to original_year & original_album as string set sort album of i to new_tag end repeat on error display dialog "エラー発生" buttons {"OK"} default button 1 end try end tell display dialog "終了" buttons {"OK"} default button 1 end if
744 名前:名称未設定 mailto:sage [2009/07/05(日) 09:00:25 ID:s3uFR/Ps0] >>743 処理速度が間に合わないのかも。一入力が終わるごとにdelay 1とかやってみて
745 名前:名称未設定 mailto:sage [2009/07/05(日) 11:13:14 ID:zOlSNB6s0] >>744 どうもありがとう。試してみました。確かにエラーは出なくなりましたが、変更されないものがあるのは変わりませんでした。(約200曲でテストし、変更されないものが3割程度) delay を 3 にしても症状は変わらず。 iTunesを見ていると、タグが変わると同時にどんどんソート順が変わっていくので、その分delay をかなり長く取らないといけないかもしれません。
746 名前:名称未設定 mailto:sage [2009/07/05(日) 13:30:53 ID:lxajQgtH0] >>743 なんだかとても無駄が多い気がする。 シンプルにこんな感じではどう? display dialog "iTunesで選択した曲の「アルバム(読み)」項目に年を入力します" buttons {"NO", "OK"} default button 2 set button_a to button returned of result if button_a = "OK" then --iTunesのスクリプト tell application "iTunes" try set selectionList to selection repeat with theTrack in selectionList set original_year to year of theTrack set original_album to album of theTrack set new_tag to (original_year & original_album) as string set sort album of theTrack to new_tag end repeat on error display dialog "エラー発生" buttons {"OK"} default button 1 end try end tell display dialog "終了" buttons {"OK"} default button 1 end if
747 名前:743 mailto:sage [2009/07/05(日) 19:04:44 ID:zOlSNB6s0] >>746 すばらしい!何度やっても成功します。 実行速度も大幅アップ。どうもありがとうございました。 確かに、上のループは無駄ですね。勉強になりました。 これを、iTunesでCD取り込んだ直後に必ず実行、のように設定するのは可能なのでしょうか。
748 名前:735 [2009/07/06(月) 10:15:00 ID:U/rFKgL/0] >742 ありがとうございます。 今回は結局saveが使えましたが、今後の参考にさせて頂きます。 確かに無限ループは余り使いたくありませんが・・・。
749 名前:名称未設定 [2009/07/06(月) 16:21:42 ID:Ik2H/7TsP] www005.upp.so-net.ne.jp/maruho/g4.html#20 このページの「20.起動時爆音問題、解決」に載ってるスクリプトなん ですけど、システム終了項目に入れてる方は、うまく動作してるん ですけど、システム起動項目にいれている方のスクリプトが、起動時 に長時間待たされたあげくにエラーが出てしまって、スクリプトがうま く実行されません。 以前はうまく動作していたのですが、エラーが出る原因は何なんで しょうか? 一度電源を落として翌日からも、ずっとエラーが出ます。
750 名前:名称未設定 mailto:sage [2009/07/06(月) 16:46:18 ID:fVf8P5jC0] 機種とOSとエラーの内容くらい書いたら?
751 名前:名称未設定 [2009/07/06(月) 17:52:21 ID:Ik2H/7TsP] すみません。 G4 MDD、OS9で、「イベントの終了メッセージ待ちしてて タイムアウト」みたいな感じです。
752 名前:名称未設定 mailto:sage [2009/07/07(火) 02:45:50 ID:m9Kr0rEx0] >>751 先ずは新しいマシンを購入すべき 質問は、その後でw
753 名前:名称未設定 mailto:sage [2009/07/08(水) 01:10:33 ID:mwrEmuwS0] >>752 先ずはG4 MDD、OS9付を購入すべき 回答は、その後でw
754 名前:名称未設定 mailto:sage [2009/07/08(水) 01:16:54 ID:cRl0ctE+0] それじゃ一生回答してくれる人いないぞ
755 名前:名称未設定 mailto:sage [2009/07/08(水) 07:30:24 ID:QE8yPRRm0] >>749 そのスクリプト、Standard Additions(標準機能追加)OSAXを使っているだけなので Finderに tellするブロックは要りません。 set volume 0 --これだけで動作するはずです。 > 以前はうまく動作していたのですが、 ということなので Standard Additions又は、標準機能追加 OSAXがシステムフォルダ内の スクリプティング機能追加フォルダに入っているかどうか。 入っているなら、壊れている可能性も有るのでこのファイルを入れ換えてみて下さい。 それでもダメなら新しいAppleScriptに全部入れ替え AppleScript 1.8.3(Mac OS 9.1or later) docs.info.apple.com/article.html?artnum=120128
756 名前:名称未設定 [2009/07/08(水) 08:58:03 ID:3mb+Ej5b0] AppleScriptやシェルスクリプトの入門書でお勧めのものがあったら教えていただけませんか? 入門サイトでもいいです。 プログラムやサーバ管理の経験は多少ありますが、スクリプト関係の知識と経験が絶無なので、勉強したいな、と…。
757 名前:名称未設定 mailto:sage [2009/07/08(水) 09:54:09 ID:b+wp8kF40] >>756 入門サイトは >>1 のAppleScript PARKとAppleScript Lab.<www.drycarbon.com/applescript/> とか。 シェルスクリプトは板違い。UNIX板へ。
758 名前:名称未設定 [2009/07/08(水) 11:33:11 ID:P9ybUUceP] >>755 ありがとうございます。 なぜか、最近、自然に治ってたんですけど、ついでに、Finder tellの ブロックを削除してシンプルにしたら、起動後の有音確認のbeepの 実行が速くなりました。良かったです。
759 名前:名称未設定 [2009/07/08(水) 11:35:31 ID:P9ybUUceP] >>756 入門書では、「AppleScriptでゼンマイびゅんびゅん」って いうのが定番みたいです。 旧、新で3冊くらいあるみたいなので、注意してください。
760 名前:名称未設定 mailto:sage [2009/07/09(木) 00:01:13 ID:8F5914Al0] AppleScriptの本は,実質無いに等しいんですよねー。 そんな中でMacPeopleがAppleScriptの特集を組んでくれたのはよかったな。
761 名前:名称未設定 mailto:sage [2009/07/09(木) 01:32:29 ID:LBYGlg+y0] AppleScript Programming for Mac OSX はオレのバイブル。今ではボロボロになってる。 調べたら入手困難だった… どんな本でも載ってるサンプルコードをそのまま打ち込んで 実行して効果を実感することが大事。
762 名前:名称未設定 mailto:sage [2009/07/09(木) 01:56:01 ID:345a/I1p0] テンプレに有るAppleScript PARK の www.tonbi.jp/AppleScript/dic/ AppleScript PARK / Dictionary(リファレンス) これじゃだめですか?
763 名前:757 mailto:sage [2009/07/09(木) 07:08:34 ID:BQfQLCeR0] >>762 このリファレンスはよくまとまっているよね。本として出版してほしいくらい。 >>757 で挙げた2つのサイトでAppleScriptのほとんどを学んだ気が。
764 名前:名称未設定 [2009/07/10(金) 00:30:12 ID:pMycUAML0] AppleScriptでスクリプトの書かれているファイル名を取得する方法はある? シェルでいうと$0(basename $0)みたいなもの #!/usr/bin/osascript return do shell script "basename $0" としても `sh' しか戻ってこなくて...
765 名前:名称未設定 mailto:sage [2009/07/10(金) 01:12:45 ID:Bg8+qFg20] >>764 path to me でスクリプトの alias 型の参照が取得できる。 OS 10.5から、スクリプトエディタで編集中でも正しくスクリプトのファイルパスを取得するよ。 www.seuzo.jp/st/Other/AS2.0.html 他参考 www.tonbi.jp/AppleScript/tips/Alias/RelativePath.html slashdot.jp/~azk/journal/423903 #この質問はFAQだな。前のスレでもあったし。
766 名前:名称未設定 [2009/07/15(水) 00:20:17 ID:/C23je9T0] とりあえず アップルスクリプトってなに?
767 名前:名称未設定 mailto:sage [2009/07/15(水) 00:38:55 ID:V0/3mzQ+0] >>766 ざーっくり言うとMacを操作できる簡易なプログラム言語。 これでわからないなら「ざっくりマンデー」に質問してみてくれ。
768 名前:名称未設定 mailto:sage [2009/07/16(木) 13:11:05 ID:YP6jCy5H0] Mac OS X 10.4.11を使用しています。 次のスクリプトをスクリプトエディタで動かすと正常に動作するのに、アプレットとして起動すると正常に動作しません。 以下、具体的なスクリプトです。 --- set asdlm to AppleScript's text item delimiters set AppleScript's text item delimiters to ":" set a to (path to me as text) display dialog text item -2 of a--(*) set AppleScript's text item delimiters to asdlm --- スクリプトエディタで動かすと、(*)の結果は"Script Editor.app"となります。 しかし、アプレットとして動かすと、"Can't get text item -2 of 〜"となります。 この原因がさっぱりわからないのです。どなたか理由をご存じの方、理由を教えていただけると幸いです。 よろしくお願いいたします。
769 名前:名称未設定 mailto:sage [2009/07/16(木) 14:32:25 ID:+mLgvKU80] >>768 AS2.0.1 OS10.5.7 この環境で問題なしだったよ。 システム壊れてるかも。あたらしい環境作ってためしてみなー。
770 名前:名称未設定 mailto:sage [2009/07/16(木) 14:38:12 ID:rD5p5EBG0] >>768 アプリケーションバンドルで保存して Japanese.lproj を追加する
771 名前:768 mailto:sage [2009/07/16(木) 14:45:43 ID:YP6jCy5H0] >>769-770 >>770 さんの方法で無事に動きました。 ありがとうございました。
772 名前:名称未設定 mailto:sage [2009/07/16(木) 17:37:37 ID:HdWSG8bM0] 文字列の最後に改行を三つ付け足したいのですが、 set theText to theText & {return} & {return} & {return} as string こういう書き方以外に、return×3をスマートに表す方法ってあります?
773 名前:735 [2009/07/16(木) 18:06:30 ID:x8lJBa4h0] >>772 set theText to (theText as string)&"¥r¥r¥r"
774 名前:名称未設定 mailto:sage [2009/07/16(木) 18:31:37 ID:HdWSG8bM0] >>773 レスどうもです。 試してみたところ、動作は問題ないのですが、 set theText to (theText as string)&" " こんな感じで、スクリプトエディタ上ですでに改行された状態になってしまいました…。
775 名前:名称未設定 mailto:sage [2009/07/16(木) 18:32:15 ID:YP6jCy5H0] >>772 set theText to theText & rr(3) --- (* 改行をt個つける関数rr *) on rr(t) set a to "" repeat t times set a to (a & {return}) end repeat return a end rr
776 名前:名称未設定 mailto:sage [2009/07/16(木) 18:39:58 ID:HdWSG8bM0] >>775 おお、サブルーチンカコイイ! set theText to theText & my rr(3) でいけました。 改行をたくさん使う時に便利そうですね ψ(‥ ) メモメモ...
777 名前:775 mailto:sage [2009/07/16(木) 18:47:05 ID:YP6jCy5H0] ちょwネタレスのつもりだったのにw まぁ無駄レスにならんでヨカター
778 名前:名称未設定 mailto:sage [2009/07/17(金) 11:13:04 ID:anQozH4tO] >>768 set AppleScript's text item delimiters to ":" as Unicode text とするとアプレットのままでも動いたよ ただしアプレットの場合はpath to meの結果に最後の":"がつかないから、 アプリ名を表示するのが目的なら表示側も変えないといけないけど display dialog text item -1 of a >>772 >>set theText to theText & {return} & {return} & {return} as string この書き方がそもそも冗長ではあるよね リスト化も文字列化も必要無いので、これでいい set theText to theText & return & return & return スマートとは言えなさそうだが、こんな書き方もできる set theText to theText & ≪data utxt000D000D000D≫ ≪data utxt000D000D000D≫には、本当はas stringかas Unicode textが要るんだけど、 前にくっつけるtheTextに倣って自動変換してくれる
779 名前:772 mailto:sage [2009/07/17(金) 19:00:15 ID:5kj6daby0] >>778 >set theText to theText & return & return & return >set theText to theText & ≪data utxt000D000D000D≫ 上の方がシンプルでわかりやすいので、こちらを使うことにします。 下の方は改行に限らず、特殊な文字を表す時に使えそうですね。 とても参考になりました。ありがとうございます。
780 名前:名称未設定 [2009/07/22(水) 11:45:03 ID:dHg3SDD70] PhotoShopをつかってASで取得した、カラーモードの、《constant ****e083》意味を教えてください。
781 名前:名称未設定 mailto:sage [2009/07/22(水) 21:32:38 ID:eHBDZj5u0] ATOKの「ユーザー辞書」を「ATOK 辞書ユーティリティ」を使い、applescriptで開きたいと思っています。 tell application "Finder" open file "/Users/xxxxxx/Library/Preferences/ATOK21/ ユーザー辞書" using "/Library/Application Support/JustSystems/ATOK 2009/Support/ATOK DicUtility.app" end tell と試行錯誤をしてみたのですが、どうしてもエラーが返ってきてしまいます。 「&1を取り出すことはできません。」 何卒ご教示お願いいたします。
782 名前:名称未設定 mailto:sage [2009/07/22(水) 23:57:08 ID:G8RvuAiW0] >>781 その用途はAutomatorでいけると思う あとATOKとかにApplescript対応を求めるのが間違い
783 名前:名称未設定 mailto:sage [2009/07/23(木) 00:09:37 ID:XA7F6mFV0] >>781 set pref to ((path to preferences) as string) tell application "Finder" open file (pref & "ATOK22:ATOK22ユーザー辞書1") end tell のようにすればうまくいったよ。
784 名前:名称未設定 mailto:sage [2009/07/23(木) 01:06:52 ID:ruyEtXW60] >>780 「カラーモードの、《constant ****e083》」を取得できたスクリプトを教えて
785 名前:名称未設定 [2009/07/25(土) 13:30:04 ID:aHQwJDQy0] 質問させてください。TimeMachineバックアップのボリュームを取得したいのですが、 tell application "System Events" set tm_plist to value of contents of property list file "/Library/Preferences/com.apple.TimeMachine.plist" (|BackupAlias| of tm_plist) end tell と書いてみました。これを実行すると結果として «data ****0000…略…0000» が出ます。これをalias型か何かのファイル参照にできないでしょうか? as alias としても失敗します。 結果をスクリプトにコピペして «data alis0000…略…0000» と書き換えて実行するとボリュームを指すaliasに変わってくれるのでaliasデータである事は 間違いなさそうなのですが。OS 10.5.7です。
786 名前:(・∀・) mailto:sage [2009/07/25(土) 17:43:09 ID:zeKJUHlO0] >>785 valueで取り出してはいけなかったような。 以下はiTunesでTracksを取り出す例。この記述を参考に。 set trs to property list item "Tracks" of contents of property list file "〜.xml"
787 名前:名称未設定 mailto:sage [2009/07/26(日) 12:57:28 ID:Iyj+Iql80] >>785 力づくだが…… >>785 力づくだが…… set tempFilePath to "/tmp/backupAliasTemp" set tempFile to POSIX file tempFilePath tell application "System Events" set backupAlias to property list item "BackupAlias" of contents of property list file "/Library/Preferences/com.apple.TimeMachine.plist" set tempFileHandler to open for access tempFile with write permission try write ((text of backupAlias) as Unicode text) to tempFileHandler end try close access tempFileHandler end tell set timeMachineVolume to POSIX file (do shell script ("ruby -e \"require 'nkf';puts NKF.nkf('-mB -w', File.read('" & tempFilePath & "'))\" | strings | tail -n 1; rm " & tempFilePath))
788 名前:785 mailto:sage [2009/07/26(日) 16:13:05 ID:EUIADagx0] >>786 値を取るにはいずれどこかでvalueを見る必要があると思います。 Rootのvalueから見てくか末端までvalueを見ないかの違いではないかと ちなみにこうやっても同じでした tell application "System Events" set tm_plist to (contents of property list file "/Library/Preferences/com.apple.TimeMachine.plist") set volume_data to (property list item "BackupAlias" of tm_plist) (value of volume_data) as alias end tell >>787 2回もの「力尽く」でありがとうございます。(ちなみに辞書.appによると ちから「ず」く のようです…) これも結構無理矢理ですが、こんなやり方でもできました。実行すると数秒待たされますw set xml_string to (do shell script "defaults read '/Library/Preferences/com.apple.TimeMachine' 'BackupAlias'") -- xml_string は "<00000000 021a0002 000…ffff 0000>" なので16進文字だけにする set hex_text to "" repeat with c in xml_string if (c is in "0123456789abcdef") then set hex_text to (hex_text & c) end repeat -- 'alis' data として変換させる run script "«data alis" & hex_text & "»" ちなみにこれ、バックアップボリュームをマウントしてない時だとなぜか、 alias "/Volumes/Time Machine バックアップ" などという存在しないものを返してきます。
789 名前:名称未設定 mailto:sage [2009/07/26(日) 16:38:50 ID:3iI9f40r0] >>788 なんで"ッ"の上に濁点がついてるんだ?
790 名前:名称未設定 mailto:sage [2009/07/26(日) 17:36:48 ID:EUIADagx0] 「バックアップ」の部分がBathyScapheでは変に表示されてますねw Firefoxでは問題ないです。 スクリプトエディタの結果からBathyScapheにコピペ。 エンコードがどうたらで書き込めないのでさらにFirefoxにコピペして書き込んだらなぜかこうなりました…
791 名前:名称未設定 mailto:sage [2009/07/26(日) 17:43:07 ID:3iI9f40r0] >>790 たぶんスクリプトエディタが濁点を正しく処理&表示できてない ひらがなとカタカナの区別も出来ないらしいし ttp://piyocast.com/as/applescriptiydhye105e/oeeeyyyyeieeice/ を参照
792 名前:名称未設定 mailto:sage [2009/07/27(月) 19:10:15 ID:EK04TzG60] >>791 前スレでも書いたけど、AppleScript2.0のUnicode文字比較はカレントロケールの 基準で行われるから、System Preferences > Internationalのソート順設定で 結果が変わって来る。例えば下の比較 {"is" = "IS","is" = "is"} -- {ASCII小文字=ASCII大文字,ASCII=Fullwidth} Locale English --> {true,false} Locale Japanese --> {true, true} Locale Turkish --> {false, false} となる。驚いたことにトルコ語の"i"の大文字は"I"じゃないから全く一致しない。 AppleのAS担当者はUnicodeのこういう面全く知らないんだろうね。デフォールトでは 共通ロケール使い、considering localeでカレントロケール使う様な仕組みが欠けてる。
793 名前:名称未設定 mailto:sage [2009/07/27(月) 19:37:44 ID:PO2+vvtv0] >AppleのAS担当者はUnicodeのこういう面全く知らないんだろうね。 そう思うならフィードバックしてやればいいやん こいつ思い出す www.bekkoame.ne.jp/~iimori/sw/UnicodeUtilsOSAX.html 言ってることはまともか知れんがぶちぶち鬱陶しい
794 名前:名称未設定 mailto:sage [2009/07/27(月) 21:18:12 ID:XPiUmNgd0] フィードバックしても無視されるとエロイ人が騒いでた。
795 名前:名称未設定 mailto:sage [2009/07/27(月) 21:37:04 ID:2L03+vlh0] >>793 みて思い出したが、Edit7よりはYooEdit派だったなぁ YooEditのマルチファイル検索にはよくお世話になった 完全スレ違いにつきsage
796 名前:名称未設定 mailto:sage [2009/07/27(月) 21:45:32 ID:XPiUmNgd0] Edit7のマルチファイル検索にもお世話になったぞ。
797 名前:名称未設定 [2009/07/29(水) 11:58:51 ID:4KzMEEYk0] 外部のScriptからAppleScript Studioで作ったアプリ内部のハンドラってどう呼べばいいの?
798 名前:名称未設定 mailto:sage [2009/07/29(水) 21:08:59 ID:WQ65Oyq60] 呼べないんじゃない? または,アプリの親になるスクリプトだけ呼べる? このあたりはappletの方が自由度が高いような気がする。
799 名前:名称未設定 mailto:sage [2009/07/30(木) 10:57:51 ID:zCgjq0OMO] AppleScript Script File (*.scpt) と AppleScript Text File (*.applescript) のどちらも、 /Contents/Resources/Scripts/*.scpt としてパッケージされているので、 run script やら load script で直接指定してやれば好きなように扱えるよ 仮に AppleScript Application を theApp という名前で作ってルートに置き、 theHandler というハンドラを呼ぶ場合はこんな感じ set theScript to load script ("/theApp.app/Contents/Resources/Scripts/theApp.scpt" as POSIX file) theHandler() of theScript
800 名前:名称未設定 [2009/07/30(木) 19:26:14 ID:xkR6r4CJ0] >>799 load script はAppleScript Text File (*.applescript) を読み込めない。
801 名前:名称未設定 mailto:sage [2009/07/30(木) 22:32:03 ID:bmnIxIER0] >>799 POSIXにする必要はないだろ。 それにアプリの位置をはじめに特定しなきゃいけない。 set theScript to load script file ((path to my application as string) & "Contents/Resources/Scripts/theApp.scpt") tell theScript theHandler() end tell そもそも.scptと.applescriptは完全に性質が違うし,パッケージとは本質的に関係ない。 アプリの中にある実行ファイルは.scpt
802 名前:名称未設定 mailto:sage [2009/07/31(金) 00:08:37 ID:RyQI5MW70] >>801 ヒント:アプリの位置は/
803 名前:799 mailto:sage [2009/07/31(金) 01:22:18 ID:diPjS/wxO] >>800 >>801 *.scpt や *.applescript を AppleScript Studio でビルドすると、 /Contents/Resources/Scripts/ 以下に *.scpt として保存される *.scpt だから load script できるよ …ってな事を最初の3行で書いたつもりなんだが伝わらないもんだな わかりづらくて申し訳ない 状態としては実行専用でバンドル保存した時と同じ ルートに置いたのは単なる例だね>>802 フォロー感謝 そのアプリがどこにあるか不定だとするなら、>>801 の様な書き方になるのかな POSIXパスをエイリアス化してるのは、個人的な習慣なので流して下さいな ってか今試せないんだけど>>801 みたいな書き方できるのかな 参照文字列とPOSIXパスの混在はおかしいような…?
804 名前:名称未設定 mailto:sage [2009/08/01(土) 00:18:12 ID:eiSCELPW0] ビルドしたら. applescriptじゃないじゃん。 アプリをルートに置く?変態! >参照文字列とPOSIXパスの混在はおかしいような…? うっかりしてたぜ。試さずに直打ちだったからな。 set theScript to load script file ((path to my application as string) & "Contents:Resources:Scripts:theApp.scpt") tell theScript theHandler() end tell でよろ。
805 名前:名称未設定 mailto:sage [2009/08/01(土) 01:14:06 ID:rgFGbau00] だから初めからどっちも .scpt になるって言ってじゃん それに実際ルートにファイルを置いて実験する事はよくあるんだけど、 その程度の事で変態よばわりされるのは心外だなぁ ピンと来なかったから流したけど my applcation てのも初めて見た my が指しているのはスクリプトオブジェクトだから、application とは続かんのでは >>797 は「外部のスクリプトから」と言っているし、呼び出す側のスクリプトとは無関係 特にアプリ名を弄ってなければ application "theApp" かな、この場合
806 名前:名称未設定 mailto:sage [2009/08/10(月) 20:26:04 ID:tROgkyMR0] itとかits applicationとか使えるんだっけ?
807 名前:名称未設定 [2009/08/12(水) 20:45:18 ID:6/lEY3pP0] このスレッドすばらしすぎる 本を出してくれ
808 名前:名称未設定 [2009/08/14(金) 11:45:42 ID:t1Qawg8h0] 関連付けの方法を教えてください. .appファイルを作り, 特定の拡張子のファイルをクリックすると作ったスクリプトファイルを実行させたいのですがうまくいきません. ''' on open theFiles end open ''' というような何もしないスクリプトを作り, 特定の拡張子を持つファイルの「情報を見る」メニューでアプリケーションを指定し実行することはできました. 他のファイルにも関連付けたいのですが, 「すべてを変更」ボタンをクリックすると, 関連付け先が元々指定していたアプリケーションに戻ってしまいます. 例えば,*.txtであれば,ボタンを押すと「テキストエディット」というように戻ってしまいます. 何もメッセージが出ないく上記のようなミニマムコードでも発生するので,お手上げ状態です. どなたかご教示ください. ちなみに,他のアプリ(*.txtにCarbon Emacs)では関連付けることはできました.
809 名前:(・∀・) mailto:sage [2009/08/14(金) 12:53:11 ID:Ydvl0xHm0] とりあえず、OSXのバージョン書いたら。
810 名前:名称未設定 mailto:sage [2009/08/14(金) 12:56:26 ID:Qqv11JBA0] アプリケーションバンドル Info.plist CFBundleDocumentTypes 例: /Applications/TextEdit.app/Contents/Info.plist
811 名前:名称未設定 [2009/08/14(金) 17:45:30 ID:y1kvroUD0] すみません。do shell scriptで 「スペースを含む文字列」が格納された変数を 渡すには、どうすればいいでしょうか? do shell script "perl " & perlPath これ↑で変数perlPathに格納されたパスに置かれた Perlスクリプトを実行したいのですが、 パスにスペースが含まれると、 それ以降が「2番目の引数」と見なされてしまいます。 環境はMac OS X 10.5.7です。よろしくお願いします。
812 名前:名称未設定 mailto:sage [2009/08/14(金) 18:15:54 ID:GteGzGkb0] developer.apple.com/technotes/tn2002/tn2065.html quoted form of
813 名前:811 mailto:sage [2009/08/14(金) 18:42:11 ID:y1kvroUD0] >>812 ありがとうございます。解決しました。
814 名前:808 mailto:sage [2009/08/14(金) 21:47:55 ID:t1Qawg8h0] >>809 すみません. OSXのバージョンは10.5.8です. >>810 ありがとうございます. スクリプトをアプリケーションバンドルとして保存し, TextEdit.appのInfo.plist内の拡張子txtに関する値をコピーし,CFBundleDocumentTypes 配列に追加しました. しかし,状況は依然変わりません.
815 名前:名称未設定 mailto:sage [2009/08/14(金) 21:55:02 ID:+VcvW3Pr0] >>814 再起動あるいは再ログインした? それでもおかしいならば手順がおかしいがどこかで間違ってることになるので、 後はこちらを熟読してください。 developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/BPRuntimeConfig.html
816 名前:808 mailto:sage [2009/08/16(日) 02:44:57 ID:bos/Izjb0] >>815 再起動もしました. 念のため新規作成してみました. 手順は下記の通り. 1. スクリプトを書く 2. アプリケーションバンドルとして保存する 3. CFBundleDocumentTypes配列に拡張しtxtに関する値を追加 4. txtファイルを右クリックし「情報を見る」メニューで, アプリケーションを指定し「すべてを変更」ボタンをクリック 5. 指定していたアプリケーションが元に戻ってしまうorz という感じです. ドキュメント読んで出直してきます.
817 名前:名称未設定 mailto:sage [2009/08/16(日) 04:22:31 ID:raj8GWeT0] Info.plistをいじった後でLaunchServicesのDBを更新する必要があるんじゃ? ・アプリを保存し直すか ←うろ覚え ・アプリを一旦別フォルダに移すか ←うろ覚え ・ターミナルでlsregister -fで更新するか ←ググって ・そっくり再構築してしまうか ←これもlsregisterでできるけどググって
818 名前:名称未設定 mailto:sage [2009/08/16(日) 06:38:26 ID:wyWiCqwg0] >>816 CFBundleDocumentTypesは変える必要はなく、 CFBundleIdentifierを追加するだけでいいと思います。 以下の手順で確認しました。再起動・ログアウトはしてません。 (OS 10.5.8) [1] スクリプトエディタで以下のスクリプトを書いて、 フォーマット:アプリケーションバンドル オプション:全てチェック外す で保存。 on open file_list repeat with f in file_list display dialog f as string end repeat end open [2] [1]で保存したドロップレットのパッケージ内のInfo.plistをProperty List Editorで開いて Key「CFBundleIdentifier」Value「com.apple.jp.droplet.test」を追加して保存。 (※CFBundleIdentifierについては他のアプリも参考になると思います) [3] テキストエディットで適当なテキストファイルを作成(拡張子はtxt)。 [4] [3]で作成したテキストファイルをFinderで選択し、情報ウインドウで、 「このアプリケーションで開く」の「その他...」から[1]のドロップレットを選択し、 「すべてを変更...」もクリック(&OK)する。 [5] [3]で作成したテキストファイルをダブルクリック。[1]で保存したドロップレットが動作する。 [6] ちなみに、テキストエディットで新たにテキストファイルを作成と保存し、 ダブルクリックしても、[1]で保存したドロップレットが動作する。
819 名前:808 mailto:sage [2009/08/16(日) 06:53:23 ID:9/s4dSgl0] >>818 解決しました!ありがとうございます.
820 名前:名称未設定 mailto:sage [2009/08/18(火) 03:54:59 ID:d2BwqLTK0] 自分も追加日ソート組みなため iTunesスレでの 質問に興味があるですが "Date Added" Fieldを 好きな日付けで書き換えられるようなスクリプトは 海外にも無いようで、Macの日付を戻したりして 入れ替えたり、とてももローテクで面倒でした こちらの詳しい方はどう思われますか >ソートするのに追加日でしているのですが、なぜか古いファイルが >同日になってしまい同じジャケットがバラバラ出てきて悩んでおります。 >削除して入れ直すには数が多いのでスクリプトでアルバム単位変更できないかと >Doug's AppleScriptなど探してみてはいるのですが、見落としているのか >みつかりません。 >Added Date を変更する方法解る方いらっしゃいませんでしょうか?
821 名前:名称未設定 mailto:sage [2009/08/18(火) 05:31:47 ID:O2qHJ4wa0] pc11.2ch.net/test/read.cgi/mac/1247448657/408 で触れられてたと思ったけど
822 名前:名称未設定 mailto:sage [2009/08/18(火) 23:04:55 ID:XK6x6+6J0] iTerm.app をフルスクリーンモードで起動させたい 起動後に Control-Return でフルスクリーンに出来る のだけど iTerm の設定があるのかと ~/Librarys/Preferlence/net.sourceforge.iTerm.plist 当たりを葬ってみたけど挫折。 残るは iTerm.app に ^Return に相当する事を Apple Script で実現できないものかとスクリプトエディタとにらめっこしてみたが・・・・あああっ。 iTerm Hopme の Script サンプルを見ても、カラーを買えたりとかでフルスクリーン On /Off をコントロールを見つけることができなかった。 スクリプトというより iTerm のコントロール、それも起動の時フルスクリーンにしたい・・をどうすればお助けとを。よろしくお願いしまふ。
823 名前:名称未設定 mailto:sage [2009/08/19(水) 00:37:08 ID:GCsKUHSv0] 多分、一番簡単なのはAutomatorを立ち上げてワークフローメニューの「記録」 を選んで(ユニバーサルアクセスの設定変えろ言われるかもしれないけど)iTerm でフルスクリーンにするコマンドをたたいてみること。 あとは、アプリケーション立ち上げを追加するだけで目的のワークフローができる。
824 名前:名称未設定 mailto:sage [2009/08/19(水) 05:11:11 ID:k7nMVCkA0] 以下を(とりあえずデスクトップに itermfullscreen.scpt として)保存 tell application "iTerm" if (count of terminal) is not 1 then return if (count of session of front terminal) is not 1 then return end tell tell application "Finder" to set screenBounds to bounds of window of desktop tell application "iTerm" to set windowBounds to bounds of front window if windowBounds is not screenBounds then tell application "iTerm" to activate tell application "System Events" to keystroke return using command down end if bash だとして、以下を .bash_profile に記載 if [ "$TERM_PROGRAM" = "iTerm.app" ]; then osascript $HOME/Desktop/itermfullscreen.scpt fi ただ、 起動時と、ウインドウ無しからウインドウを開いた時を区別できない、 遅い、 Spacesがあるとどうなのかわからない(10.4なもんで)
825 名前:名称未設定 mailto:sage [2009/08/19(水) 09:34:18 ID:xpOLjwyfi] 涙 あ、ありがとう。これからやってみる。
826 名前:名称未設定 mailto:sage [2009/08/19(水) 10:20:14 ID:82znTTCqi] Autometer初めてやってみた。これはこれですこい。待ち時間まで再現で自分のトロさがみえてある意味がわらえた。 Script上手くいきました。感激です。 組み込みに使うので立ち上げてイベント送るのみではじめます。ただ、やはり色んな状態を想定すること、勉強になります。 今は、Script眺めてるだけでアップアップだけど、せっかくのサンプル、これからじっくり理解したい。 途方に暮れてた(大袈裟?)のでマジ感謝です。 AppleScript 奥が深い。
827 名前:名称未設定 [2009/08/19(水) 22:07:57 ID:xFoqMzlJ0] AppleScriptってすごい
828 名前:名称未設定 [2009/08/19(水) 22:09:01 ID:P++cE7Id0] パソコンに取り込んだ譜面を見ながら楽器を弾く時、切り替えに不便なため作成したAppleScriptです。 MidiPipe使用。Midiフットコントローラでページの切り替えができるため大変便利です。 iTunesの曲も切り替えられます。とりあえずできたので載せてみます。 --MidiPipeでMidiフットコントローラによるUI操作のためのAppleScript --現在の機能 一番上のウィンドウの戻る進むとiTunesの戻る進む -- --AListでMessageを取得する --Midiフットコントローラからの情報、item 1 192はProgram Change、item 2 は音色番号 --音色番号を元に切り替えを行う on runme(message) tell application "System Events" -- 一番上のウィンドウに戻る進むのコマンド if (item 1 of message = 192) and (item 2 of message = 0) then key code 123 using command down -- ⌘→ if (item 1 of message = 192) and (item 2 of message = 1) then key code 124 using command down -- ⌘← end tell
829 名前:名称未設定 [2009/08/19(水) 22:09:41 ID:P++cE7Id0] --続き tell application "iTunes" -- iTunesの次の曲、前の曲 (リピート時でも移動可能) if (item 1 of message = 192) and (item 2 of message = 4) then set currentPlaylist to current playlist --現在のプレイリストを取得 set currentSongRepeat to song repeat of current playlist --現在のリピート情報を取得 set song repeat of currentPlaylist to 0 --リピートを切に設定 next track --次のトラックへ set song repeat of currentPlaylist to currentSongRepeat --リピート情報を元の情報に設定 end if if (item 1 of message = 192) and (item 2 of message = 3) then set currentPlaylist to current playlist --現在のプレイリストを取得 set currentSongRepeat to song repeat of current playlist --現在のリピート情報を取得 set song repeat of currentPlaylist to 0 --リピートを切に設定 back track --トラックの始めに戻る set song repeat of currentPlaylist to currentSongRepeat --リピート情報を元の情報に設定 end if end tell end runme
830 名前:名称未設定 mailto:sage [2009/08/19(水) 23:11:06 ID:TcrzqjAk0] >>828-829 iTerm で助けてもらったものです。質問させてください。 on runme(message) -- body end runme この括りは runme の message の呼び出しと message はどこから・・(ここから判らないっす) message の 0, 1, 3, 4 は MidiPipe からの音色情報を代用しているという事? tell application "System Events" -- item 1, item 2 というのは System Events のキーワード? -- key code 123 useng command down -- ⌘→を押したのと等価ということですか? end tell currentPlaylist の取得ですが、これって何ですか (あまりにも素人質問ですいません) 後、このシンタックスって、最後は慣れですかね? (くだらない質問ですいません。これはパスしてください)
831 名前:名称未設定 mailto:sage [2009/08/20(木) 01:11:14 ID:ZBXl4WV1O] >>830 横槍ですまないがちょっと性急に過ぎやしないか 質問内容を見る限り、正直まだ他人様のコードを読み取れる段階とは思えない テンプレをひととおり、或いはせめてAppleScript PARK辺りだけでも読んでくる事を勧めます
832 名前:名称未設定 mailto:sage [2009/08/20(木) 08:12:16 ID:8NKD9fZJi] ども Apple Script PARK いってきます。
833 名前:名称未設定 mailto:sage [2009/08/26(水) 12:55:24 ID:UT+ZadVY0] 漠然とした質問で申し訳ないのですが AppleScript Studioの事でお尋ねします それまで問題なくビルド・実行出来ていたスクリプトが ある時を境に ¬のところでは Expected expression but found unknown token. (-2741) コマンド /usr/bin/osacompile が終了コード 1 で失敗しました。 ≠のところでは Expected メthenモ, etc. but found unknown token. (-2741) コマンド /usr/bin/osacompile が終了コード 1 で失敗しました。 とエラーが出るようになってしまいました どういった原因が考えられるでしょうか?
834 名前:名称未設定 mailto:sage [2009/08/26(水) 17:22:49 ID:BkHeLdT30] 文字コードとか言語環境とか
835 名前:(・∀・) mailto:sage [2009/08/27(木) 01:24:24 ID:Qeoje6Iv0] >>833 その表記はOS9とともに死滅したはず。
836 名前:名称未設定 mailto:sage [2009/08/27(木) 04:02:50 ID:cbglxXbv0] 寝言は(ry
837 名前:名称未設定 mailto:sage [2009/09/03(木) 01:26:55 ID:Q4oKYJOD0] --画面解像度を変えるAppleScript。トグルするようにしてみました。 --もしかしたら専用の命令があるかもしれないけど。10.5、10.6で動きました tell application "Finder" set theScreenSize to get bounds of window of desktop set theScreenWidth to item 3 of theScreenSize set theScreenHeight to item 4 of theScreenSize end tell if theScreenWidth is 1440 then set theNewSize to "1024 768" else set theNewSize to "1440 900" end if --www.macosxhints.com/article.php?story=20090413120929454 set theScript to " require 'osx/cocoa'; display = OSX::CGMainDisplayID(); mode = OSX::CGDisplayBestModeForParameters(display, 32, ARGV[0], ARGV[1], nil); config=nil; result = OSX::CGBeginDisplayConfiguration(&config); config = result[1]; if 0 == result[0] then OSX::CGConfigureDisplayMode(config, display, mode); OSX::CGCompleteDisplayConfiguration(config, 2 ); print 'change'; end " do shell script "/usr/bin/ruby -e " & quoted form of theScript & " " & theNewSize
838 名前:名称未設定 mailto:sage [2009/09/04(金) 00:58:40 ID:9GqtYbtS0] TigerでMacに入っている電子辞書をスクリプトを使って利用したいんですが、 そういうスクリプトつくれますか? スクリプトはAppleScriptでもJavaScriptでも可。 電子辞書は国語辞書や漢字辞書で、 スクリプトで操作できるものを購入しようと調べましたがわからなかったので、 どの電子辞書を前提でも可。 具体的な内容は、テキストに書かれている大量の単語を、 辞書で検索して意味などをテキストに書き出すという作業です
839 名前:名称未設定 mailto:sage [2009/09/04(金) 03:06:48 ID:AtlUaXKv0] LogoVista辞典ブラウザ 1.2.2はスクリプトエディタで用語説明開いてもアプリ固有の情報なかった もしやるならGUI スクリプティングだろうけど、どこまでできるかわからない(単語を選択してサービスメニューから辞書引きはそこそこできるかも?だけど)
840 名前:名称未設定 mailto:sage [2009/09/04(金) 12:14:06 ID:YWJx89YP0] >>838 egbridge Uni2付属の電子辞典ビューアにlookupってコマンドがあるね。 でも、いまからegbが入手できないという問題が…。 ちなみに、コトノコはASに完全に未対応だった。 --egbridge Uni2付属の電子辞典ビューア tell application "DictionaryViewer" activate lookup for "辞書" end tell tell application "System Events" key code 48 --Tabキー keystroke "a" using command down --全選択 keystroke "c" using command down --コピー end tell これで、"辞書"という内容を検索して、表示された意味を全コピーするところまではできた。 あとは、 ・意味内容一行目の見出し部分を取り出して読みやすく加工 ・それをテキストエディタにペースト ・引きたい単語をリスト形式で変数に取り込んで、repeat with〜in〜でループさせる こんな処理を付け加えれば良さそう。
841 名前:名称未設定 mailto:sage [2009/09/04(金) 12:29:41 ID:YWJx89YP0] Jammingにもsearchってコマンドがあるから、これでもいけそう。
842 名前:名称未設定 mailto:sage [2009/09/04(金) 22:45:15 ID:nUYUxVxi0] >837 これはもはやAppleScriptではない...
843 名前:名称未設定 mailto:sage [2009/09/04(金) 22:51:48 ID:FV9DqDd30] >>842 むしろ、これこそAppleScriptならではだと思う。
844 名前:名称未設定 mailto:sage [2009/09/05(土) 00:59:07 ID:hQMec1Px0] >>839-841 ありがとうございます。 egbridge Uni2は手に入らなさそうですね。Jammingをちょっと見てみます。
845 名前:名称未設定 mailto:sage [2009/09/05(土) 11:46:21 ID:QymRaNX90] Snow LeopardでAppleScript Studioが打ち切りになったと知ってショックだ どうしろと
846 名前:名称未設定 mailto:sage [2009/09/05(土) 12:57:59 ID:hqWAS12H0] Depられただけで、まだ動くよ。 >ttp://mycometg3.blog.so-net.ne.jp/2009-09-05 IB3.2でdefaultを書き換えて、使えばいい。
847 名前:名称未設定 mailto:sage [2009/09/05(土) 15:58:04 ID:PQZGDKO60] まじかよ
848 名前:名称未設定 mailto:sage [2009/09/05(土) 16:29:09 ID:A/UzNj2OP] Cocoa-Javaでアプリ書いてた人の気持ちがわかったような
849 名前:名称未設定 mailto:sage [2009/09/05(土) 20:29:20 ID:WdLCdU6t0] AppleScriptObjCっつうのもなんか微妙な感じが developer.apple.com/mac/library/releasenotes/ScriptingAutomation/RN-AppleScriptObjC/index.html
850 名前:名称未設定 mailto:sage [2009/09/05(土) 20:50:30 ID:be+wMAR70] 俺は面白いと思うよ、AppleScriptObjC 既存の文法を拡張せずにObjCのオブジェクトを継承できたりしてASSなんかよりずっと良い
851 名前:名称未設定 mailto:sage [2009/09/05(土) 23:05:45 ID:ej1h2E+O0] ASSに手を出さなくて正解だったぜ... しかし,これからどうなるんだ...
852 名前:名称未設定 mailto:sage [2009/09/05(土) 23:30:17 ID:be+wMAR70] ASSって基本的に書き捨てアプリ向けだから、随分役に立ったよ
853 名前:名称未設定 mailto:sage [2009/09/05(土) 23:39:14 ID:DIop7y1ui] 基本的な所が動かない... Set theDate to (class "NSDate")'s |date|() log theDate's description()
854 名前:名称未設定 mailto:sage [2009/09/05(土) 23:43:02 ID:6qHVmxV70] Objective-Cと同じ書き方が必要なら、gdbのデバッグ能力をフルに使える Objective-Cそのまま使う方がずっと簡単だと思うんだが?
855 名前:名称未設定 mailto:sage [2009/09/06(日) 00:07:31 ID:vNiNb+rl0] そんなこと言ったらRubyCocoaもPyObjCも同じじゃん
856 名前:名称未設定 mailto:sage [2009/09/06(日) 00:45:48 ID:de0Txa+C0] 原則 Class methodしか使えなかったcall method連発のASSよりもよいものになっている事を祈る
857 名前:名称未設定 mailto:sage [2009/09/06(日) 02:12:09 ID:vNiNb+rl0] >>853 set theDate to current application's class "NSDate"'s |date|() log theDate current applicationがミソ あとdescriptionメッセージは別になくても平気
858 名前:名称未設定 mailto:sage [2009/09/06(日) 02:33:41 ID:BnE4l9Ao0] Xcode で AppleScript Droplet が作成できなくなった…… ドロップレットを作成する簡単な方法はなくなったの?
859 名前:名称未設定 mailto:sage [2009/09/06(日) 03:17:38 ID:vNiNb+rl0] ドロップレットならAppleScriptエディタの方が簡単でしょ
860 名前:名称未設定 mailto:sage [2009/09/06(日) 09:33:35 ID:PTAKa/tri] ASSアプリを、AppleScriptObjCに移植 してみた。コツをなかなかつかめない。 Idleハンドラが動かないのでNSTimer 使ってみた。 Bindingが使えるのはおもしろいな。
861 名前:名称未設定 mailto:sage [2009/09/06(日) 11:43:38 ID:LuSTT5iG0] ASOCを覚えると自由にウィンドウを作ったり、 普通のアプリっぽいこともできるのかな?
862 名前:名称未設定 mailto:sage [2009/09/06(日) 11:59:23 ID:vNiNb+rl0] できる
863 名前:名称未設定 mailto:sage [2009/09/06(日) 12:22:01 ID:BnE4l9Ao0] 早速新しいAppleScriptエディタでアプリケーションバンドルを作成してみたけど, Dockアイコンがドロップを受け付けてくれない……。 Info.plist を miff.blog.so-net.ne.jp/2009-05-11 のように書き換えてみると,Finderのアイコン上へはドロップできたけど, やっぱり Dock アイコンへはドロップできない。 どうするのが正しいのでしょうか?
864 名前:863 mailto:sage [2009/09/06(日) 12:44:22 ID:BnE4l9Ao0] 分かった。最初に保存するときに,on open ハンドラが存在すればドロップレットとして保存される模様。
865 名前:名称未設定 mailto:sage [2009/09/06(日) 13:03:02 ID:vNiNb+rl0] …
866 名前:名称未設定 mailto:sage [2009/09/06(日) 13:04:58 ID:VyLvyVqf0] 出来上がったアプリをコピー,Dockに登録し直し,ログインし直し。 これらの単独または上記の順番で連続して実行。
867 名前:名称未設定 mailto:sage [2009/09/06(日) 13:34:55 ID:zEN1Hafm0] <妄想> スクリプトエディタで書く普通のスクリプトをObj-Cでも書けるようにしてくんねえかな 昔JavaScript版どっかが作ってたけど いや、Obje-C++みたいに、というかさらに混在できるようにしちゃうとか Objective-C++AS 予約語が重なりそうだな </妄想>
868 名前:名称未設定 mailto:sage [2009/09/06(日) 13:51:46 ID:vNiNb+rl0] Scripting Bridgeがだいたいそんな感じ
869 名前:名称未設定 mailto:sage [2009/09/06(日) 14:48:46 ID:+Cg2k6Qb0] 初めてのAS-ObjCアプリです。 >ttp://mycometg3.blog.so-net.ne.jp/2009-09-06 面白いね。これ。
870 名前:名称未設定 mailto:sage [2009/09/07(月) 18:59:05 ID:SsOr1JYe0] ダイアログを表示せずにキーボード入力をsetする方法はあるのでしょうか? スクリプトを起動したら入力待機して、1文字入力したら、それを変数に格納したいのです。
871 名前:名称未設定 mailto:sage [2009/09/08(火) 01:13:51 ID:O0UZeph10] >>870 --別スレでCGEventSourceKeyStateでチェックできると見たので。keycode2charの行を分割したので一行に結合してください tell application "System Events" -- アクティブなアプリでキーを拾わないように set theAppNameList to name of processes whose frontmost is true set theAppName to item 1 of theAppNameList activate end tell set thePressKey to my getPressChar() tell application theAppName to activate -- 元のアプリに戻る display alert thePressKey on getPressKeycode() -- キーを押しているのを見つけるまでループ set theRubyScript to "require 'osx/cocoa' while(1) for i in 0..126 if OSX::CGEventSourceKeyState(0, i) print i exit(0) end end sleep 0.1 end" set theResult to do shell script "/usr/bin/ruby -e " & quoted form of theRubyScript return theResult as number end getPressKeycode on getPressChar() -- keycode2charには記号など抜けているキーがあります。間違いもあるかもしれません。 set keycode2char to {"a", "s", "d", "f", "h", "g", "z", "x", "c", "v", 0, "b", "q", "w", "e", "r", "y", "t", "1", "2", "3", "4", "6", "5", 0, "9", "7", 0, "8", "0", 0, "o", "u", 0, "i", "p", "Return", "l", "j", 0, "k", 0, 0, 0, 0, "n", "m", 0, "Tab", "Space", 0, "delete", 0, 0, "Command", 0, "Shift", 0, "Alt", "Ctrl", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "F5", "F6", "F7", "F3", "F8", "F9", 0, "F11", 0, "F13", 0, "F14", 0, "F10", 0, "F12", 0, "F15", 0, 0, 0, 0, "F4", 0, "F2", 0, "F1", "Left Arrow", "Right Arrow", "Down Arrow", "Up Arrow"} set theKeyCode to getPressKeycode() return item (theKeyCode + 1) of keycode2char end getPressChar
872 名前:名称未設定 mailto:sage [2009/09/08(火) 01:17:59 ID:O0UZeph10] ついでにできた修飾キーをゲットするスクリプト コマンド押しながら起動したら処理分けるとかに使えるかもしれない set theResult to my getModifierKeys() log theResult on getModifierKeys() set theRubyScript to "require 'osx/cocoa' event = OSX::CGEventCreate(nil) mods = OSX::CGEventGetFlags(event) print mods,' ' if (mods & 0x00020000) != 0 print 'shift ' end if (mods & 0x00040000) != 0 print 'control ' end if (mods & 0x00080000) != 0 print 'option ' end if (mods & 0x00100000) != 0 print 'command ' end " do shell script "/usr/bin/ruby -e " & quoted form of theRubyScript end getModifierKeys
873 名前:名称未設定 mailto:sage [2009/09/08(火) 01:19:24 ID:+3aA31Hn0] safariに連続で画像を読み込ませるのをやってみたんですが、 日本語名のフォルダに入っているファイルではうまく動いてくれません。どうしたらいいですか? OSは10.5.8です。 スクリプトはこんなかんじです。 on open drop_items repeat with curItem in drop_items tell application "Safari" set itempath to POSIX path of curItem set URL of tab 1 of front window to itempath end tell end repeat end open
874 名前:名称未設定 mailto:sage [2009/09/08(火) 03:14:12 ID:Tv2i7/JY0] やっぱりいざというときにはRubyとかObj-Cだなぁ
875 名前:名称未設定 mailto:sage [2009/09/08(火) 03:25:31 ID:Tv2i7/JY0] >>873 set itempath to POSIX path of curItem ↓ set itempath to quoted form of (POSIX path of curItem) これじゃだめかい?
876 名前:名称未設定 mailto:sage [2009/09/08(火) 23:13:07 ID:YZ3C8W070] >>873 素直にURL使った方が早いかも 10.6で確認 on open drop_items repeat with curItem in drop_items tell application "System Events" set itempath to URL of curItem end tell tell application "Safari" set URL of tab 1 of front window to itempath end tell end repeat end open
877 名前:873 mailto:sage [2009/09/08(火) 23:58:57 ID:+3aA31Hn0] >>875 さん >>876 さん ありがとうございます。 >>876 さんの書かれたスクリプトで出来ました。本当にありがとうございました。
878 名前:名称未設定 mailto:sage [2009/09/09(水) 21:44:46 ID:1O7J4flE0] >874 それはすでにAppleScriptでありながらAppleScriptではない。
879 名前:名称未設定 mailto:sage [2009/09/11(金) 08:51:39 ID:WxzErIRi0] AS-Studioだったら出来てたんだけど・・・ AS-ObjCで、DragAndDropを受け付けるコードを書こうとしたが 最初のDraggingEnterd_()でビット演算(AND)が必要な箇所があって、 手が止まってしまった。 ObjC if (sourceDragMask & NSDragOperationGeneric) { return NSDragOperationGeneric; } AS ・・・ AppleScriptって、今だにビット演算使えないのか・・・
880 名前:名称未設定 [2009/09/13(日) 01:06:53 ID:4appDlQC0] >>879 AS-ObjC ってそうなんだ イベントつなぐのが楽になってるのかと思ってた
881 名前:名称未設定 mailto:sage [2009/09/13(日) 04:40:12 ID:xhAgFv6VP] タグを自動で一括編集したくて、 コメント欄に書いてあるリリース日を説明欄にコピって 説明欄でソートしたらリリース日順に並べられるようにするAppleScriptを作るのに今までかかった。 全くのプログラム初心者なので色々なサイトのを借りてきて切り貼りさせてもらったけどなんとか期待通りの挙動になった…
882 名前:名称未設定 mailto:sage [2009/09/13(日) 04:42:18 ID:xhAgFv6VP] ↑はiTunesの話です…
883 名前:名称未設定 mailto:sage [2009/09/13(日) 11:01:53 ID:KkddvEMq0] >>881-882 真意のわからん投稿だが完成おめでとう。 ところでそれはこのスレでは初心者レベルなのか.....質問がしにくくなった....... 一定時間間隔で空きメモリの量を確認して,規定量以下になったらメモリを食っているアプリを終了させて,liberamemory(auto)とかを走らせようと思っています。 ここで質問なのですが。liberaを走らせる部分は単純に tell application "Libera Memory Auto3" activate end tell で、liberaは起動すると自動で処理を開始し,処理を終わらせると勝手に終了するので,起動させるだけでいいのですが アプリが勝手に自動終了しようとするところでエラーがでるみたいです。イベントログだとこんな感じです。 tell application "Libera Memory Auto3" activate current application "Libera Memory Auto3 でエラーが起きました:接続が無効です。" こんな風に自動で処理を進めて勝手に消えていくアプリの場合,どのように書けばいいのでしょうか。 すみません,低レベルかもしれませんがよろしくお願いします。
884 名前:(・∀・) mailto:sage [2009/09/13(日) 11:33:16 ID:C0joxKVM0] activateを消せばいいんじゃ。
885 名前:名称未設定 mailto:sage [2009/09/13(日) 11:41:40 ID:QxE5LHfg0] ディスクキャッシュクリアしたいなら専用コマンドあるんだから、そっち使えば? do shell script "/usr/bin/purge" man purgeも読んでね。
886 名前:名称未設定 mailto:sage [2009/09/13(日) 14:32:03 ID:E536R0Uc0] tellブロックの内部を ignoring application responce end ignoring で囲む。 または try end try で囲む。 なんてのは?
887 名前:883 mailto:sage [2009/09/13(日) 17:37:33 ID:KkddvEMq0] >>884 activate消すと起動しませんよね...... >>885 ご指摘ありがとうございます。 シェルスクリプトに関しても全くの無知でして。勉強になりました。 うまく併用させてみたいと思います。 >>886 try~end try でできました! ありがとうございます。m(_ _)m
888 名前:名称未設定 mailto:sage [2009/09/13(日) 21:01:19 ID:65DAWBwz0] >>887 起動させるのはrunで、activateは一番手前に持ってくる命令じゃね?
889 名前:883,887 mailto:sage [2009/09/13(日) 23:07:59 ID:KkddvEMq0] >>888 そうですね,言葉が不適切でしたか。すみません。
890 名前:名称未設定 mailto:sage [2009/09/14(月) 22:30:46 ID:oBw14roh0] ASObjCの勉強するか… 掌田さんあたりがわかりやすい入門書出してくれんだろうか
891 名前:名称未設定 mailto:sage [2009/09/15(火) 07:52:49 ID:RPQKMNww0] 掌田津耶乃の本がわかりやすい…?
892 名前:名称未設定 mailto:sage [2009/09/15(火) 10:36:57 ID:Aou5RXENi] >>891 釣られてどうする
893 名前:名称未設定 mailto:sage [2009/09/15(火) 16:14:41 ID:6SUSyBKT0] 昔のHyperCardの入門書はよかったけどな。
894 名前:名称未設定 mailto:sage [2009/09/15(火) 17:11:48 ID:EXK1+Zxt0] HC入門ならダニーグッドマンだろ。
895 名前:名称未設定 mailto:sage [2009/09/15(火) 20:04:13 ID:1HSKzOmg0] >>891 掌田津耶乃ぐらいしか出してくれないだろう。
896 名前:名称未設定 mailto:sage [2009/09/15(火) 21:21:24 ID:YMDNfyXT0] いや、単に自分がAppleScript Programming for Mac OS Xで ASS覚えたからというだけの話なんだ
897 名前:名称未設定 mailto:sage [2009/09/15(火) 22:30:32 ID:RPQKMNww0] あの青い表紙のやつか。 うちにもそれとぜんまいビュンビュンあるけど、今読み返してみるとやっぱりメチャクチャだわ
898 名前:名称未設定 mailto:sage [2009/09/16(水) 01:36:44 ID:gNIc8Rhx0] >>897 が出版してくれよ
899 名前:名称未設定 mailto:sage [2009/09/17(木) 02:49:26 ID:7uBdTuPX0] 10.5以前でつくったアプリケーションを10.6のエディタで別名で保存すると64bitになる
900 名前:名称未設定 mailto:sage [2009/09/17(木) 19:35:09 ID:5fOLsob60] 複数のファイルの頭から指定バイト数を削除するスクリプトを教えてください。
901 名前:名称未設定 mailto:sage [2009/09/17(木) 22:13:25 ID:nHKewOSW0] >>900 >>1
902 名前:名称未設定 mailto:sage [2009/09/17(木) 22:26:43 ID:9ISfMQA40] とりあえず丸投げ禁止がこのスレの掟。 >>901 はそれがいいたいのかと。 と言うだけじゃアレなんでヒントだけ示せば、nバイト削除=(n+1)バイト目から読み込んで書き込むということだから read from文使えばいいだろう。 あとはわかるな? >>901 IDがnHK
903 名前:名称未設定 mailto:sage [2009/09/18(金) 02:49:37 ID:dF8NJ+Je0] tail -c +開始バイト も簡単で
904 名前:名称未設定 mailto:sage [2009/09/18(金) 02:53:19 ID:JPJU8UqJ0] >>903 簡単だけど、時間が稼げない気がする 以前、do shell script("touch"〜とopen for accessでファイルを100個だか500個だかの作成をループで回して時間計ったことがあるけど、open for accessの方が圧倒的に速かった まぁ最近の機種だとそうでもないかもしれないけど
905 名前:名称未設定 mailto:sage [2009/09/18(金) 03:27:59 ID:dF8NJ+Je0] そんなオーダーで要求されるとは想像もしなかったよw 5個か10個か、スクリプトも使い捨て/使い切りと思ってさ
906 名前:名称未設定 mailto:sage [2009/09/18(金) 08:10:15 ID:Xs8mCu3S0] そういう時はtailじゃなくてddだろjk
907 名前:879 mailto:sage [2009/09/18(金) 09:56:06 ID:Xs8mCu3S0] なんとかしてみた。 code: on conv10to2(INPUT) -- 8 bit, Decimal to Binary String translation -- ex: in:5 out:"00000101" set {str2, val} to {"", INPUT} repeat while val > 0 set str2 to ((val mod 2) as text) & str2 set val to (val div 2) end repeat return (characters -8 thru -1 of ("00000000" & str2)) as text end conv10to2 set NSDragOperationGeneric to 4 set myINFO to conv10to2(7) {myINFO, (character -NSDragOperationGeneric of myINFO) > 0} output: {"00001000", true}
908 名前:名称未設定 mailto:sage [2009/09/18(金) 19:25:28 ID:xFgjt65u0] こんなソフト・アプリスレ 702-751 より。 あるディレクトリより指定日以降に変更、追加されたファイル抽出>他のマシンの指定ディレクトリにリストア display dialog "フォルダより差分ファイル抽出、上書きスクリプト" buttons {"Cancel", "Restore", "Archive"} default button 3 set retText to button returned of result if retText = "Restore" then myRestore() of me else if retText = "Archive" then myArchive() of me end if on myRestore() --指定tarファイルを指定フォルダにリストアします。 choose file "アーカイブファイルを選択してください。" set tarFilePath to POSIX path of result set tarFilePath to (quoted form of tarFilePath) choose folder "リストア先のフォルダを選択してください" set restFolderPath to POSIX path of result set restFolderPath to (quoted form of restFolderPath) do shell script "cd " & restFolderPath & "; tar xvpf " & tarFilePath end myRestore 続く
909 名前:908 mailto:sage [2009/09/18(金) 19:27:54 ID:xFgjt65u0] on myArchive() --指定日付より後にモディファイされた書類を、デスクトップにアーカイブします。 set myDeskTopPath to path to desktop folder set myDeskTopPath to POSIX path of myDeskTopPath choose folder set myFolderPath to POSIX path of result display dialog "何日前からをデスクトップにアーカイブします。" default answer "30" set myDate to text returned of result as integer if myDate < 0 then return set myDate to (current date) - myDate * days set myDate to ((year of myDate) as integer) & "-" & ((month of myDate) as integer) & "-" & ((day of myDate) as integer) as Unicode text set myFolderPath to (quoted form of myFolderPath) set tarPath to (quoted form of (myDeskTopPath & myDate & ".tar")) set myDate to (quoted form of myDate) do shell script "cd " & myFolderPath & "; tar -cpl --newer-mtime " & myDate & " -f " & tarPath & " ./" --不正ファイル名チェック?--force-localオプションは、この書式では使えませんでした。後日勉強。 --do shell script "cd " & myFolderPath & "; tar -cpl --newer-mtime " & myDate & " --force-local -f " & tarPath & " ./" set hoge to tarPath & " に保存しました。" as Unicode text display alert hoge end myArchive
910 名前:名称未設定 mailto:sage [2009/09/19(土) 01:04:54 ID:fjEnmgv00] do shell scriptは文字列の解釈作業が入るからスループットが悪いのでは?
911 名前:名称未設定 mailto:sage [2009/09/19(土) 18:24:06 ID:6nVF67/a0] 教えてください 語句を選択してAmazonやらYouTubeやらで検索というASを下記を改変しつつ作っているのですが open location "http://find.2ch.net/?BBS=2ch&TYPE=TITLE&STR= " & surl & "&ie=EUC-JP&oe=EUC-JP" とすると開いたページで文字化けしてしまいます 解決策をご教示願います --選択した語句でgoogle検索 set cb to the clipboard as record tell application "System Events" tell application process "Safari" tell application "Safari" to activate delay 0.5 keystroke "c" using command down delay 0.5 set surl to the clipboard end tell end tell set the clipboard to cb if surl contains return then set surl to do shell script "echo " & quoted form of surl & " | sed s/" & return & "//g" if surl contains " " then set surl to do shell script "echo " & quoted form of surl & " | sed s/" & quoted form of " " & "/" & quoted form of "+" & "/g" tell application "Safari" open location "www.google.com/search?client=safari&rls=ja-jp&q= " & surl & "&ie=UTF-8&oe=UTF-8" end tell
912 名前:911 mailto:sage [2009/09/19(土) 18:29:44 ID:6nVF67/a0] 連投すみません。訂正です。 >open location "http://find.2ch.net/?BBS=2ch&TYPE=TITLE&STR= " & surl & "&ie=EUC-JP&oe=EUC-JP" open location "find.2ch.net/?BBS=2ch&TYPE=TITLE&STR= " & surl & "&ie=EUC-JP&oe=EUC-JP"
913 名前:名称未設定 mailto:sage [2009/09/19(土) 18:59:26 ID:Rap9QQE20] >>911 こんな感じで文字コード変換した後にURLエンコードしたらOK set theText to "ラブプラス" set theScript to "print rawurlencode(mb_convert_encoding($argv[1], 'EUC-JP','UTF8'));" set theEncText to do shell script "php -r " & quoted form of theScript & " " & quoted form of theText open location "find.2ch.net/?BBS=2ch&TYPE=TITLE&STR= " & theEncText 10.6だったらAutomatorのサービス用の検索ひな形をAutomatorスレに書いたので これ使うとテキストを選択したときのコンテキストメニューから検索できるようになる
914 名前:名称未設定 mailto:sage [2009/09/19(土) 19:02:00 ID:AjXA6wu+0] ASOCのサンプルが出てました。 www.tidbits.com/matt/default.html#applescriptthings www.tidbits.com/matt/downloads/SearchTidBITSAsoc.zip 自分で定義したObjCクラスをインスタンス化して、AppleScriptから 使っているそうです。
915 名前:911 mailto:sage [2009/09/19(土) 20:08:33 ID:6nVF67/a0] >>913 ありがとうございます! お察しの通り、10.6でテキストを選択>コンテキストメニューから検索 の作業をしていたところです。 QuickSilverがダメダメで途方に暮れていたので助かりました。
916 名前:名称未設定 [2009/09/23(水) 05:20:45 ID:mHdOAya10] すみません。教えていただきたいのですが、 クリップボードに何も入っていない時、エラーにならないために以下のような3行を入れていました if (the clipboard) is {} then set the clipboard to "" end if しかし、OS10.5.6あたりから突然「エラー25131」が表示され、この3行が使用できなくなりました。 ぜひ、回避方法をご存知の方は教えていただけないでしょうか? よろしくお願いいたします。
917 名前:名称未設定 mailto:sage [2009/09/23(水) 05:24:53 ID:Y9WDEAhq0] >>916 try 〜 on error 〜 end try
918 名前:名称未設定 [2009/09/23(水) 09:48:59 ID:mHdOAya10] >>917 try set cb to the clipboard on error set the cb to "" end try としたら、うまくいきました。ありがとうございます。 マジで助かりました!
919 名前:名称未設定 mailto:sage [2009/09/23(水) 11:47:43 ID:pld8dcYT0] で、Snow Leopardでは keychain辺りのバグは直っているのか?
920 名前:名称未設定 mailto:sage [2009/09/26(土) 05:56:09 ID:uXS75+MN0] アップルスクリプトで、 あるページをSafariで表示し、 そのページを定期的に更新(例えば30分おきなど)し、 更新するたびにそのページのスクリーンショットを撮る。 という一連の作業を自動的にやってくれるようなことがスクリプトで可能であれば、 教えていただけないでしょうか。
921 名前:名称未設定 mailto:sage [2009/09/26(土) 06:35:13 ID:hjP5EEwK0] くれくれ廚は帰れ。
922 名前:名称未設定 mailto:sage [2009/09/26(土) 06:40:39 ID:uXS75+MN0] そうですか。 ではけっこうです
923 名前:名称未設定 mailto:sage [2009/09/26(土) 06:44:16 ID:HC0zHsja0] なにがしたいんだよw AppleScript書けなくてもAutomatorで出来そうだな
924 名前:名称未設定 mailto:sage [2009/09/26(土) 06:50:49 ID:uXS75+MN0] >>923 Automaterに挑戦していましたが、 自分の動作を記録させてSafariを更新させることができました。 あとAutomaterに入ってるスクリーンショットを撮る動作をその後に追加しましたが、 やはりそれを例えば30分置きに実行するというのが不可能っぽいです。 ググるとcronとかいうのを使って定期実行してる人もいるみたいですが、 チンプンカンプンです。 それに定期実行のスタートと終了を、アプリケーションを起動くらいシンプルなものにしたいので、 ターミナルでcronを使うというのはちょっと違うかなと思いまして。 やはりXcodeなどでプログラミングした方がいいんですかね・・。
925 名前:名称未設定 mailto:sage [2009/09/26(土) 08:28:09 ID:uXS75+MN0] とりあえずそれっぽいのを完成させることができました。 >>920 は忘れてください。 >>923 さんレスありがとうございました
926 名前:名称未設定 mailto:sage [2009/09/26(土) 13:21:47 ID:v6tnP4iz0] 聞くだけ聞いて自分の情報を出さない人ですか?
927 名前:名称未設定 mailto:sage [2009/09/26(土) 13:30:04 ID:7AJ/V1wc0] そうです。人に厳しく、己に優しくをモットーに生きています。
928 名前:名称未設定 [2009/09/26(土) 15:07:13 ID:wIZ3SGKZ0] AppleScriptだけで出来そうだ。
929 名前:名称未設定 mailto:sage [2009/09/26(土) 16:13:41 ID:uXS75+MN0] >>926 >>921 のレスさえなければ出してましたよ
930 名前:名称未設定 mailto:sage [2009/09/26(土) 17:08:07 ID:KYGTqK6L0] バカバカしい いちいち応戦すんなよ もう黙ってろ
931 名前:名称未設定 mailto:sage [2009/09/26(土) 17:18:51 ID:100nMdRE0] >>uXS75+MN0 >>1 にある、 >【注意】 >安直なスクリプト作成依頼、丸投げはやっちゃダメ! わからない点、エラーが解決できない点について、スクリプト片を添えて質問しよう。 これを読んでいない、もしくは理解できていない上に、 自作スクリプトを発表する意志すらないのであれば、 このスレに書き込む資格はない。 とっとと出ていって欲しい。
932 名前:名称未設定 mailto:sage [2009/09/26(土) 17:29:18 ID:FumBLbdq0] >>931 >>930 反応する奴も出てけ ASと無関係な書込みも同類
933 名前:名称未設定 mailto:sage [2009/09/26(土) 17:36:04 ID:nhXhp6NX0] こわいよー
934 名前:名称未設定 mailto:sage [2009/09/26(土) 17:53:18 ID:klkoQD640] >>932 お前はここのヌシか?
935 名前:名称未設定 mailto:sage [2009/09/26(土) 18:43:09 ID:ydLGr6SL0] 誰か魚紳さん呼んでこい
936 名前:名称未設定 mailto:sage [2009/09/26(土) 20:31:52 ID:QE+wYwnt0] AppleScript-ObjCの勉強におすすめ。 英語だけど、分かりやすいビデオが置いてある。 >ttp://www.macosxautomation.com/applescript/develop/ InterfaceBuilderとかXcodeとか、使ってないひとにはこれ見て もらった方が早いよ。
937 名前:名称未設定 mailto:sage [2009/10/01(木) 22:10:11 ID:37QaXFn10] AppleScriptとperlを組み合わせて、Excel 2008用に正規表現置換 ダイアログボックスを作りたいと思ってるんだけど、もうそんなの やってるって人いますかね。
938 名前:名称未設定 mailto:sage [2009/10/02(金) 02:14:26 ID:L+9RMJbk0] ログイン時にアプリを3秒の間隔開けて起動させるようなAppleScriptを wakabamac.blog95.fc2.com/blog-entry-785.html このページのサンプルのアプリ名だけを変えて作りました。 AppleScriptで起動させたアプリを通常のログイン項目オプションの"隠す"と同じように ウインドウを表示させないようにしたいと思っているのですが、どなたか方法を教えていただけませんでしょうか?
939 名前:名称未設定 mailto:sage [2009/10/02(金) 02:18:59 ID:WRY5kmZj0] >>938 tell application "System Events" set visible of processes whose name is "Safari" to false end tell
940 名前:名称未設定 mailto:sage [2009/10/02(金) 02:24:24 ID:03zFY9jW0] activateじゃなくてlaunchにすべき
941 名前:名称未設定 mailto:sage [2009/10/02(金) 02:27:31 ID:L+9RMJbk0] >>939 ,940 どうもありがとうございます! 試してみます。