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


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

AppleScript アップルスクリプト 質問、発表 3



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

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
どうもありがとうございます!
試してみます。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<344KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef