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


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

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



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

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

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

2 名前:名称未設定 [2005/06/05(日) 22:58:40 ID:Kc91txkU]
< 新製品「OptiPlex GX620/GX520」の特徴 >

筐体のデザインを一新。ミニタワー(GX620のみ)/デスクトップ/スモールフォームファクタ/ウルトラスモールフォームファクタ(GX620のみ)の4つの筐体で、お客様の求める拡張性、省スペース性に柔軟に対応
筐体、マザーボード、電源装置はEUが2006年7月より施行するRoHS指令の鉛フリー化に適合
インテル社が提案する新しいデスクトップのインターフェイス仕様「BTX」に準拠したシャーシによる優れた低騒音性、放熱性
最新のインテル® Pentium® 4プロセッサやCeleron® Dプロセッサを搭載、デュアルコア・プロセッサにも対応予定
最新のインテル® GMA950グラフィックボードにより、従来のGX280シリーズに比べ、最大2倍以上に向上したグラフィック性能
筐体前面に4つのLEDで、ハードディスクの動作状態やネットワークの接続状態、16種類の障害状況をLED表示する「ダイレクトディテクトTM 」による高い管理性



3 名前:名称未設定 mailto:sage [2005/06/05(日) 22:59:31 ID:KGQNvadS]
【入門サイト】
AppleScript入門教室(掌田津耶乃氏)
ttp://www.h5.dion.ne.jp/~tuyano/AppleScriptTutor/index.html
AppleScript Lab(狩野正嗣氏)
ttp://www.drycarbon.com/applescript/
AppleScript Beginner's(JinJin氏)
ttp://homepage.mac.com/jinjin/applescript/
AppleScript PARK(大串敏史氏)
ttp://homepage1.nifty.com/ton_b/index.html
AppleScriptサンプル(Okamoto氏)
ttp://www.asahi-net.or.jp/~va5n-okmt/factory/applescript/sample_code/index.html
Apple Scriptの覚え書き(水沢和彦氏)
ttp://www.kiwi-us.com/~mizusawa/penguin/html_hint/applescript/script_memo.html

【さらに詳しく】
AppleScript Developers [英語]
www.apple.com/applescript/developers/

Xcode Tools(Developer Tools)をインストールしている場合
/Developer/ADC Reference Library/documentation/AppleScript/あたりにドキュメントがあるかもしれません。

4 名前:名称未設定 mailto:sage [2005/06/05(日) 23:31:54 ID:KGQNvadS]
生きてるリンクを前スレから拾ってみた。
-------------------------------
AppleScriptリファレンス--古いけどAppleScripterの聖典
ttp://store.sbpnet.jp/isbn/1011/preface.html
ちゃらんぽらん
ttp://www1.odn.ne.jp/~cge02410/index.html
藤棚工房別棟 −徒然−:Unicode textとstringについて
ttp://blogs.dion.ne.jp/fujidana/archives/109436.html

>do shell scriptを使う人は全員ここを読んだ方がいいよ。非常によいドキュメントです。
>というか、読まないとマトモに使えないでしょう。
do shell script in AppleScript
developer.apple.com/ja/technotes/tn2065.html
shText Readme.1st(シェルスクリプトのお勉強)
ttp://www.tsden.org/takamiti/shText/

★その他★
・mi スクリプト書きに便利なエディタ
AppleScript、Perl、C言語、その他色々の言語に便利な機能が付いたエディタ。
ttp://www.mimikaki.net/

・AmScriptsCMX
コンテキストメニューにスクリプトメニューを追加。
ttp://www5.wind.ne.jp/miko/mac_soft/contextual_menu_x/pgs/AmScriptsCMX.html

>AppleScript で日本語(ファイル名とか)を扱うとき
>UnicodeUtils.osax ってのが非常に便利っす。
UnicodeUtils OSAX
ttp://www.bekkoame.ne.jp/~iimori/sw/UnicodeUtilsOSAX.html
-------------------------------
OSAXは使ったことないのでどなたかよろしく。

5 名前:名称未設定 mailto:sage [2005/06/05(日) 23:48:34 ID:fbg8HeAT]
田中求之先生のサイトにOSAXの情報があります
Web Scripter's Meeting
mtlab.ecn.fpu.ac.jp/webcon_resources.html
トップページ
mtlab.ecn.fpu.ac.jp/


6 名前:名称未設定 mailto:sage [2005/06/05(日) 23:53:54 ID:KGQNvadS]
>>5
あ、どうもありがとうございます。

7 名前:名称未設定 mailto:sage [2005/06/06(月) 02:03:21 ID:Up5D2c3A]
>>1


8 名前:名称未設定 mailto:sage [2005/06/06(月) 10:20:08 ID:H/+JJ0l9]
>>1

何やら前スレよりもずいぶん情報が増えてるね
miでアップルスクリプト書けるのなんてすっかり忘れてたよ

9 名前:名称未設定 mailto:sage [2005/06/06(月) 23:20:34 ID:YcoLbNsa]
これもテンプレとして貼っとこうかな。このスレの人には既出かもしれないけど。

スクリプトメニューからスクリプトを実行したときに
最前面(System Eventsの下)のアプリをアクティブにする方法。
ttp://mtlab.ecn.fpu.ac.jp/webcon.mtxt$040606222701.html
ttp://homepage.mac.com/travellers/blog/C746134881/
ttp://homepage.mac.com/kaoru_ari/iblog/C53887262/E235447630/index.html

10 名前:名称未設定 mailto:sage [2005/06/07(火) 00:25:06 ID:skwXDRr+]
Safariで保存したwebarchiveからURLを取り出すドロップレット。たぶん10.4以降。

on open dropItems
set urlList to {}
set fileName to {}
repeat with theFile in dropItems
if (theFile as string) ends with "webarchive" then
tell application "System Events" to set webMainResourceRecord to (value of property list item "WebMainResource" of property list file (theFile as string) as record)
set theURL to |WebResourceURL| of webMainResourceRecord
set urlList to urlList & theURL
tell application "Finder" to set fileName to fileName & (name of theFile)
end if
end repeat
if urlList is {} then return
set stringList to (item 1 of urlList) as string
repeat with i from 2 to (number of items of urlList)
set stringList to stringList & return & (item i of urlList) as string
end repeat
tell application "Finder" to display dialog "webarchiveファイルの元URLを取り出しました。" buttons {"cancel", "クリップボードへ", "ブラウザで開く"} default button 3
set buttonReturned to (button returned of result)
if (number of items of urlList) is 1 then
doItRightNow(buttonReturned, urlList)
else
chooseList(buttonReturned, fileName, stringList, urlList)
end if
end open



11 名前:名称未設定 mailto:sage [2005/06/07(火) 00:25:58 ID:skwXDRr+]
on doItRightNow(buttonReturned, urlList)
if buttonReturned is "クリップボードへ" then
set the clipboard to (item 1 of urlList)
else
open location (item 1 of urlList)
end if
end doItRightNow

12 名前:名称未設定 mailto:sage [2005/06/07(火) 00:26:18 ID:skwXDRr+]
on chooseList(buttonReturned, fileName, stringList, urlList)
tell application "Finder" to choose from list {"すべて"} & fileName default items {"すべて"}
if result is not false then
if (item 1 of result) is "すべて" then
if buttonReturned is "クリップボードへ" then
set the clipboard to stringList
else
repeat with theLoc in urlList
open location theLoc
end repeat
end if
else
set theResult to (item 1 of result)
repeat with i from 1 to (number of items of fileName)
if theResult is (item i of fileName) then
if buttonReturned is "クリップボードへ" then
set the clipboard to (item i of urlList)
else
open location (item i of urlList)
end if
exit repeat
end if
end repeat
end if
end if
end chooseList

13 名前:名称未設定 mailto:sage [2005/06/07(火) 00:30:59 ID:skwXDRr+]
あ、URLというのは保存したページの元URLのことです。
Property List Editorでwebarchiveを開いて
Root>WebMainResource>WebResourceURLから
手作業で取り出すこともできます。

14 名前:名称未設定 mailto:sage [2005/06/07(火) 15:26:20 ID:2/NktH+R]


15 名前:名称未設定 mailto:sage [2005/06/08(水) 01:16:19 ID:UsDQl7ci]


16 名前:名称未設定 mailto:sage [2005/06/08(水) 07:45:40 ID:J7OQtZsE]
特定のフォルダ内にあるテキストファイルをそのたびに違う語句で内容検索してファイルを
選びたい。
Tigerのスマートフォルダで検索条件を保存して、以下のスクリプトを書きました。

tell application "System Events"
open alias "保存された検索条件のパス"

tell process "Finder"
tell window 1
tell group 1 of group 2 of group 1 of splitter group 1
try
click button "編集"
delay 1
tell text field 1 of group 1
-- ???
end tell
end try
end tell
end tell
end tell
end tell

これで検索語句の入力欄(text field 1)が表示され、

set value of text field 1 of group 1 to "XYZ"

で、検索語句をスクリプトで直接設定することはできています。が、
text field 1 がタイピングを受け付けるようにフォーカスを移動させ、
古い内容を全選択する方法がわかりません。

set focused of text field of group 1 to true
では駄目だったし。どう書けばいいのでしょうか?

17 名前:名称未設定 mailto:sage [2005/06/08(水) 23:32:36 ID:ZzffE7AI]
わからんので display dialog で代替とか

18 名前:16 mailto:sage [2005/06/10(金) 02:55:50 ID:wCviQyR7]
>>17
ないのかなあ。結局、iKeyのショートカットを併用する方法に逃げてしまいました、とさ。

19 名前:名称未設定 mailto:sage [2005/06/11(土) 20:34:05 ID:4xBsWyh4]
小ネタ。サービスメニューが使えないマカー用。などのアプリで、選択したテキストをgooDictに渡す。
tell application "System Events" to set frontApp to (name of (path to frontmost application))
tell application frontApp to activate
delay 1
tell application "System Events" to keystroke "c" using command down
delay 1
tell application "System Events"
if (text of (the clipboard)) is not "" then
set theWord to (text of (the clipboard)) as string
tell application "gooDict" to activate
tell process "gooDict"
set value of combo box 1 of window 1 to theWord
keystroke "e" using command down
(*
EtoJ→ keystroke "e" using command down
Japanese→ keystroke "j" using command down
JtoE→ keystroke "e" using {shift down, command down}
*)
end tell
else
return
end if
end tell

20 名前:名称未設定 mailto:sage [2005/06/11(土) 22:01:04 ID:p0skEWMJ]
最初にクリップボードの中身を捨てて、
中身が空じゃなくなるまで何回か再試行するって方がいいんでは?
昔、同じようなのを作って動作が不安定だった。




21 名前:名称未設定 mailto:sage [2005/06/11(土) 23:07:41 ID:4xBsWyh4]
こんな感じですか?

set the clipboard to ""
set x to 0
tell application "System Events"
repeat until ((the clipboard) is not "") or (x = 10)
delay 1
keystroke "c" using command down
set x to (x + 1)
end repeat
end tell
the clipboard

22 名前:名称未設定 mailto:sage [2005/06/11(土) 23:56:58 ID:4xBsWyh4]
ちなみに
if (text of (the clipboard)) is not "" then
というところは
「クリップボード内容がテキストだった場合のみ以下を実行」
のつもりで書いたんですけど
""でなくて{}と書くべきでした。
さっき気づいたorz。

23 名前:名称未設定 [2005/06/13(月) 17:53:12 ID:S0XtIU+o]
パスを取得するCM

AmCopyPathCMX
ttp://www5.wind.ne.jp/miko/mac_soft/contextual_menu_x/pgs/AmCopyPathCMX.html

PathSnagger CM
ttp://www.versiontracker.com/dyn/moreinfo/macosx/13672

24 名前:名称未設定 mailto:sage [2005/06/15(水) 23:14:24 ID:jW2ELgG0]
デスクトップをftpアップロードするスクリプト
on idle
set UserName to "name" ---アカウント名
set UserPassword to "password" ---パスワード
---FTPサーバ名/ユーザ名/リモートディレクトリ、最後に"/"をつける
set FTPaddress to "f999.aaacafe.ne.jp/public_html/"

set thePDFName to "screencapture" & ".pdf"
set thePNGName to "screencapture" & ".png"
do shell script "cd $HOME/Desktop; screencapture " & quoted form of thePDFName
do shell script "cd $HOME/Desktop; sips -s format png " & quoted form of thePDFName & " --out " & quoted form of thePNGName
do shell script "cd $HOME/Desktop; rm -f " & quoted form of thePDFName

tell application "URL Access Scripting"
activate
set fullPath to ((path to desktop) as text) & thePNGName
set FTPURL to ("ftp://" & UserName & ":" & UserPassword & "@" & FTPaddress)
upload file fullPath to FTPURL replacing yes with progress without binhexing
quit
end tell
return 20
end idle

25 名前:名称未設定 mailto:sage [2005/06/16(木) 00:05:45 ID:z9OQ6jRJ]
>>24
同じスレを見て、ちょうど同じものを作ってたんですがw
自分は最後のアップロード部分だけcurlで書きました
do shell script ("curl -T " & jpgpath & " -u " & username & ":" & passwrd & " " & ftpaddress)

しかし、何だかキンタマっぽくてアレな感じ

26 名前:名称未設定 mailto:sage [2005/06/16(木) 20:06:41 ID:TY4qcFLZ]
Finderで項目名をコピーしてSafariで検索しようとすると
濁点、半濁点が一文字として数えられてしまう問題で
clipboard as text (as string) とすれば解決できることをさっき知ったので
ついでにそのまま検索できるようにしてみました。

tell application "Finder" to activate
set the clipboard to ""
delay 1
tell application "System Events"
tell process "Finder"
set x to 0
repeat until ((the clipboard) is not "") or (x = 10)
keystroke "c" using command down
set x to (x + 1)
delay 1
end repeat
end tell
end tell

set keyword to (the clipboard) as text
set the clipboard to ""
set the clipboard to keyword as text

tell application "Safari"
activate
open location "www.google.com/search?client=safari&rls=ja-jp&q=" & keyword & "&ie=UTF-8&oe=UTF-8"
end tell

27 名前:名称未設定 mailto:sage [2005/06/16(木) 21:33:19 ID:MgWekGvj]
>濁点、半濁点が一文字として数えられてしまう問題
これって普通のプログラムでもかなり具合悪い問題なんだよね。
ファイルネームから取り出した文字列を比較したりすると色々と困ったことになる。

28 名前:名称未設定 mailto:sage [2005/06/16(木) 23:29:29 ID:fk8lNXDJ]
>>27
それはプログラムのバグ、Unicodeを勉強しましょう。
Normalizeするか専用APIを使わないとUnicodeは正しく比較検索で
きない。バイナリ比較ではダメ

29 名前:名称未設定 mailto:sage [2005/06/20(月) 23:01:10 ID:CP5nzhiZ]
保守しようにもネタがないので
UI Element Inspectorのリンクでも貼っときますね(*´・ω・)(・ω・`*)ネー
www.apple.com/applescript/uiscripting/02.html

30 名前:名称未設定 mailto:sage [2005/06/26(日) 02:17:01 ID:Qo+51qp/]
ほしゅ



31 名前:名称未設定 mailto:sage [2005/06/26(日) 02:40:49 ID:myXvWGYa]
(* クリップボードのテキストの各行をURLとしてブラウザで開くスクリプト *)
on run
set clipTexts to every paragraph of ((the clipboard) as text)
set URLList to {}

repeat with clipParagraph in clipTexts
if (clipParagraph as string) is not equal to ("" as string) then
if clipParagraph starts with "ttp:" then
set clipParagraph to "h" & clipParagraph
else if not (clipParagraph contains "://") then
set clipParagraph to "http://" & clipParagraph
end if
set URLList to URLList & clipParagraph
end if
end repeat


32 名前:名称未設定 mailto:sage [2005/06/26(日) 02:41:05 ID:myXvWGYa]

tell application "System Events"
repeat with aURL in URLList
activate
set dialogResult to display dialog "Open as URL..." default answer aURL buttons {"キャンセル", "スキップ", "OK"} default button 3
if button returned of dialogResult is "OK" then
try
open location ((text returned of dialogResult) as string) with error reporting
on error e
beep
display dialog "失敗しました:" & return & return & (e as Unicode text) buttons {"OK"} default button 1 giving up after 3
end try
end if
end repeat
end tell

end run


33 名前:名称未設定 mailto:sage [2005/06/29(水) 05:03:45 ID:H9awzwNk]
も一個のスレで書くべきかと思ったんですが。。
GUI Scriptingについて
ある程度詳しく解説したサイトとか本とか無いですか?

34 名前:名称未設定 [2005/06/30(木) 01:15:31 ID:ZWl3fBqM]
スレ趣旨と全然ちがってしまうんですが、現在
「伝言課長」
ttp://homepage.mac.com/yukikun/dengon_kacho/
というスクリーンセーバーを見つけて試行錯誤してます。
geektoolのスクリーンセーバー版、それも、geektoolがシェルスクリプトなのに対して伝言課長はAppleScriptでいろいろなことをするようです。

やりたいことは二つあります。

AppleScriptを介してシェルスクリプトやターミナルコマンドを実行させこれを伝言課長で表示。
もうひとつは、AppleScriptで、指定のテキストファイルを読み、それを伝言課長で表示させる。
どちらにしてもAppleScriptはさっぱりわからんので、
'ここにターミナルのコマンドを書く'
'ここにシェルスクロプとのパスを書く'
'ここに表示させたいテキストファイルへのパスを書く'
っていうのを含め含めた形でtel application 〜のところから教えていただけないでしょうか?

35 名前:名称未設定 mailto:sage [2005/06/30(木) 09:07:31 ID:EmB59LnT]
>>34
そのソフトをDLしてみないと細かい事はわかりませんが、
とりあえず下記URLの所を熟読してください。
ttp://developer.apple.com/ja/technotes/tn2065.html

36 名前:名称未設定 mailto:sage [2005/06/30(木) 09:27:31 ID:EmB59LnT]
伝言課長のサンプルで「cal」の結果を表示するスクリプトが設定されてますね。
その「cal」の部分を入れ替えるだけでだいたいOKなんじゃないかと思います。
(と確認せず無責任な事を言ってみる)
伝言課長の使い方自体は付属のドキュメントを読んでください。

37 名前:名称未設定 mailto:sage [2005/06/30(木) 19:17:44 ID:aipzy17H]
do shell script "cal"
おわり

38 名前:名称未設定 mailto:sage [2005/06/30(木) 19:44:03 ID:XdYV/xxK]
>>37
do shell script "top"
みたいにプロンプトが帰らないものは、死ぬね。
システム環境設定のスクリーンセーバー呼び出すだけで固まっちゃうからちょっと焦った。


39 名前:名称未設定 mailto:sage [2005/07/02(土) 21:43:36 ID:PPHHiydJ]
つかぬ事をお聞きしますが、10.3とか10.4のスクリーンショットのフォーマットってどうなってるの?
10.2でスクリーンショットを日付時刻のファイル名のJPEGに変換するスクリプト作ったんですけど、
実用としてもスクリプトのサンプルとしても、今更需要ないですよね?w

40 名前:名称未設定 mailto:sage [2005/07/02(土) 21:47:09 ID:QDUI6jPD]
10.3 PDF
10.4 PNG



41 名前:名称未設定 mailto:sage [2005/07/02(土) 22:00:00 ID:PPHHiydJ]
10.4はPNGかあ。かっこいいですね。でも容量ちょっと大きいですか?
一応載せます。何て事はないOSAX頼りのスクリプトですが。。

--スクリーンショットをファイル名が日付時刻のJPEGに変換するドロップレットです。
--与える画像はQuickTimeで読める形式ならいいみたいです。
--フリーウェアのGraphicsImporter OSAXを使います。
--10.3以降だと純正でImage Eventsというのがついてくるらしいのでそれを使う方がいいかも。
--OS9でも使えると思います。
--sdt(date型データ)はdate型のデータを与えると短い日付文字列を返すサブルーチンです。記載省略。

on open olist
tell application "Finder"
activate
repeat with obj in olist
set obj to (obj as string)
set newNm to (characters 1 thru -((count ((name of file obj) as string)) + 1) of obj as string) & my sdt(creation date of file obj) & "ss.jpg"
giconvert file obj type "JPEG" quality 50 image file newNm
end repeat
delete olist
end tell
end open

42 名前:名称未設定 mailto:sage [2005/07/02(土) 23:23:18 ID:1hwocL1u]
プレビューで変換すりゃいいじゃん。

43 名前:名称未設定 mailto:sage [2005/07/03(日) 00:02:36 ID:oq99HcNG]
>>42
一個ずつ変換するのが面倒になったもので。。

44 名前:名称未設定 mailto:sage [2005/07/03(日) 00:06:25 ID:oq99HcNG]
ちなみに。。
もう一個のスクリプトスレに書いてますが、
最初はプレビューをGUI Scriptingでコントロールしようとしたんですが、
セーブダイアログのシートをどう操作するかわからずあっさり手詰まり。
で、こうなりました。
GUI Scriptingも覚えたいんだけどなー。。けっこう敷き居高いです。

45 名前:名称未設定 mailto:sage [2005/07/03(日) 23:49:11 ID:ypFtIuQq]
覚えるほどには使わないので必要になったら
いちいち一から調べなおす漏れは負け組

46 名前:44 mailto:sage [2005/07/04(月) 00:54:57 ID:MTliIprm]
あー。僕も触らない時は全然触らないですし、
いつもAppleScriptリファレンスで調べながらやってますよ。
後、過去の自分のコードが頼りかな。
ゼロからってのはちょっとやってられません。

ただGUI Scriptingについては基本的なやり方自体がまだよくわかってないんですよね。
わかりやすい教科書みたいなものがあるといいんだけどなー・・。
フォーサイトのUI Browserはちょっと高過ぎます。

47 名前:名称未設定 mailto:sage [2005/07/04(月) 12:13:48 ID:s91Q9fv9]
GUI Scriptingだからって他のAppleScriptの記述とそんなに変わらん気がするけどな

これ↓とSystem Eventsの用語説明のProcesses Suiteの項目見ながら書けば何とかなると思うが
www.apple.com/applescript/uiscripting/03.html

48 名前:名称未設定 mailto:sage [2005/07/04(月) 15:25:18 ID:MTliIprm]
はげましtksです。
いじってたら何となくわかってキタ━━━━━━(゚∀゚)━━━━━━ !!

UI Element Inspectorの画面の1番上の
階段状に出てるのが今ポイントしてる部品の親子関係?で、
それをofでつないで行けばその部品を表せるんですね。

そして、1番下のActionの項目がその部品に対して行える事。

ただしUI Element Inspectorの画面で
「PopUpButton」なのがAppleScriptでは「pop up button」だったり、
「press」が「click」になってたりするので注意が要りますね。

49 名前:名称未設定 mailto:sage [2005/07/04(月) 16:12:49 ID:MTliIprm]
UI Element Inspectorでcommand + F10した時に出るもう一つのパレットは何??
部品に命令を送ってみたりできるのかな??

名前が付いてなくて番号もわからない部品はどうやって操作したらいいんだろう。
絶対座標でクリックはしょぼいなあ。

普通のスクリプトと違って予想外の事が起きた時などに
スクリプトで拾えるメッセージが返ってこないので
エラー処理が難しそうですね。

例えば、「保存」ボタンを押した後、同名ファイルが存在していて
上書きするか問い掛けるダイアログが出たとしても、
スクリプトから感知できない。
あらかじめ調べておかないといけませんね。

50 名前:名称未設定 mailto:sage [2005/07/04(月) 16:17:39 ID:MTliIprm]
--Finderで選択している複数の画像(スクリーンショットのPDFも含む)を
--プレビューでJPEGに変換するスクリプト。
--Jaguarではベータ版のSystem Eventsが必要。

tell application "Finder"
set olist to selection
end tell

repeat with obj in olist
tell application "Preview"
activate
open obj
end tell

tell application "System Events"
tell application process "Preview"
pick menu item 8 of menu 3 of menu bar 1
tell sheet 1 of window 1
click pop up button 1
pick menu item 3 of menu 1 of pop up button 1
click button "保存"
end tell
pick menu item 5 of menu 3 of menu bar 1
end tell
end tell
end repeat



51 名前:名称未設定 mailto:sage [2005/07/09(土) 13:16:30 ID:o7crlrS2]
スレ違いかもしれませんが、
スクリプトつかってiPhotoのアルバムを順番にスライドショーさせることってできないでしょうか?
教えて下さい。

52 名前:名称未設定 mailto:sage [2005/07/09(土) 18:05:24 ID:o7crlrS2]
補足です。
複数のアルバムやムービーを順番に繰り返し自動で映してくれるようなスクリプトはどこかにないでしょうか?
「start slideshow」「stop slideshow」を使うとできそうな気がするのですが、スクリプトを書いた事がないのです。
どなたか教えて頂ければ助かります。


53 名前:名称未設定 mailto:sage [2005/07/11(月) 07:06:53 ID:r17XUk5r]
全然レスついてないね。。
iPhoto使ってないからよくわからんのだよなー。
画像登録してないし。。

54 名前:名称未設定 mailto:sage [2005/07/11(月) 19:34:24 ID:PD/tWoWC]
OSXになってからアップルスクリプトを使ってないので
仕様変更についてけません。

itune4.9からファイルタイプがMPEGだと読み込めなくなってMp3に変える必要ができました。
on open AAA
tell application "Finder"
repeat with BBB in AAA
set creator type of BBB to "TVOD"
set file type of BBB to "Mp3"
end repeat
end tell
end open

これだと5行目でエラーと言われるんですがどうすればいいでしょうか。

55 名前:名称未設定 mailto:sage [2005/07/11(月) 20:32:04 ID:6QoMWvBH]
よーわからんけど、ホゲホゲタイプって4文字じゃないの?

56 名前:名称未設定 mailto:sage [2005/07/11(月) 22:15:59 ID:Ac+vuz6H]
>>54
MP3のファイルタイプはMPG3。

57 名前:名称未設定 mailto:sage [2005/07/11(月) 22:19:59 ID:r17XUk5r]
>>55
という事で久々にファイルタイプとクリエータを調べるスクリプトなんてのを
Xcodeで作って、調べてみた。w

>>54
iTunesで作ったMP3ファイルを調べたら
クリエータが hook でファイルタイプは MPG3 だったよ。

58 名前:名称未設定 mailto:sage [2005/07/11(月) 22:20:28 ID:r17XUk5r]
リロードしてなかった・・・。
orz

59 名前:名称未設定 mailto:sage [2005/07/11(月) 22:24:24 ID:r17XUk5r]
あれ?iPhotoって完全に市販ソフトになったんだっけ?
試そうかと思ったけど俺のTigerには入ってないや。

60 名前:名称未設定 mailto:sage [2005/07/11(月) 22:40:00 ID:O0VBwvLI]
>>59
バンドルされてたバージョンなら只
それ以外はiLife買わないとダメ。



61 名前:名称未設定 mailto:sage [2005/07/12(火) 00:32:02 ID:An03UZvW]
>>54
>>55氏の指摘するとおり、最後の一文字の半角スペースが足らない。
「Mp3 」

62 名前:名称未設定 mailto:sage [2005/07/12(火) 01:21:47 ID:uzqk+21s]
>>61
>>56,57
???

63 名前:名称未設定 mailto:sage [2005/07/12(火) 01:28:34 ID:uzqk+21s]
あらほんとだ。ファイル検索したら『Mp3 』のもいくつか出てきた。
全部iTunesじゃないファイル。

64 名前:54 mailto:sage [2005/07/12(火) 21:13:28 ID:8phmCYGq]
"Mp3"→"Mp3 "にしたらできました。ありがとうございました。
ついでにちょこっと修正してみました。

on open AAA
tell application "Finder"
repeat with BBB in AAA
set CCC to name of BBB as string
if (creator type of BBB is "TVOD") or (creator type of BBB is "hook") then
set creator type of BBB to "TVOD"
set file type of BBB to "Mp3 "
else
display dialog "『" & CCC & "』" & "は音声ファイルじゃないかも?" buttons {"無視して変更", "除外して続行"} default button 2
set DDD to button returned of result
if DDD = "無視して変更" then
set creator type of BBB to "TVOD"
set file type of BBB to "Mp3 "
end if
end if
end repeat
end tell
end open


65 名前:名称未設定 mailto:sage [2005/07/12(火) 22:49:37 ID:uzqk+21s]
へぼい英語もどきでもいいし、
日本語のローマ字書きでもいいから
変数名、ルーチン名は、意味のある言葉にした方がいいよ。
(ここに掲載するために書き換えたのかもしれないけど)

66 名前:名称未設定 mailto:sage [2005/07/15(金) 14:41:44 ID:wApqPjZN]
tell BBS "にちゃんねる"
  tell board "新・mac"
    tell thread "おもろい、めずらしいアップルスクリプト発表会 6 "
      make new response with properties {content:"保守", name:"", mail:"sage"}
    end tell
  end tell
end tell


67 名前:名称未設定 [2005/07/23(土) 01:19:35 ID:g3sV0Mso]
擦れ違いですが、適当な場所が見つからないので失礼します。

OS8.6にてスクリプト編集プログラムでスクリプトを保存する際に
「スクリプティングシステムに接続できません。スクリプティングシステムが
正しくインストールされているか確かめて…(略)」の様なアラートが出ます。

CDからアップルスクリプトをカスタムインストールもしたのですが変わらずです。
何が原因なのでしょうか。

クレ厨質問で恐縮ですが、ご指導、ご誘導おねがいします。

68 名前:名称未設定 mailto:sage [2005/07/23(土) 01:34:43 ID:ftUU2b3N]
よくわからんがOSごと再インストールしてみるのが一番早いのではないかと

69 名前:名称未設定 mailto:sage [2005/07/23(土) 02:05:12 ID:e3MUEdxb]
>>67
まああれだ。地味に
・機能拡張マネージャや手作業で非標準の機能拡張やコンパネを排除
・デスクトップの再構築
やって、駄目なら

・標準のユーティリティーや市販のソフト(ノートンディスクドクターなど。ただし必ずOSのバージョンに合った物を使う事!)でHDDのメンテ
やって、それでも駄目なら

・システム再インストール
だろうな。

スクリプティング機能拡張など関連ファイルが正しい場所にあるか試したりカスタムインストール時にログ取って確認したりしてもいいけど、面倒なわりに実りは少ないだろう。

旧Mac OSのいいところの一つは健康なシステムのバックアップと
それを再び使用する事が簡単な事。
まっさらなシステムに最低限必要なものをインストールしていって
これなら健康に動くというシステムができたら、
丸ごとCDに焼いたりして保存しとくといいよ。

70 名前:名称未設定 mailto:sage [2005/07/24(日) 01:35:22 ID:0Hk7FGP+]
お手上げ状態なので教えて下さい。OSX環境。

ドロップレットで、
1.フォルダとファイル(混在可、複数可)をドロップすると
2.下の階層も含め、すべてのファイルについて
3.ファイル名の拡張子に応じてタイプ、クリエータを固定値(自分がいつも使うものをスクリプト中に書き込んでおけばよい)に変える
(1)が「複数ファイルをドロップ」のものは作ってある。再帰呼び出しを使うんだろうけど調べてもよく分からない。



71 名前:名称未設定 mailto:sage [2005/07/24(日) 01:41:01 ID:netavl3M]
その作ってあるものを晒せば手直ししてくれる人がいるかもしらん。

72 名前:67 mailto:sage [2005/07/24(日) 12:34:02 ID:QUYFYJXY]
>>68 >>69

結局OS再インストールで直りました。罵倒されるのも覚悟の上の
質問だったんですが、親切なアドバイスありがとうございました。

73 名前:名称未設定 mailto:sage [2005/07/24(日) 20:37:21 ID:vAaIf/kw]
>>70
うあー。これまた懐かしいなあ。w

Tigerたんでスレが立っちゃった鳶さんのサイトのAppleScriptのコーナー見てみそ。
再帰関係は詳しいよ。

74 名前:名称未設定 mailto:sage [2005/07/27(水) 08:54:07 ID:hvMTIN31]
細かい話だけど。

パンサー以降のバージョンのSafari(Shiiraも同じ)で
AppleScriptからURLを取得するとUnicode?になるらしくて
不都合が出る事がある。
iconvで変換しようかとかいろいろ考えてうまく行かなかったんだけど、
考え改めて「as string」したら解決しました。

同じ事で悩む人が居るかもしれないので書いておきます。

75 名前:名称未設定 mailto:sage [2005/07/27(水) 20:22:13 ID:FfcLoIpy]
tellする対象がまちまちなので、ハンドラでなく、includeだとかrequireみた
いな感じでスクリプトを展開するだけの記述をしたいのですが、この場合はど
うしたらよいでしょう。

script objectを使うのかと思ったのですが、ほしい効果をもたらしてくれるも
のではなさそうです。呼び出し元のその時点のtell対象に、呼び出したスクリ
プトを機能させたいのですよね。


76 名前:名称未設定 mailto:sage [2005/07/27(水) 21:24:10 ID:hvMTIN31]
うーん。。Cとかほとんどわからないのでそっちの概念で書かれてもわからないです。ごめんなさい。

ハンドラでだめな理由がよくわからないです。
具体的にどういう事をやろうとしてるのかもうちょっとわかれば。

77 名前:70 mailto:sage [2005/07/27(水) 23:57:32 ID:JcCcvLtY]
今までのものと改変中のものをアップロード。
「wwwwwwwwww.net/」に ファイル 146、パスワード as
わかる人は教えてください。

78 名前:名称未設定 mailto:sage [2005/07/28(木) 00:09:23 ID:SbUgNemi]
>>70
entire contents じゃダメなの?

79 名前:名称未設定 mailto:sage [2005/07/28(木) 00:09:49 ID:GgthWHD8]
落とすのめんどい。
ここに晒せ。

80 名前:名称未設定 mailto:sage [2005/07/28(木) 08:55:16 ID:AvWVyX5U]
>>77
てか、〜のサイトを見てみたら?ってレスしたんだから、
見たのかどうかくらい書いてくれるとうれしいんだが。



81 名前:名称未設定 mailto:sage [2005/07/28(木) 13:48:22 ID:S5Pt5zeu]
>>76
ハンドラの中では、再度tellする対象を指定しないといけないじゃないですか。
呼び出し元でtell対象が変化するので、そのときどきのtell対象を継承したい
ということです。ハンドラの引数に、tell対象も入れるようにすればいいわけ
ですけど、面倒なんで。

set i to 1
tell app "bar"
 repeat 10 times
  tell item i of bb of cc
   my hoge(it, foo)
  end tell
  set i to i + 1
 end repeat
end tell

on hoge(myit, foo)
 tell myit
  method foo
 end tell
end hoge

うーん、これでいいのだろうか!?
これでよきゃ、問題無いなあ。(Linux Zaurusからカキコ)


82 名前:名称未設定 mailto:sage [2005/07/28(木) 18:13:04 ID:3ThaBQBO]
自己レスです。
itを使えば簡単に引き継ぎ可能ですね。
下記は意味の無いサンプルですが。

tell app "Jedit4"
repeat with i in documents
tell i
set bb to my aa(it)
end tell
end repeat

on aa(myit)
tell myit
return name of it
end tell
end aa


83 名前:70 mailto:sage [2005/07/29(金) 00:17:41 ID:2YZ6dhG8]
言われる前からそこは読んでいた
それでもそこからの変え方が分からなかったんだよね

84 名前:名称未設定 mailto:sage [2005/07/29(金) 00:25:44 ID:Nr6PDJVV]
だから、ここに晒せって。

85 名前:名称未設定 mailto:sage [2005/07/29(金) 00:25:55 ID:wgK8tZ6N]
相手の言うことには答えないくせに
自分の知りたいことだけ教えろ的な態度はよくないよ?

なんか工房臭がぷんぷんするね

86 名前:名称未設定 mailto:sage [2005/07/29(金) 00:30:07 ID:nusPQWPz]
実のところ何も出来てない(誰かにほぼ丸ごと作って欲しい)から晒せないんでそ

87 名前:名称未設定 mailto:sage [2005/07/29(金) 01:39:45 ID:wgK8tZ6N]
自分の書いたコードをみんなに批評してもらいたいので書いてみますた(非再帰版)

on open dropped_alias_list
 
 tell application "Finder"
  
  set target_refs to {} -- サブフォルダの中身も含むすべてのドロップされた項目のリスト
  
  (* ドロップされた項目のリストを作成 *)
  repeat with an_alias in dropped_alias_list
   if the class of the item an_alias is folder then
    set the end of the target_refs to the folder an_alias -- 無駄な処理
    set the target_refs to the target_refs & the entire contents of the folder an_alias -- (A)
   else
    set the end of the target_refs to the item an_alias
   end if
  end repeat
  
  (* 作成したリストのすべての要素に対してクリエータ設定 *)
  repeat with an_item in target_refs
   if the class of the an_item is not folder then -- (A) でフォルダもリストに入るから...
    (* クリエータを設定する処理(略) *)
   end if
  end repeat
  
 end tell
 
end open

88 名前:名称未設定 mailto:sage [2005/07/29(金) 15:00:04 ID:M23of279]
横入りしてスマソ。

TigerのXcodeでPerlを組み込んだスクリプトを作ってるんだけど、
どうもエスケープがうまくいかないです。
スクリプトエディタ上だとoption + 円マークで出るバックスラッシュでうまくいくんだけど、
Xcodeにそのままコピペしてもおかしくなる、、

と、ここまで書いてて思い出した。
どっかで文字コードいじらないといけないんでしたっけ?

89 名前:名称未設定 mailto:sage [2005/07/29(金) 21:34:12 ID:BpwUrXFn]
property Str : ""
property adr : ""

display dialog "表示したい場所を入れてください" & return & "例:東京" & return & return & "半角スペースで絞り込み検索が出来ます" default answer Str buttons {"Cancel", "OK"} default button 2
copy the result as list to {Str}

adr = "map.hatena.ne.jp/?type=satellite&word=" + Str + "&.submit.x=0&.submit.y=0"

open location adr


単純にope locationを使ってStrに入れた地名をはてなマップで表示するスクリプトを作ったのですが、どうしても
map.hatena.ne.jp/?type=satellite&wordをnumberにできません」
と出てしまいます。
propertyで前と後ろの指定したアドレスを変数に代入して、同じように+で組み合わせても一緒でした。


どうすれば正常に動作するのでしょうか?

90 名前:名称未設定 mailto:sage [2005/07/29(金) 21:46:58 ID:4S6qiW3H]
文字は&で結合

set c to "a" & "b"




91 名前:名称未設定 mailto:sage [2005/07/29(金) 23:00:18 ID:BpwUrXFn]
>>90
ありがとうございます。+を&にして、open locationの後を改良したら表示されるようになりました。

92 名前:名称未設定 mailto:sage [2005/07/31(日) 02:18:26 ID:m+2lsOST]
スクリプト晒させておいて放置って、
お前らなかなかやるな(w


93 名前:名称未設定 mailto:sage [2005/07/31(日) 08:56:05 ID:TtASbzjH]
そもそもここは質問スレではない。

94 名前:名称未設定 mailto:sage [2005/07/31(日) 08:58:13 ID:ApoepvFe]
ttp://homepage1.nifty.com/ton_b/tips/Reference/Plural.html

95 名前:名称未設定 mailto:sage [2005/07/31(日) 14:18:12 ID:GzPe9L0a]
>>92
晒し方もあまりにもアレなんで
いっそ全部作ってからくれてやろうかと思ったが
自分の作業もあるんで後回しになってた。
期待させてもつまらんので何も書かなかった。

ていうかねえ。
OS Xの場合は拡張子に合わせたタイプ・クリエータの変更だったら、
findとSetFileを組み合わせた方が簡単なんだわ。
速いし、再帰なんかも考えなくてもいいしね。
ターミナルからでも短い記述で済むからいいんだけど、
AppleScript StudioでGUIつけてもいいし。

■例
find . -name "*.txt" -print0 | xargs -0 /Developer/Tools/SetFile -c JED3 -t TEXT

説明:カレントディレクトリ以下の「.txt」を含むファイル名のファイルを
クリエータ「JED3」、ファイルタイプ「TEXT」にする。

これをdo shell scriptで呼び出すようにして、
拡張子とクリエータとファイルタイプの部分を変数にすればいいわけやね。

96 名前:名称未設定 mailto:sage [2005/07/31(日) 15:28:34 ID:m+2lsOST]
$ zsh
% /Developer/Tools/SetFile -c JED3 -t TEXT */*/*.txt


97 名前:名称未設定 mailto:sage [2005/07/31(日) 15:54:53 ID:GzPe9L0a]
マニア御用達?zshキター!!
それって項目数とか階層が増えてもぜんぜん大丈夫ですか?

98 名前:名称未設定 mailto:sage [2005/07/31(日) 15:57:04 ID:GzPe9L0a]
>>95
一個抜けてた。
AppleScriptに組み込むつもりだったらディレクトリの指定の部分も変数にしないとだめやね。

99 名前:名称未設定 mailto:sage [2005/07/31(日) 16:30:41 ID:m+2lsOST]
>>98
多分大丈夫だよ。さいきてきにどんどんいくので。
SetFileはしらなかったよ。


100 名前:名称未設定 mailto:sage [2005/07/31(日) 17:27:09 ID:GzPe9L0a]
>>99
そうですか。
find xargsを使ったやり方は処理数オーバーになったりするのを
自動的に防止してくれるらしいです。

SetFileは漏れはターミナルコマンドポケットリファレンスとかいう本で知りました。
Developer Tools限定じゃなくて標準搭載にしてほしい便利なアイテムですね。



101 名前:名称未設定 [2005/07/31(日) 23:01:16 ID:zhGWBMHX]
>>87ありがとう。とりあえず試したけど問題なく行けてる気がする
>>95せっかくだけど今の自分には分からない。でも憶えておくよ。ありがとう。
>>79逆にその気をなくしたよ

102 名前:名称未設定 mailto:sage [2005/08/01(月) 08:19:40 ID:C4PeiVjP]
87は別の人だったのか。。
よく読んでなかったぽ。
orz

103 名前:名称未設定 mailto:sage [2005/08/03(水) 14:45:48 ID:uGA2gvae]
いつの間にかScript Debuggerが3.0.9にアップデートしてるね。
Tiger対応したとある。あと、SpotlightのImporterも出てた。
Script Debuggerのスクリプトをインポートできるプラグイン。

小さくて見えない文字は直ったんだろうか。



104 名前:名称未設定 mailto:sage [2005/08/06(土) 12:03:12 ID:lZRiqwqQ]
いまAutomator AppleScript Actions Tutorialを見てるんですけど、

set number_to_choose to (|numberToChoose| of parameters) as integer

のようにbindingからkeyを取得する書式で、保存する度に"|"の部分が
勝手に消されてしまいます。
変数名に"|"を入れる際には、何か特別な工夫が必要なのでしょうか。

105 名前:名称未設定 mailto:sage [2005/08/06(土) 12:07:53 ID:lZRiqwqQ]
ん、チュートリアルからのコピペで入力するとうまくいく場合もあるようで
…よくわからん

106 名前:名称未設定 mailto:sage [2005/08/06(土) 19:10:31 ID:g9rt0GkA]
2バイト文字を変数に使うための方法だったと思う

set |あ| to "abc"
display dialog |あ|

ASCII文字だけの場合、確かにコンパイラが消す場合と消さない場合があるようだね

107 名前:名称未設定 mailto:sage [2005/08/06(土) 19:15:06 ID:gjXqh3Ki]
予約語とバッティングするような変数名を使いたい時にも使う。

set |set| to "abc"


108 名前:名称未設定 mailto:sage [2005/08/06(土) 19:51:43 ID:oyLPcSJR]
すげー懐かしい。

109 名前:名称未設定 mailto:sage [2005/08/07(日) 14:06:22 ID:+WT6BpIX]
全アプリケーションのウインドウ名を得るにはどうすればいいでしょうか
最前面のアプリのウインドウ(s)は取得できましたが、全アプリとなるとロウレベルな部分へのアクセスが必要なのでしょうか

110 名前:104 mailto:sage [2005/08/07(日) 14:33:55 ID:e2+OU8of]
>>106-107
ありがとうございました。
なんとなくわかったような気がします。

set a to (|numbertochoose| of parameters) as integer →消える
set a to (|numberToChoose| of parameters) as integer →消えない
set a to (|NUMBERTOCHOOSE| of parameters) as integer →消えない

case sensitiveな変数名が外部から渡されるような場合に使うのですね。



111 名前:名称未設定 mailto:sage [2005/08/07(日) 20:31:10 ID:ECQmi8a5]
>>109
こんなの?

set window_list to {}
tell application "Finder"
set app_list to name of every process whose visible is true
end tell
repeat with theapp in app_list
try
tell application theapp
set theapp_list to (name of every window whose name is not "")
end tell
set window_list to window_list & theapp_list
end try
end repeat
choose from list window_list

112 名前:名称未設定 mailto:sage [2005/08/07(日) 23:07:49 ID:+WT6BpIX]
>>111
ありがとうございます。このようなものを求めていました。


113 名前:名称未設定 mailto:sage [2005/08/08(月) 16:40:15 ID:r+B7EZlh]
7/29に、FaceSpanがLate Night Softwareに買収されとった!

www.facespan.com/fs4/index.html

Late Night SoftwareからFaceSpanから販売する準備をしてるところだと。


114 名前:名称未設定 mailto:sage [2005/08/08(月) 16:43:08 ID:5Fo16CXb]
FaceSpanって今でも使ってる人いる?

115 名前:名称未設定 mailto:sage [2005/08/08(月) 18:17:46 ID:LhZ4wDmd]
懐かしいなー。
最近どっかのスレのスクリーンショットであれっぽい菱形(というか角で立った正方形)のアイコンを見てちょっと思い出したところだった。

しかしだ。AppleScript Studioのある今、FaceSpanの存在意義は?

116 名前:名称未設定 mailto:sage [2005/08/08(月) 18:46:47 ID:5Fo16CXb]
>>115
Classic OSとかかな?
Dialog Dirctorで代用できるかもしれないけど。

117 名前:名称未設定 mailto:sage [2005/08/08(月) 19:13:06 ID:bv5WB+LM]
AppleScript Studioでは不完全な形でしかできない(少なくとも自分が試した限
りでは)Global Floating Windowが簡単にできることとか。

今後はScript Debuggerとの連携強化によって、生産性が高くなる気がする。
文字さえ大きくなれば!!

いっそのことIDEとして統合を図っていって、「SK8」の復活を目指してほしい。

って「SK8」ってどんな塩梅だったの?


118 名前:名称未設定 [2005/08/24(水) 19:01:52 ID:NLEdTlhp]
SK8あったねー

119 名前:めんどうくさがり mailto:sage [2005/08/24(水) 20:16:05 ID:+E6mPKE3]
新ウインドウ開くタイプのネトゲ等でアドレスバー・ブックマークバー、
ステータスウインドウを無効にされた時アクティヴにするスクリプト

tell application "Safari"
activate
tell application "System Events"
keystroke "l" using command down
keystroke "b" using {command down, shift down}
keystroke "/" using command down
end tell
end tell

120 名前:名称未設定 mailto:sage [2005/08/25(木) 09:52:58 ID:cJIJ+GJg]
へー。スクリプトで隠されてもメニューから復活できるんだ。
そのネトゲがMozilla系でできるかどうかわからないけど、
Firefoxならあらかじめ、JavaScriptでアドレスバーとかステータスバーを隠すのを禁止する事ができるよ。



121 名前:名称未設定 mailto:sage [2005/08/25(木) 11:04:40 ID:cJIJ+GJg]
>>120の一行目の「スクリプト」って、JavaScriptの事です。
どうでもいい書き込みスマソ。

122 名前:名称未設定 mailto:sage [2005/08/26(金) 19:04:59 ID:ZFUK01z8]
>>120
Win環境のIEとかなら無理だったりするらしい。ソース閲覧不可とかありえませんね。
火狐はインターフェイスがあまり。。なのでSafariマンセーかな

>>119のはただの低レベルGUIコントロールなのでこのスレ的にはふさわしくありませんが、
まあひな形として

ショートカット入力させるだけでもいろいろ便利になりますね、AppleScript

123 名前:名称未設定 mailto:sage [2005/08/27(土) 22:45:18 ID:frsLVu8F]
アプリケーション(例えばiTunes)が現在起動中かを if文 で判別する方法を教えてください

124 名前:名称未設定 mailto:sage [2005/08/27(土) 23:04:07 ID:wC5K5M17]
>>123
tell application "Finder"
if "iTunes" is in (name of every process) then
log "Yes."
else
log "No."
end if
end tell

125 名前:名称未設定 mailto:sage [2005/08/27(土) 23:07:55 ID:YBwuAvay]
>>123
tell application "System Events"
if (name of processes) contains "iTunes" then
display alert "起動してる"
end if
end tell


126 名前:名称未設定 mailto:sage [2005/08/27(土) 23:11:24 ID:frsLVu8F]
>>124-125
キタ━━━━(゚∀゚)━━━━ッ!!
thx

127 名前:名称未設定 mailto:sage [2005/08/27(土) 23:39:52 ID:ngj41HCr]
近頃、おもしろくも、めずらしくも無いな

128 名前:名称未設定 mailto:sage [2005/08/28(日) 00:50:54 ID:E4rJqwYg]
子供相手にそうカリカリすんなや。

129 名前:名称未設定 mailto:sage [2005/08/28(日) 02:02:28 ID:SVPj9b+3]
某所でスリープを感知して動作するスクリプトを見つけたんだが、
どんな仕組みでやってるのかな?
サイトに書いてある事によると、idleハンドラを10秒周期で回して
スリープから復帰する時に背後で行われる作業かなんかを調べてるっぽいんだけど。

AppleScript以外で作られた同様のユーティリティーと比べて
性能とかシステムへの負荷とかどうなんだろう。

あとそのスクリプト、色つきの半透過のウインドウを出すみたいなんだよね。
そのやり方も気になる。display alertって、普通にそんな事できるの??
フォントもスタイル付きだったし。

130 名前:名称未設定 mailto:sage [2005/08/28(日) 02:04:17 ID:SVPj9b+3]
>>129
×:スリープを感知
○:スリープ解除を感知



131 名前:名称未設定 mailto:sage [2005/08/28(日) 02:05:21 ID:M61crGs6]
Gなんとかっていうのを入れるんじゃなかったっけ。
要はウインドウを出すだけのソフト。


132 名前:名称未設定 mailto:sage [2005/08/28(日) 02:12:23 ID:lrijzcNQ]
某所とか言われてもな

133 名前:名称未設定 mailto:sage [2005/08/28(日) 02:45:29 ID:SVPj9b+3]
>>131
そうなの?
アプリケーションバンドル形式だったからパッケージ開いてみたけど、
それっぽいものが見付からなかったんですよね。
その部分だけCocoaか何かで書いてるのかなあ??

>>132
情報としては上記の説明で充分と思ったんで晒すのもどうかと思ったんだけど、
別に隠す事でもないか。ぴよまるソフトウェアさん。
要望出そうかと思ったら連絡先がないみたい。

134 名前:名称未設定 mailto:sage [2005/08/28(日) 03:03:34 ID:lrijzcNQ]
>>133
ども、ダウンロードしてみた

>色つきの半透過のウインドウ
Okaeriのパッケージ内にnibファイルがあるけど、
普通にCocoaのウィンドウを透過表示してるだけみたい

スリープ感知で一番簡単な方法としては、on idleで10秒毎に時間を記録しておいて
前回の記録との間が10秒より有意に大きければ、途中でスリープした可能性ありと
判断できるかもね(他にも複数の方法を併用してるようだけど)

135 名前:名称未設定 mailto:sage [2005/08/28(日) 03:07:50 ID:lrijzcNQ]
一見アプリケーション形式のスクリプトに見えるけど
icnsにアプリケーション形式スクリプトのアイコンを使ってるだけであって
実態は普通のAppleScript Studio製Cocoaアプリだと思う

136 名前:名称未設定 mailto:sage [2005/08/28(日) 03:49:15 ID:SVPj9b+3]
>>134,135
AppleScript Studioで、半透過のウインドウって簡単に作れるんですか?

> 時間を記録しておいて〜
はっはーなるほどー。

137 名前:名称未設定 mailto:sage [2005/08/28(日) 04:31:49 ID:M61crGs6]
Objective-Cのクラスを使う形で実装するようだよ。


138 名前:名称未設定 mailto:sage [2005/08/28(日) 05:30:39 ID:SVPj9b+3]
call methodですか〜。使えるようになりたいなー。

そういうのに便利なCocoa APIのリファレンス本ていうか、
そういうのないですかね?
・・・日本語で。w

139 名前:名称未設定 mailto:sage [2005/08/28(日) 10:29:55 ID:BPGTYoyE]
>>136
通常のウィンドウを半透明にするだけなら、単にset alpha valueすればいいんだけど
ウィンドウ枠を持たない、いわゆる不定形ウィンドウはcall methodを使うみたいね
「AppleScript Studioでゼンマイびゅんびゅん!!」に作例が載ってたよ
>>138
oomoriさんとこのCocoa APIリファレンスには
call method用の構文も載ってて便利

140 名前:名称未設定 mailto:sage [2005/08/28(日) 10:37:55 ID:BPGTYoyE]
ごめん、call methodは使ってないや
IBでウィンドウにCuntom Classを適用するだけでいいようだ



141 名前:名称未設定 mailto:sage [2005/08/28(日) 10:38:29 ID:BPGTYoyE]
Custom Classね

142 名前:名称未設定 mailto:sage [2005/08/28(日) 13:31:49 ID:8uyYtYD3]
しかし自分もたいていソース非公開だから言えたもんじゃないが
スリープ解除感知とかいう有用なノウハウは公開して貰えると
とてもうれすぃ。
まあそれ用のハンドラがAppleのほうで用意されるのが一番いいんだろうけど。

>>139-141
情報ありがとうございます。
そうか。ゼンマイびゅんびゅんシリーズは一通り買ってるつもりだったけど、
Studioで〜は買ってなかったかな。買おうかな。
ネット上の掌田さんの記事にもちょこっとそれっぽい事に触れてあるんですけどねー。

>>139
いっそ誰か(どこか)金出して
oomoriさん中心でAppleScriptで使うためのCocoaの本を出してくれたりしないものか。。
AppleScriptリファレンスとかも労力に見合うほど売れてなかったりするのかなー。。

143 名前:名称未設定 mailto:sage [2005/08/29(月) 02:36:36 ID:9B68a1cp]
Products [CD販売中] AppleScript Studio秘伝書CD v2.0 (ShareWare)
AppleScript Studioでアプリケーション開発を行う際の、さまざまなノウハウをまとめたCDです。


144 名前:名称未設定 mailto:sage [2005/08/29(月) 20:39:48 ID:6qenkZWc]
なるほどぴよまるソフトウェアさんはそういうの売ってるのね。
ちゃっかりしてらっしゃる。w
FAQ眺めるとなんかこう、おいしそうなのからえーこれで金取るのってまで混ざってるな。w

145 名前:名称未設定 mailto:sage [2005/08/29(月) 20:42:42 ID:6qenkZWc]
けっこー初歩的な質問ですが。。

非公式?だけど便利なハンドラ「on reopen」がありますが、
(既に起動中のアプリのアイコンをドックでクリックした時などに実行)
AppleScript Studioでこれの代わりになるハンドラってなんでしょうか?
File's Ownerのactivated?

146 名前:名称未設定 mailto:sage [2005/08/30(火) 11:53:52 ID:jNx+Fim/]
>>145
on reopen そのものがどこかにあった気がする。

147 名前:名称未設定 mailto:sage [2005/08/30(火) 15:19:32 ID:MpFfq2Mz]
ほんとですか?
コンパイルは通るんですけどね。。

148 名前:名称未設定 mailto:sage [2005/08/31(水) 00:23:26 ID:eIHwi7CC]
Mac OS Xになってから、AppleScriptでは金払わないとcgi書けなくなっちゃっ
たんですね。せめてosascriptがユーザwwwでも普通に動くといいんですが。

sudoで動かそうとしたけどパスワード入力で止まっちゃって無理だった。

echo "
" | sudo osascript -e "set aa to 1"

偽RD-Styleを目指してEyeTV 200用のcgi試しに書こうとしたとです。


149 名前:名称未設定 mailto:sage [2005/09/02(金) 11:51:58 ID:XK+0qGLz]
>>148
そりは困った事ですね。
Web Scripter's Meetingのほうとかでいいアイディアをおもちの方がおられませんかね。

150 名前:名称未設定 mailto:sage [2005/09/02(金) 11:52:53 ID:XK+0qGLz]
Jon's Commandsって、OSX版が出てたんですねー。
キー入力の検出ができたりするみたい。



151 名前:名称未設定 mailto:sage [2005/09/03(土) 20:50:36 ID:aSLKcfbY]
ファイル名の中の一文を置き換えるようなスクリプトってどうすればいいでしょうか?
名称未設定OSX.txt→名称未設定OS9.txt

みたいなのを大量に処理したいんですが。

152 名前:名称未設定 mailto:sage [2005/09/03(土) 21:31:59 ID:nh8LhV/u]
正規表現じゃないならAppleScript's text item delimitersでできそう。

on replaceText(inText, inOld, inNew)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {inOld}
set workData to text items of inText
set AppleScript's text item delimiters to {inNew}
set workData to workData as string
set AppleScript's text item delimiters to OriginalDelimiters
return workData
end replaceText
set theText to my replaceText("名称未設定OSX.txt", "OSX", "OS9")

153 名前:名称未設定 mailto:sage [2005/09/04(日) 07:53:54 ID:/QQrhNHa]
OS XならPerlとか呼び出せばかなり複雑な事もできるね。

>>151
そもそもファイル名の取得と変更の基本的な事はわかってるのかな?
>>152さんのはテキスト置換部分だからそれにちょっと付け足せばいいんだけど。

set 変数 to name of 〜 で現在の名前を取得。
set name of 〜 to 変数 で名前を付ける。

あと複数処理ね。
ドロップレットにするかFinerのselectionで選択対象のリストを得る。
repeat with 変数 in リスト
を使って一個ずつ処理する事になるね。

~~~~~~~~~~~~
結果が欲しいだけならAutomatorでもできるよ。
リネームソフトもあるし。

154 名前:名称未設定 mailto:sage [2005/09/04(日) 17:35:47 ID:Iqa+85fi]
>>152ありがとうございます。
on replaceText(inText, inOld, inNew)は使い方がよく分からなかったので
(なんかドロップレットの中で使うと?エラーがでます)
↓結局こうなりました。


set kara to text item delimiters of AppleScript
set motonamae to name of hensuu
set text item delimiters of AppleScript to sakujo
set sakujogonamae to (every text item of motonamae)
set text item delimiters of AppleScript to tuika
set name of hensuu to sakujogonamae as string
set text item delimiters of AppleScript to kara

155 名前:名称未設定 mailto:sage [2005/09/04(日) 17:57:10 ID:S3WLaW7i]
○(外に出す)
------------------------------
on open
end open

on replaceText()
end replaceText

×(ネストしない)
------------------------------
on open
 on replaceText()
 end replaceText
end open


156 名前:名称未設定 mailto:sage [2005/09/07(水) 19:30:14 ID:O48sruLh]
Script Menu.menuというのをクリックすると右上のバーにスクリプト項目が表示されて、
そこからScriptを実行したりできるわけですが、
ドロップレットのかわりに、ファイルを選択してそこから実行するようにするにはどうすればいいでしょうか?

on run
tell application "Finder"
set sentaku to every item of selection

みたいにやってみたんですが、どうもうまくいきません。

157 名前:名称未設定 mailto:sage [2005/09/07(水) 20:03:01 ID:tWMqCB47]
>>156

on run
tell application "Finder" to set |Finder選択項目| to selection
tell me to open |Finder選択項目|
end run

on open |開く項目リスト|
repeat with |項目| in |開く項目リスト|
display alert (|項目| as Unicode text)
end repeat
end open


158 名前:名称未設定 mailto:sage [2005/09/07(水) 20:20:57 ID:3+xodjh4]
>>157 ふーん、そういう書き方があるのだね。勉強になる!!

--Finderで選択中のファイルをDropStuffで圧縮
--iKeyでキーボードショートカット付けると便利

tell application "Finder"
set myFinderSelection to selection
repeat with I in myFinderSelection
tell application "DropStuff" to stuff (I as alias) format StuffIt to my myGetDesktopFolder()
end repeat
end tell

on myGetDesktopFolder()
tell application "Finder"
return (desktop as alias)
end tell
end myGetDesktopFolder


159 名前:名称未設定 mailto:sage [2005/09/07(水) 20:53:44 ID:xqO5ONDa]
>>157
日本語変数かよw
懐いぜ。

>>158
何でそういうサブルーチン作って分けてるのか
いまいちわからんのだけど。
不必要じゃないか?
むしろリピートの中で一々サブルーチン呼んでたら速度低下とか色々あるでしょ。
デスクトップフォルダの場所が知りたいだけなら
リピートの外で一回実行すればいいだけで、分ける必要もないと思うが。

160 名前:名称未設定 mailto:sage [2005/09/07(水) 21:26:00 ID:2nHUp/3B]
HDDのスクリプト溜めの中の全然別のスクリプトから切り出してきたのでそうなっ
てんだ。




161 名前:名称未設定 mailto:sage [2005/09/07(水) 21:45:49 ID:xqO5ONDa]
それにしてもなあ。
切りだし元の書き方に汎用性がないって事にもなるし。
まあ直せるならいいけど。

162 名前:名称未設定 mailto:sage [2005/09/07(水) 21:48:17 ID:eX6ZJATJ]
Finderで複数の項目を選択して、それらのアイコンを削除し、
表示をデフォルトに戻すスクリプトを制作していただけませんか?

大量のjpgファイルにサムネイルがついてしまい、なおかつ、そのサムネイルが汚くて
非常にまいっています。よろしくお願いします。

163 名前:名称未設定 mailto:sage [2005/09/07(水) 21:52:46 ID:Ozt2EC4O]
動かなくてもいいからまず自分で書いてみなよ

164 名前:名称未設定 mailto:sage [2005/09/07(水) 21:58:04 ID:EroFEonN]
>>162
www5.wind.ne.jp/miko/mac_soft/automator_actions/pgs/ZapResourceForksAMA.html
www5.wind.ne.jp/miko/mac_soft/contextual_menu_x/pgs/AmZapForksCMX.html
では駄目でAppleScriptがいいの?

165 名前:名称未設定 mailto:sage [2005/09/07(水) 22:12:24 ID:eX6ZJATJ]
いいえ、これでもかまいません。ありがとうございましたー
サンプルをちょっといじってみたら、自分の書いた文章がアラートとして表示されました。
軽く感動。スクリプト、ちと勉強してみます。

166 名前:名称未設定 mailto:sage [2005/09/08(木) 01:02:50 ID:xAVP9MpF]
>>162

on open A
tell application "Finder"
repeat with B in A
set icon of B to {}
end repeat
end tell
end open

こういうこと?

167 名前:名称未設定 mailto:sage [2005/09/08(木) 05:16:47 ID:+30f54Ms]
ちょっと質問です。
マイク入力でスリープを解除させるようなスクリプトは可能ですか?

168 名前:名称未設定 mailto:sage [2005/09/08(木) 06:07:39 ID:JQ3TRJE9]
>>167
無理。スリープ状態では普通のアプリケーションは停止するし。
そういうのはスクリプトの仕事ではない。
(仮に元々そういう設定が隠し設定としてシステムに存在していて
 コマンドラインから設定できるとかいう場合ならスクリプトでどうにかなるけど)

169 名前:名称未設定 mailto:sage [2005/09/08(木) 12:56:00 ID:BNL3nlcb]
>>167 あんたこれ作りなさい。「チャイムコードへ」、とある先にキーボードつなぐ。
CtrlとかCommandとかOptionとか、いつ押しても問題無いキーを押させる。
homepage1.nifty.com/ddd/31-chime/31-oto-chime.htm

Wake On LANというセンもあるけど。省エネルギーのオプションを参照。

↓Cで書かれたwolクライアント。玄箱でもMacでもコンパイルできた。
www.gcd.org/sengoku/docs/wol.c
↓wol解説
www.rtpro.yamaha.co.jp/RT/docs/wol/wol.html

wolだとマジックパケットを送るマシンと、マイクからの入力をあれこれするプ
ログラムが必要になるから本質的な解決にはなってないね。

170 名前:名称未設定 mailto:sage [2005/09/08(木) 18:10:29 ID:+30f54Ms]
そうか、スリープしてたら普通アプリはとまってるよね(w
あっはっは。
ハード組んでまでやりたいことじゃないので・・・ちょっとハードはパスだに〜。

サーバーにしてるノートがあって、リビングに鎮座してるので時計でも表示させようかなと。
で、大抵はスリープしてるんで手拍子で時計起動しないかな〜とね。
画面スリープだけなら可能性あるかな?
可能だとしてマイク入力をイベントとして処理できますかね?



171 名前:名称未設定 mailto:sage [2005/09/08(木) 19:53:25 ID:JQ3TRJE9]
スクリーンセーバーみたいなものを起動させておいて
音に反応させるのは可能なのでは?
まあそれもAppleScriptじゃなくて Objective - C でどうぞって雰囲気だけど。

音に反応するアプリとかって昔ありましたよね。
ふーふーすると風車が回るやつとかはけっこう新しいやつでしたっけ。

>>169
チャイムの代わりに簡単な稼働部品をつけて
マウスでもつつかせればスリープは解除できますね。w
こういうの作れる人になりたかったなあ。

172 名前:名称未設定 mailto:sage [2005/09/08(木) 20:46:00 ID:BNL3nlcb]
>>178 ポーリングして値を見てやらんといかんでしょ。
developer.apple.com/documentation/QuickTime/INMAC/SOUND/imsoundinput.19.htm#pgfId=775
QuickTime Audio
 Sound Input Manager Routines
  SPBGetRecordingStatus
   meterLevel: Integer;

Pythonでは/Mac/Modules/sndでいけるっぽい
mail.python.org/pipermail/python-checkins/2002-August/028921.html
PerlもMac-Carbon使うといけるみたい
search.cpan.org/src/CNANDOR/Mac-Carbon-0.74/Sound/Sound.xs
REALbasicでもSPBAudioLibっての使うといけたらしい
support.realsoftware.com/listarchives/realbasic-nug/2000-07/msg02737.html

0-255のintが返ってくるから、閾値を設定して最初のループで認識後、次のルー
プで閾値以下に戻ったのを確認して、さらに次のループで何秒以内にもう一度
入力があったらGO!みたいな感じに処理するといいと思うが。

SpeechRecognitionServerを使う手もあるね。でもこれ日本人にはきつい。
これ使うぐらいならハード作った方がましだと思う。
developer.apple.com/ue/speech/applescript.html

>>171 キーを押すということは電気を通すということだから、
この先に電気で動かすスイッチであるSSRとかフォトカプラを置けばいいのよ。
キーボードを改造する必要はあるけど。

173 名前:名称未設定 mailto:sage [2005/09/08(木) 21:28:16 ID:JQ3TRJE9]
ああ昔内蔵マイクに向かって一生懸命
「What time is it now ?(ほったいもいじくるな!)」って言ってたさw

174 名前:名称未設定 mailto:sage [2005/09/08(木) 22:13:59 ID:uwok69V8]
>>157
ありがとうございます。でもalertのところで
end of line と書くところに
identifierがあります。
とかいうエラーがでてしまうようです。
そのままでは使えないと言うことでしょうか?


175 名前:名称未設定 mailto:sage [2005/09/09(金) 06:54:21 ID:NbNIhW9h]
>>174
display alertは10.3からかな?10.4からかな。

alertをdialogに書き換えたらOKのはず。

176 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 16:45:36 ID:9x5INtFb]
>>175
できました!ありがとうございます。


177 名前:名無しさん@そうだ選挙に行こう [2005/09/11(日) 17:38:50 ID:2Vc5XUJt]
擦れ違い(本当はDTP板で聞く話なんだろうけど人少なそうだから)スマソ

OSX、インデザインCSでテキストの流し込み作業を行っているオペです。
大量に支給されるテキストファイルの中にwindows由来のものがあり、
改行コード(CR/LF)のLFが邪魔なのですが

「AppleScript's text item delimiters」使ってLFだけ削除することって
可能でしょうか?
選挙の日に初心者質問で申し訳ないですが、アドバイスお願いします。


178 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 18:51:40 ID:YoGCJosM]
たとえば「dos mac 改行 変換」でググると幾つか見つかるけど

179 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 19:50:38 ID:6KL8DlIA]
open for access で delimiterをascii character 12にしてリストとして読み、
as textでテキスト変換するとか。あるいは伝統的手法でAppeScript's text
item delimitersを ascii character 12にするとかやろうとしたけど、これっ
てなんかうまくいかないね。

このスクリプトがまさにそのもの。
www.vector.co.jp/soft/mac/util/se183050.html

ソース読んだけど、一つ勉強になりました。
猫は去ってスクリプトを残すか。

{return & "
", return, "
"}

これでCRLF, CR, LFのリストになるなんて仏様でも知りますまい。


180 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 19:52:43 ID:pVIsbdah]
>>177
できるよ。
LFはASCII character 10だから頑張ってみて。



181 名前:177 [2005/09/12(月) 00:27:07 ID:P5a7YGmb]
おおっ、いきなり回答そのものが!
DTPのスクリプト初心者には、質問の場が少なくて困ってたのです。

ともあれ
>>178 >>179 >>180
どうもありがとう

182 名前:名称未設定 mailto:sage [2005/09/15(木) 05:11:58 ID:FOLQLt2s]
AppleScript StudioではCRLFが定義されてるんだけど、
スクリプトエディタでコンパイルし直さないといけない事になったりで、
結局いつも自分で変数crlfStrを定義している漏れ。

183 名前:名称未設定 mailto:sage [2005/09/17(土) 21:59:48 ID:uDPMaqXg]
ドロップされたファイルの拡張子が「.tar.gz」だった場合に「.tgz」、
「.tar.bz2」だった場合には「.tbz」に変更するスクリプト書いてくれませんか?

184 名前:名称未設定 mailto:sage [2005/09/17(土) 22:14:28 ID:3ec1YaAm]
>>183
拡張子だけ勝手に書き換えちゃってええのんか?

185 名前:名称未設定 mailto:sage [2005/09/17(土) 22:24:32 ID:w1tGhuwX]
-->>183
--拡張子を変えるだけなら

on open dropItems
tell application "Finder"
repeat with anItem in dropItems
set theName to name of anItem
if theName ends with ".tar.gz" then
set name of anItem to my replace(theName, ".tar.gz", ".tgz")
else if name of anItem ends with ".tar.bz2" then
set name of anItem to my replace(theName, ".tar.bz2", ".tbz")
end if
end repeat
end tell
end open
to replace(theText, replaceStr1, replaceStr2)
set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to replaceStr1
set theText to every text item of theText
set AppleScript's text item delimiters to replaceStr2
set theText to theText as string
set AppleScript's text item delimiters to oldDel
return theText
end replace

186 名前:名称未設定 mailto:sage [2005/09/18(日) 00:15:58 ID:dyLn1tbv]
>>183
せっかくだからautomatorかなんかで挑戦してみりゃいいのに。

187 名前:名称未設定 mailto:sage [2005/09/18(日) 01:55:24 ID:SZiBV1Hi]
>>185
おぉ、これで.tarが無駄に出てこなくなる。thx

188 名前:名称未設定 mailto:sage [2005/09/18(日) 02:47:41 ID:dyLn1tbv]
拡張子によってそんな違いあったっけ?
OSのBOMB?で解凍するとき?
ドラッグ&ドロップするんだったら直接解凍ソフトにドロップしてもいいよね。

189 名前:名称未設定 mailto:sage [2005/09/18(日) 04:51:18 ID:6hySMFr2]
Finderで選択している音楽ファイルを、ファイル名の逆の順番にiTunesに追加するスクリプト書いてもらえませんか?
一度に追加するのはAutomatorでできるんですけど、これだと追加する順番が決められないのです。

190 名前:名称未設定 mailto:sage [2005/09/18(日) 06:57:09 ID:CofyOvnq]
>>189
自分で書けよ



191 名前:名称未設定 mailto:sage [2005/09/18(日) 08:18:34 ID:ngQMd9KO]
一応発表会スレであって
スクリプト書くのが面倒だからヒマな他人にタダで書かせるスレ
じゃないんだが

192 名前:名称未設定 mailto:sage [2005/09/18(日) 10:29:39 ID:YSWbvtjP]
油断して、初級クレクレ厨の相手をすると
そのうち上級クレクレ厨がきて収拾が付かなくなる恐れがありますので。。

193 名前:名称未設定 mailto:sage [2005/09/18(日) 14:56:00 ID:873xH2al]
そうはいってもアップルスクリプトなんて今1から勉強するには環境整ってなさ過ぎ。
文法やパラメータまともに解説してるとこなんてないし、
俺も一応簡単なものは書くけど未だに辞書の見方よくわからんぜ。
そういうのを解決するために作ったのがAutomatorだったんだろうが、あれも結局ASに頼り過ぎで
バリバリ使うなら最初からスクリプト書いた方が楽=誰もアクションなんて作らない

194 名前:名称未設定 mailto:sage [2005/09/18(日) 18:50:54 ID:JTZ7B8VI]
リストを逆順で処理するのは>185の一部をかえる場合次のようにする
repeat with theIndex from (count (dropItems)) to 1 by -1
set anItem to item theIndex of dropItems
display alert anItem
end repeat
あとはiTunesで開けばいいんじゃないかな?

195 名前:名称未設定 mailto:sage [2005/09/19(月) 03:00:05 ID:wsMlmMYq]
>>192
皮先みたいなヤシはそうそう居ないから心配するな。(w
ま、一人でも十分迷惑ではあるが。(w

196 名前:名称未設定 [2005/09/19(月) 12:17:54 ID:J0dKOT4z]
 

197 名前:名称未設定 mailto:sage [2005/09/19(月) 13:00:19 ID:oPzgYFT4]
>>194
Finderから渡されるselectionのリストって、ディレクトリエントリ順か、ア
イコンの座標順でなかった? カラムモードだけはファイル名順にならんだっけ
な。だから最初にソートしないといけない。10.4のFinderはsortがあったはず
だけど、それ以下だと自分でソートするハンドラ書かないといけない。


198 名前:名称未設定 mailto:sage [2005/09/19(月) 13:29:13 ID:SUEZxWOZ]
on maxSort(aList)
copy aList to theList
set sum to count theList
repeat with i from 1 to sum - 1
repeat with j from i + 1 to sum
if item i of theList > item j of theList then
set temp to item i of theList
set item i of theList to item j of theList
set item j of theList to temp
end if
end repeat
end repeat
return theList
end maxSort

ソートするハンドラ
藤棚からのコピペ

199 名前:名称未設定 mailto:sage [2005/09/19(月) 22:07:04 ID:9dGJDYT/]
名前順だったらTerminalコマンド使ってのソートもできると思う。
ネットのどっかで拾ったけど、どこだったか忘れた。
ひょっとすると海外か?だとするとこのスレ経由かな?

自分のスクリプトからその部分だけコピペしてみる。
ハンドラとかになってないし、何か自分でもよくわからん事してるけど。。
どうも名前のリストのテキストに対して行のソートの処理をしてるみたい。
変数theListに最初に項目のリストが収まってる。

set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to {ASCII character 10}
set listString to (theList as string)
set newString to do shell script "echo " & quoted form of listString & " | sort -f"
set newList to (paragraphs of newString)
set AppleScript's text item delimiters to crlfStr
set newString to (newList as string)
set AppleScript's text item delimiters to oldDelims

200 名前:名称未設定 mailto:sage [2005/09/20(火) 21:32:50 ID:BfKWPDmL]
瑣末な質問ですが・・・

Finderでselectionを使うとき、name of selection ってすると、選択してるファイルの
名前がリストで返ってきますよね? 
でも、selectionを変数に入れて name of my_sel とかってするとエラーが出ます、よね?
あと、name of (item 1 of my_sel) や、name of (item 1 of selection) は、両方ちゃんと
ファイル名を取得できますが、name of (every item of my_sel) は、
name of (every item of selection) と違って、エラーが出ます・・・よね?

この違いは、どうして出てくるんでしょうか?
使ってて特に問題はないんですが、気になったもので・・・AppleScriptの仕組みを
よく分かってないので、もし「んな初歩的な事も知らんのかゴルァ!」って話だったらスマソ&
ご教示おながいしまつ m(_ _)m



201 名前:名称未設定 mailto:sage [2005/09/22(木) 19:30:53 ID:91z4zGvb]
アップルスクリプトじゃなくてシェルスクリプトなんだけど
何か一つ手元に参考書が欲しいと思って、本屋に行ったら
入門風の薄い1,800円、翻訳本の2,800円の2冊を除いて
あとの5〜6冊は全てどの本も2,200円。
陰謀のにおいがしました。


202 名前:名称未設定 mailto:sage [2005/09/22(木) 23:19:21 ID:mGqBKDS5]
漫画しか買ったこと無いの?
技術書としては市場が大きく類書が多いジャンルだから安い方だろ。
大体お前『バガボンド』の総部数と『シェルスクリプト入門』の部数を想像し
てみな。下手すっと4000倍違うぜ。

4000個作る量産品とワンメイクの特注品の価格を想像してみな。

『バガボンド』は読んで何が残る? 宮本武蔵になれるのか? 『シェルスクリプ
ト入門』は、読んだら明日からシェルスクリプトマスターになれるかもしれん
ぜ。お前の将来の職につながる知識になるかもしれん。

俺も昔は金無かったからお前の気持ちは分かるが。
まだ若いなら漫画買う金節約して自分を磨け!

技術書にも糞と名著があるから、Amazonとか関連スレを参考にして買うといい
ぞ。糞に当たると本当に損する。

203 名前:名称未設定 mailto:sage [2005/09/23(金) 02:10:03 ID:2iIqnzH8]
>>202
そうじゃなくて、「価格が同じ」ことに着目してるんぢゃないのかな?

>>201
それはあれだ。ナンバーズか何かをその番号で買えという虫の知らせだよw

204 名前:名称未設定 mailto:sage [2005/09/23(金) 02:11:09 ID:2iIqnzH8]
シェルスクリプトの本は逆引き500とかいうのがMac OS Xの事も載ってそうだしおもしろそう。
同じシリーズのターミナルコマンドのやつも使えるコマンドあった。

205 名前:名称未設定 mailto:sage [2005/09/23(金) 02:14:09 ID:2iIqnzH8]
>>200
10.4.2で実験してみたんだが、
そもそも
name of selection
ができなくなってるっぽい。

このへんはAppleScriptの仕様はわりといい加減っぽいので
あまり気にしないほうがええんでないかなあ。。

複数参照形式のなんたらは直接じゃないとだめらしいってのは
AppleScriptリファレンスにも確か書いてあったな。
元ネタは野本夏俊さんだっけ?

206 名前:名称未設定 mailto:sage [2005/09/23(金) 13:28:25 ID:vT7jGwd/]
一度地元の図書館に行ってみようw
Mac関係はPhotoShop系以外は割と借りやすい。
リクエストしたら購入してくれる所もあるし。
当たり外れが結構あるからなぁ。


207 名前:200 mailto:sage [2005/09/23(金) 14:23:00 ID:qNq7GeR+]
>>205
試して頂いてアリガトンです。最近は name of selection でもダメなんですね。
ひょっとしたら何か厳密なルールがあるのかと思ってますた・・・
あんま気にせずにやっていきますw
複数参照形式についても参考になりました。リファレンス買おうかな

208 名前:名称未設定 mailto:sage [2005/09/23(金) 14:45:15 ID:2iIqnzH8]
>>207
とんびさん(TigerたんWidgetの作者の人)のサイトのTipsのとこ見たら何か書いてあったような。

209 名前:200 mailto:sage [2005/09/23(金) 18:03:11 ID:qNq7GeR+]
>>208
tips/basic/の「複数参照」のところですね。アリガトです。(鳶嶋さんのサイト、困った時に
よくお世話になっているんですが、肝心なトコを見落としてました orz)

>難点らしい難点は(略)、パスによる参照のリストには対応していない場合が多いこと
って部分が、読んでみて正に当てはまってる・・ように思いますた。

>>200で頭をひねってた件って、つまり
・旧Mac OSのFinder等が持ってる「selection」は、単に「パスによる参照のリスト」を返すだけでなく、
 (珍しく?)複数参照が可能なおかげで、「name」などの属性を一括して閲覧・変更することも出来る

・それは「selection」を直接扱う場合のみ可能で、変数に入れると、結果({file"○○"~,file"××"〜}など)
 だけが代入されてしまうために?、「selection」の神通力が失われた、単なる「パスによる参照のリスト」
 になってしまい、複数参照が出来なくなってしまう

・・・みたいな感じ・・でしょうか。

長々と素人勝手な憶測スマソです&情報アリガトンです!

210 名前:名称未設定 mailto:sage [2005/09/23(金) 18:59:49 ID:gFVb6HWn]
10.4だと

name of (selection as alias)

ってやらないとだめだよね。

複数選択したものを変数に入れるときは

set x to selection
name of ((item 1 of x) as alias)

とか。



211 名前:200 mailto:sage [2005/09/23(金) 20:11:44 ID:qNq7GeR+]
>>210
鳶嶋氏の話だと、元々selectionで複数参照できるアプリ自体少ないみたいですし、
10.xになって、Finderもそっちの方へシフトしちゃったんでしょうか。
支障はほとんどないだろうけど、少し不便になってるみたいですね。

あ・・・関係ないですが>>209のやつ、変数に(a reference to selection)を入れれば
(とりあえず旧Mac OSでは)selectionと同等に使えますね orz キヅイテカナカッタ・・アホダ・・

212 名前:名称未設定 mailto:sage [2005/09/24(土) 02:30:35 ID:Gfb0gZ2H]
ん?うちの環境がおかしいのか?

>>210
tell application "Finder"
name of (selection as alias)
end tell

ってやると、「〜をタイプaliasに変換できません」というエラーになるんだが。
10.4.2で、スクリプトエディタ上で実行。

as alias listだと、「name of 〜 を取得できません」となってだめ。

213 名前:名称未設定 mailto:sage [2005/09/24(土) 02:36:55 ID:Gfb0gZ2H]
あと>>210の後ろのスクリプトだが、
一個の名前を取り出すだけなら、
tell application "Finder"
set selectionList to selection
name of item 1 of selectionList
end tell

でいいはずだけど?

214 名前:名称未設定 mailto:sage [2005/09/24(土) 17:49:40 ID:2X5RufZd]
ドロップレットってコンパイルしなきゃ使えませんか?

OpenOffice.org の開発者の人たちが、 X11 アプリである OpenOffice.org が
書類にアイコンをつかえて、Drag & Drop を受け付けられて、 X11 の
自動起動もできるようなアプリケーションバンドルを作りたいために、
AppleScript で起動スクリプトを書いているのですが、 (なんか変な日本語だな)

Make の中で使っている osacompile が、実行時に WindowServer を必要とするんですよ。
これは ssh などを使ってリモートでビルド作業をするのにちょっと都合が悪いんです。

CVSでソースを管理しているのですが、手元でコンパイルしてバイナリをコミットしておく、
というのも気持ちが悪い。osacompile がリモートでも普通に使えたら最高ですが、
そうでない以上、テキストのままドロップレット的な使い方ができたらいいなあ、と。

215 名前:名称未設定 mailto:sage [2005/09/24(土) 18:14:12 ID:2X5RufZd]
このまま質問で終わるとスレタイに反するので、スクリプト (LGPL) をあげときます。
ttp://www.hakusi.com/up/src/up4498.txt

…自分で書いたものでもないのに勝手に発表して、正直すまんす

216 名前:名称未設定 mailto:sage [2005/09/24(土) 19:13:37 ID:vXtN8uu3]
>>212
name of (selection as alias) で名前が返るのは選択項目が一個だけの場合。
選択項目が複数で変数を使わないときは
name of (item 1 of (selection as list))
かな?

>>213はそれでいけました。

前に試したときはどこか書き間違えてエラーになったんだと思う。すまんです。

217 名前:名称未設定 mailto:sage [2005/09/25(日) 03:09:11 ID:NP4/nYia]
>>216
普通は選択項目が1つでも複数でもエラーが出ないような書き方を探すよね?
確かに選択項目が1つなら as alias つけて名前が取得できるけど、
使い道がわからん。

name of item 1 of (selection as list)
で、選択項目が複数でも単数でもOK.
as listを付ける事で1つだけの項目もリスト形式になるからitem 1 ofが使える。

>>213の書き方も選択項目が1つでも複数でもOK.

218 名前:名称未設定 mailto:sage [2005/09/25(日) 17:46:58 ID:fbXhR1L2]
キーワードが文脈に依存するのが


219 名前:名称未設定 mailto:sage [2005/09/26(月) 15:39:19 ID:4m0lABWf]
>>214
書いてあることの90%理解できないんですが、
run script命令を使えばスクリプトの書いてある
テキスト書類を実行することはできます。
ドロップレットからテキストを実行するというのではダメ?
そういうことでないならスマソ

220 名前:名称未設定 mailto:sage [2005/09/26(月) 19:23:41 ID:FKzYgqlQ]
>>214
AppleScriptでやってるところをCocoaアプリで置き換えるとかしないとどうしようもない希ガス。



221 名前:214 mailto:sage [2005/09/26(月) 23:09:58 ID:ggK2kh3R]
>>219-220 の両氏、意味不明な質問に的確に答えていただいてありがとうございます。
小さい、テキスト版スクリプトを参照するだけのドロップレットを準備して、
テキスト版をアップデートしていく、というのがいいかも、と思えてきました。

222 名前:名称未設定 mailto:sage [2005/09/27(火) 17:26:57 ID:+5vWJ405]
TigerでFinderとDashboard以外の
全てのアプリを一斉終了させるスクリプトを
どなたか作っていただけませんか?

223 名前:名称未設定 mailto:sage [2005/09/27(火) 17:33:57 ID:bHu7sgFp]
スレタイを読めないのか?

224 名前:名称未設定 mailto:sage [2005/09/27(火) 17:36:52 ID:RNZlfd2q]
>>190-192

225 名前:名称未設定 mailto:sage [2005/09/27(火) 17:42:47 ID:+5vWJ405]
なんだ、役に立たないなコイツら

226 名前:名称未設定 mailto:sage [2005/09/27(火) 17:46:14 ID:fSxb+Ndm]
面白くないから却下

227 名前:名称未設定 mailto:sage [2005/09/27(火) 17:48:36 ID:RNZlfd2q]
なんだ、無能極まり無いなコイツ

228 名前:名称未設定 mailto:sage [2005/09/27(火) 22:06:07 ID:C1OoRUCH0]
>>222
なんかくれたら作ってやるよ

229 名前:名称未設定 mailto:sage [2005/09/28(水) 13:29:47 ID:sEu9MoBc]
>>228
俺の愛をあげよう
クロックが10倍になるスクリプト作ってくれ

230 名前:名称未設定 mailto:sage [2005/09/28(水) 13:38:34 ID:L16rTDss]
>>229
repeat 10 times
tell application "Finder" to open "/Library/Widgets/World Clock.wdgt" as POSIX file
end repeat



231 名前:名称未設定 mailto:sage [2005/09/28(水) 16:27:05 ID:PWrWgjve]
上手い!

232 名前:名称未設定 mailto:sage [2005/10/08(土) 22:20:13 ID:dLpBPtEB]
hosyu

233 名前:名無しさん mailto:age [2005/10/10(月) 12:24:16 ID:q4ZpPXM0]
AppleScriptでクラシック環境を起動したいのですが
スクリプトエディタで「記録」を押しても反応しません。
辞書にもないし…。無理ってこと?

234 名前:名称未設定 mailto:sage [2005/10/10(月) 12:37:12 ID:p88XitxC]
tell application "Classic Startup" to activate
辺りで起動するようだが?

quitは効かんようだった。

235 名前:名称未設定 mailto:sage [2005/10/10(月) 12:40:18 ID:4Z/wu4io]
スレタイが一瞬「おもらし、はずかしい」に見えた。

236 名前:名称未設定 mailto:sage [2005/10/10(月) 16:47:50 ID:VpEKUMgG]
>>235
半角の同好の士の居るスレに逝け

237 名前:名称未設定 mailto:sage [2005/10/10(月) 18:41:18 ID:7IqaCPPz]
いらっしゃい

238 名前:名無しさん mailto:sage [2005/10/21(金) 01:03:03 ID:Ix5NK4/A]
Pantherでスマートフォルダのような機能を
実現したいのですが、フォルダアクションで
保存された検索内容に自動的に飛べるように
すれば可能かなと思うのですが、Finderで
検索結果を保存する方法がわかりません。
板の賢人の皆様どうかヒントを宜しくお願いします。

239 名前:名称未設定 mailto:sage [2005/10/21(金) 02:05:53 ID:ZRX6qpKc]
>238
そんな、検索結果を保存する機能なんて Panther にはない。
AppleScript でどうこう以前の問題。あきらめろ。

240 名前:名称未設定 mailto:sage [2005/10/21(金) 06:36:28 ID:Z8Q6ffI+]
スポットライト並みのスピードを求めなければ
mgrep osax のような検索出来る OSAX 使えば出来そうな気もするが。



241 名前:名称未設定 mailto:sage [2005/10/21(金) 17:39:07 ID:YrOVRVel]
iPhotoからRAWファイル(.nel)をファインダに表示させる。

iPhotoの外部アプリで編集機能は、iPhotoが現像したjpegファイルの方を開いてしまうので,RAWで管理している意味があまり無い。
"Show Image FIle"等,オリジナルファイルをファインダで表示させるスクリプトは、RAWを表示させようとすると、やはりiPhotoが現像したjpegファイルの方を表示させてしまう。
結局チラシの裏にファイル名をメモしながらオリジナルを探すというアナログ回帰な毎日・・・

という訳でShow Image File を改造して、RAWファイル専用機にしてみました。

RAW+JPEG のように同名異拡張子で取り込まれたり、iPhoto内で複製、または重複取り込みで勝手に枝番が付加された場合でもオリジナルのRAWファイルにたどりつきます。

OSX 10.3.9  iPhoto 5.0.4で動作確認

↓  ↓

242 名前:名称未設定 mailto:sage [2005/10/21(金) 17:40:55 ID:YrOVRVel]
"Show Raw File" 01
tell application "iPhoto"
activate
try
copy (my selected_images()) to these_images
if these_images is false or (the count of these_images) is not 1 then error "一個づつしか調べきらんと"
set this_image to item 1 of these_images
set textName to (image filename of this_image) as text
set textName to my replaceW(textName, ".jpg", ".nef")
set textPath to (image path of this_image) as text
set textDate to (date of this_image) as text
set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to " "
set textDate to text item 1 of textDate
set textDate to my replaceW(textDate, "-", "/")
set AppleScript's text item delimiters to "/"
set libraryName to text item ((count text item of textPath) - 4) of textPath
set AppleScript's text item delimiters to libraryName
set textPath to text item 1 of textPath
set AppleScript's text item delimiters to oldDel
set textPath to textPath & libraryName & "/" & textDate & "/Originals/" & textName


243 名前:名称未設定 mailto:sage [2005/10/21(金) 17:41:40 ID:YrOVRVel]
--"Show Raw File"02
try
set this_imagefile to ((textPath) as POSIX file) as alias
on error
try
set changePath to text item ((count item of textPath) - 5) of textPath & text item ((count item of textPath) - 4) of textPath & ".nef"
set textPath to my replaceW(textPath, changePath, ".nef")
set this_imagefile to ((textPath) as POSIX file) as alias
on error
display dialog "RAWファイルじゃなかろごたぁ"
end try
end try

on error error_message number error_number
if the error_number is not -128 then
display dialog error_message buttons {"Cancel"} default button 1
end if
end try
end tell


244 名前:名称未設定 mailto:sage [2005/10/21(金) 17:42:26 ID:YrOVRVel]
--"Show Raw File"03
tell application "Finder"
activate
set visible of (every process whose visible is true and frontmost is false) to false
reveal this_imagefile
end tell

on selected_images()
tell application "iPhoto"
try
set these_items to the selection
if the class of item 1 of these_items is album then error
return these_items
on error
return false
end try
end tell
end selected_images

on replaceW(src, tg, rp)
set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to tg
set myList to text items of src
set AppleScript's text item delimiters to rp
set myText to myList as string
set AppleScript's text item delimiters to oldDel
return myText
end replaceW


245 名前:名称未設定 mailto:sage [2005/10/21(金) 17:44:01 ID:YrOVRVel]
うぅ・・改行が多いと怒られた(T_T)
素人ですみません

246 名前:名称未設定 mailto:sage [2005/10/22(土) 02:06:16 ID:7EGIGlbe]
>>238
OS 9のSherlockで検索条件の保存ができたけどねえ。
(俺としてはスマートフォルダよりも便利だったw)


>>245
乙。ナニゲにエラーメッセージが方言w

247 名前:名称未設定 mailto:sage [2005/10/23(日) 10:00:53 ID:TJrHUnSC]
ちょっと小ネタ。Mailで選択したメッセージをiCalに登録するという。
スケジュールの連絡ってたいていメールで来るからイベントのURL欄に
メールを登録するスクリプトを書いてみた。

tell application "Mail"
set selectedMails to selection
set msg to item 1 of selectedMails
set subj to subject of msg
set mid to id of msg
end tell

set mailURL to do shell script "mdfind -onlyin ~/Library/Mail 'kMDItemFSName == ¥"" & mid & ".emlx¥"'|head -1"

set mailURL to "file://" & mailURL

tell application "iCal"
activate
tell calendar 1
set theEv to make event at end of every event with properties {summary:subj, start date:current date, end date:(current date) + 3600, url:mailURL}
show theEv
end tell
end tell


248 名前:名無しさん mailto:sage [2005/10/23(日) 10:39:32 ID:UdK1Dsa1]
おお、これは便利そうだ!さっそく使ってみよう

249 名前:名称未設定 mailto:sage [2005/10/23(日) 14:08:43 ID:vedwXWfx]
純正アプリの連携って事ですげーわくわくするが、
問題は俺にはメールが来ないって事だ。
orz

250 名前:名称未設定 mailto:sage [2005/10/23(日) 20:50:06 ID:S/siEewd]
通販サイトとかAppleのニュースメール購読すればいい



251 名前:名称未設定 mailto:sage [2005/10/24(月) 19:49:26 ID:9etpEvdp]
say "She Ne"

252 名前:名称未設定 mailto:sage [2005/10/25(火) 06:07:33 ID:D16BVUjP]
ログアウトのスクリプトを作りたいと思い丸二日間格闘したんですが、
全然ウマく行かないんです。シャットダウン、スリープ、再起動は簡単にできたんですが…。
どのように記述したら良いのでしょうか?

まるっきりの素人な質問でごめんなさい。

253 名前:名称未設定 mailto:sage [2005/10/25(火) 10:18:00 ID:j5bUr1Gi]
まず、シャットダウン、スリープ、再起動をどう書いたのか聞きたい

254 名前:252 mailto:sage [2005/10/25(火) 10:49:21 ID:D16BVUjP]
>>253
そうですよね。ごめんなさい。
例えば、再起動はスクリプトエディタでこのように書いて、*.scptで保存しました。

tell application "Finder"
restart
end tell

他の2つは二行目が、Shut DownかSleepにしただけです。
問題は、ログアウトの場合に、この二行目をどう書いたら良いのか分からないことです。
大体、「変数***が未定義です」とエラーが返ってきます。
(何て記述すればいいか分からず、いい加減に書いてるから当然ですよね…。)

255 名前:名称未設定 mailto:sage [2005/10/25(火) 11:19:31 ID:p+2Tpe3Z]
>>254
スクリプトエディタでSystem Eventsの用語説明を開くと
Power Suiteにlog outがあるね

FinderのはLegacyに分類されてるから
ログアウトや終了関係はSystem Eventsを推奨ってことかな

256 名前:名称未設定 mailto:sage [2005/10/25(火) 11:27:13 ID:R6y8q+hG]
用語辞書の見方をご存知ないのでしょうか?
スクリプトエディタのファイルメニューから
「用語説明を開く...」を選ぶとアプリケーションのリストが表示されるから、
操作したいアプリケーションを選ぶと用語辞書が出ますよ。
まあわかりにくいと思うけど。

で、Finderの用語辞書で右上の検索欄などを使ってrestartを調べると
レガシー(遺産、遺物)ってとこに分類されてますよね。
そして同じ分類の中にログアウトに関する記述はない。
つまりこれは昔のスクリプトとの互換性を取るために残してある項目だと思われます。

じゃあどのアプリケーションを見ればいいのかって事になりますが、
System Events.appの用語辞書を見ると
log outという命令がある。
だから
tell app "System Events"
log out
end tell
でいいと思います。詳しくは自分で調べてみてください。

257 名前:名称未設定 mailto:sage [2005/10/25(火) 11:28:08 ID:R6y8q+hG]
かぶった上に無駄に長かった…。

orz オレハモウダメダ

258 名前:名称未設定 mailto:sage [2005/10/25(火) 11:53:49 ID:f9UwVda9]
>>257
通りすがりのものですが、丁寧ですごく参考になりました。
applescriptって256に書いてあるようなことがわからなくて
敷居が高い感じがしていました。ありがとう。

259 名前:252 mailto:sage [2005/10/25(火) 13:15:25 ID:D16BVUjP]
>>254-255
なんて厳しくも優しいレスなんだ。
目から汗がとまらん。
ぶわっ!!ってなってるよ、ぶわ!!って。

ちなみに、なんで今更ログアウトのスクリプトかと言いますと、
DashboardのiStarterっていうwidgetをどうしても使いたくて。
でも、持ってるOSは10.3で、konfabulatorしか使えないから作るしかなくて…。
でもおかげで、イメージ通りのやつを作ることができました。
ホント、丁寧に教えて頂きましてありがとうございます。

260 名前:252 mailto:sage [2005/10/25(火) 13:18:00 ID:D16BVUjP]
↑アンカー間違えました。>>255-256です。
駄レススマソ。



261 名前:名称未設定 mailto:sage [2005/10/25(火) 22:21:28 ID:Q1+lAmRT]
すみません、質問です。

HyperTalkで「set cursor to busy」みたいなコマンドがあったじゃないですか。
AppleScriptで、ちょっと時間のかかる操作をするとき、
カーソルをbusyにしたいんですが、どうすればいいのでしょうか???

262 名前:名称未設定 mailto:sage [2005/10/25(火) 22:30:01 ID:R6y8q+hG]
カーソル変える命令はたぶんない。
プログレスバーなら出せると思う。

263 名前:名称未設定 mailto:sage [2005/10/26(水) 08:21:27 ID:OcbV3y9I]
Jon's Commands X
ttp://www.seanet.com/~jonpugh/
の set cursor to

264 名前:261 mailto:sage [2005/10/27(木) 23:48:33 ID:VbWiZBB5]
>>262-263
ありがとごじゃました。

265 名前:名称未設定 mailto:sage [2005/10/29(土) 13:15:57 ID:yRq2YPwf]
1分置きにチンコと表示出来るスクリプトを作っていただけませんか?大至急お願いします。今月以内で。

266 名前:名称未設定 mailto:sage [2005/10/29(土) 14:38:49 ID:65/DjTpE]
>>265
aploda.org/dat2/upload48114.zip

267 名前:名称未設定 mailto:sage [2005/10/29(土) 21:52:59 ID:6kmMgdMd]
(´°∀°)

268 名前:名称未設定 mailto:sage [2005/11/12(土) 18:35:51 ID:4SS5+GU0]
質問です
MacOS9が単独で立ち上がってる時と
Classic環境として立ち上がっているのを
切り分けるスクリプトって書けますか?

なんに使うかというと、OS9の起動項目に入ってるソフトが
Classic環境の時にエラーを起こすので
それをClassic環境で立ち上がらないようにしたいのですが…

269 名前:名称未設定 mailto:sage [2005/11/12(土) 21:34:59 ID:+iVrLi8z]
Classic用の環境を作ってそれぞれのイメージを使い分ければ問題ない

270 名前:名称未設定 mailto:sage [2005/11/12(土) 21:55:10 ID:NQ9agtRW]
すね毛



271 名前:268 mailto:sage [2005/11/12(土) 22:26:21 ID:4SS5+GU0]
>>269
そこ以外は9で立ち上げてもClassicでも同じにしときたいんです。
だから「もしOSXが動いていないなら」
tell application ~
て書いて起動項目につっこんどけばいいのかなと。
でもできないのか…

272 名前:名称未設定 mailto:sage [2005/11/12(土) 23:36:10 ID:rGZtSmXD]
>>268
OS 9環境がないので試してないがこんなんでどうかな

tell application "Finder"
if (version as string) starts with "10." then return
end tell


273 名前:名称未設定 mailto:sage [2005/11/13(日) 02:31:13 ID:7FB3dnyp]
delayがCPUを食い潰すバグが10.4.3でやっと解消されたという話だ

274 名前:268 mailto:sage [2005/11/13(日) 23:50:30 ID:e5eUboNR]
>>272
tell application "Finder"
if (version as string) starts with "10." then
else
tell application "IP Messenger 1.33r2"
activate
end tell
end if
end tell
起動項目につっこんで上手くいきました
ォ!

275 名前:名称未設定 mailto:sage [2005/11/14(月) 11:52:34 ID:gCjlTqNF]
>>268
set isClassic to false
try
set isClassic to system attribute "bbox" has 1
end try
参照
developer.apple.com/ja/qa/ov/ov03.html

276 名前:名称未設定 [2005/11/21(月) 15:55:57 ID:tDtj1Mgi]
すみません、ググり回ったのですが見つからないので質問させて下さい…
date型の日付の書式はOSの日付の書式設定によって変動しますが
(日本語なら2005年11月21日月曜日、英語ならMonday, November 21, 2005といったように)、
OSの日付書式設定が何になっていようと、常にエラーを出さずに指定できる日付の書式というのは
存在するのでしょうか?

某所で「26Oct99」という形式なら大丈夫、という記述を見かけたのですが、
どうも情報が古いようで、実際試してみると言語によってコンパイルエラーが出たり
エラーは出ないものの変な日付に変換されたりで、残念ながら使い物になりません。

277 名前:名称未設定 mailto:sage [2005/11/22(火) 13:00:45 ID:p+yxjjdC]
出力じゃなくて入力の書式を一つに決めたいの?

278 名前:名称未設定 mailto:sage [2005/11/22(火) 18:24:04 ID:5PkpqUw/]
情報不足ですみません、入力です。

279 名前:名称未設定 mailto:sage [2005/11/22(火) 20:28:38 ID:G+hNyWqa]
>>276,278

何をどうしたいのかイマイチよく分からんが、以下のように書いてみた。
1行目のダイアログに「2005.11.22」とか「05 11 22」とか入れたけど、どれでも
以降のdate作成は成功して、3行目のダイアログで「2005年11月22日火曜日 0:00:0」と出たよ。
書式設定は変えてない。こういうことじゃないのかな?

set dateText to text returned of (display dialog "Input date" default answer "2005/11/22")
set theDate to date dateText
display dialog "Date" default answer (theDate as string)

何であれ『AppleScript Language Guide』
developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptLangGuide/AppleScriptLanguageGuide.pdf
のdateの箇所(PDFだと62ページあたり)を読んでみるといいんじゃないかと。

280 名前:名称未設定 mailto:sage [2005/11/23(水) 00:33:39 ID:OpVMn+ne]
>>279
質問者じゃないが、それじゃだめなはず。
問題のひとつは順番で、
アメリカでは月/日/年、ヨーロッパ圏では日/月/年で書くのがデフォルト。
その手の設定になっていると、"2005"が月や日に解釈できずにエラーが起ったり、
"22"が"2022年"と解釈されちゃう。

でも、10.4だと、「カスタム設定はUnicodeアプリだけで…」みたいな注意が、
環境設定で出て、スクリプトだとうまくテストできないなあ(^^;



281 名前:名称未設定 mailto:sage [2005/11/23(水) 04:24:57 ID:bB1tkWUM BE:20109863-#]
俺もうまくテストできなかったのでよくわからんが、
例えば「yyyy.mm.dd」っていう風に書式を限定するなら
年、月、日に分解して解釈するようなルーチンが書けないかな?

各国語版を作るほうが簡単な気もするけど。

282 名前:名称未設定 mailto:sage [2005/11/23(水) 07:00:46 ID:0Sp+i+wO]
>>276
OS9だとTanaka's osax使えば簡単だけど、OSXですよね。
それ以前に環境変わるんじゃosax使えないですね。
OSXだとシェルスクリプト?perl?

とりあえず、とんびさんのAppleScript PARK>Tips>Basicに有るこの方法で出来ないでしょうか?
>日付属性の設定方法
>ttp://homepage1.nifty.com/ton_b/tips/Date/SetDate.html
>まとめて属性を設定(その1)
これなら定型日付入力をリストに分解するだけで使えそうです。

283 名前:名称未設定 mailto:sage [2005/11/23(水) 07:04:21 ID:ucIAeEjt]
最近のバージョンのOSXならISO8601フォーマットが使える。
-- ISO8601 format -> AS date class
"2000-11-16T19:20:00" as <<class isot>> as date
-- AS date class -> ISO8601 format
((current date) as <<class isot>>) as string
www.w3.org/TR/NOTE-datetime

284 名前:名称未設定 mailto:sage [2005/11/24(木) 16:54:10 ID:N8ktUmBS]
おお!ありがとうございます。
最近のバージョンのOSXとの事ですが、これはどのバージョンからかはご存知ないでしょうか?
class isotでググってもたったの4件しか出てこないのでびびりました…

285 名前:名称未設定 mailto:sage [2005/11/26(土) 06:05:42 ID:VnMxi28J]
これはAppleEvent Managerの型変換機能を使ってる。OSX10.2のAERegistry.hには
定義があるので少なくとも10.2以降では使えるはず。

286 名前:名称未設定 mailto:sage [2005/12/05(月) 04:25:05 ID:X8yyZEXa0]
簡易ラジオサーバーを作っているのですが、定期再起動の時に再起動後SHOUTCast(UNIX実行ファイル)を実行しようと思い、
tell application "Terminal"
do shell script "cd /volumes/os10.3/library/webserver/shoutcast-1-9-5-macosx/"
do script with command "./sc_serv"
end tell
としても必ず新規窓が作られて一つ目と二つ目のコマンドが別窓で処理されてエラーが返ってきます。
このファイルはただ本体をダブルクリックして実行させても設定データが読み込まれないのでターミナルでの起動をしたいのです。

どうすればiinodesyouka?

287 名前:名称未設定 mailto:sage [2005/12/05(月) 04:49:33 ID:PBnb/lnH0]
つ ttp://developer.apple.com/ja/technotes/tn2065.html

288 名前:名称未設定 mailto:sage [2005/12/05(月) 10:04:18 ID:Qu8STzUP0]
1行で済むな。

289 名前:名称未設定 mailto:sage [2005/12/05(月) 11:25:11 ID:C4y9Tqbn0]
ココログのサポートアイコンが酷似している件について

290 名前:名称未設定 mailto:sage [2005/12/05(月) 12:22:49 ID:Qu8STzUP0]
巻き物?っぽいアイコン、けっこう色々使われてるよね。



291 名前:名称未設定 mailto:sage [2005/12/06(火) 00:49:21 ID:2zmZHbfL0]
do shell script "cd パス | コマンド" でいいんじゃないの

292 名前:名称未設定 mailto:sage [2005/12/06(火) 05:59:08 ID:3WJiVZeB0]
>>291
こらこら、ウソを教えるなw

|でつなぐのは「パイプ」でしょ。
単に複数の命令を一行で連続して行わせたい時は;でいい。
もう一つ言えばこの場合あらかじめcdで移動する必要もない。
フルパス書いちゃえば済むから。

293 名前:名称未設定 mailto:sage [2005/12/06(火) 06:22:45 ID:WzhNf3la0]
なるほどorz

294 名前:286 mailto:sage [2005/12/07(水) 20:12:02 ID:czVlUCbu0]
>>287のURLを見てみたらセミコロンでつなげられると書いてあったのでやってみたら出来ました。
いろいろとお騒がせしてすみませんでしたorz

295 名前:名称未設定 mailto:sage [2005/12/08(木) 06:05:04 ID:kCEHPRuS0]
今ひとつわかってないみたいね。
・do shell scriptの場合はtell app "Terminal"ではさむ必要はない。

>>292で書いたように、あらかじめcdで移動せずに
 /Volumes/os10.3/Library/webserver/shoutcast-1-9-5-macosx/sc_serv
 と書けばいいので、1つの命令で済む。セミコロンでつなぐ必要なし。

296 名前:名称未設定 mailto:age [2005/12/11(日) 17:09:46 ID:8z5+9Aar0]
> do shell scriptの場合はtell app "Terminal"ではさむ必要はない。

そうだったのか!
初めて知った。ありがとう。
いつもターミナルを起動してたよ…

297 名前:名称未設定 mailto:sage [2005/12/11(日) 18:01:45 ID:TzCLx/X80]
Terminalっていうのは、代替ソフトがある事でもわかるように、
あくまでもシェルとやりとりするための窓口的なソフトなんでない?
do shell scriptの場合直接シェルに働いてもらうわけだ。

298 名前:名称未設定 mailto:sage [2005/12/11(日) 19:20:25 ID:xU585+SL0]
do shell script "osascript -e 'tell application ¥"Finder¥" to quit' "

299 名前:名称未設定 mailto:sage [2005/12/12(月) 15:57:54 ID:BBG0qJTj0]
ぎゃは

300 名前:名称未設定 mailto:sage [2005/12/13(火) 13:39:49 ID:riNjGIlK0]
誰か「無駄無駄無駄無駄」とダイアログが出た後
10秒ほど時計が止まるAppleScriptを作ってくれ。



301 名前:名称未設定 mailto:sage [2005/12/13(火) 14:06:40 ID:Vm9ndrD60]
時計止めるのは無理。だしそういういたずらには加担しないよ。

302 名前:名称未設定 mailto:sage [2005/12/13(火) 14:08:50 ID:z5Whey120]

ユニバーサルアクセスのアレONにして
tell application "System Events"
keystroke "8" using {command down, control down, option down}
end tell
やってもきかないお

読むのめんどいお
ttp://forums.macosxhints.com/archive/index.php/t-37540.html

303 名前:名称未設定 mailto:sage [2005/12/13(火) 14:30:08 ID:Vm9ndrD60]
ほんとだね。コマンド+シフト+3もだめみたい。
コマンド+シフト+s(別名で保存)は大丈夫。
ひょっとしたら数字キーがテンキーのほうだと判断されてるのかな。
英文は読めない…。

304 名前:名称未設定 mailto:sage [2005/12/13(火) 17:39:45 ID:LAgNQsizP]
英文は読んでないけどkey code使ったらできた

tell application "System Events"
    tell process "Finder"
        key code 28 using {command down, option down, control down}
    end tell
end tell

305 名前:名称未設定 mailto:sage [2005/12/13(火) 19:42:05 ID:6PkdvIqh0]
set x to NUM
repeat x times
tell application "System Events"
tell process "Finder"
key code 28 using {command down, option down, control down}
end tell
end tell
end repeat

ポケモンショックw(やらないように

306 名前:名称未設定 mailto:sage [2005/12/13(火) 20:51:05 ID:Vm9ndrD60]
>>304,305
Finderにtellする必要は無いんじゃないの?
スクリプトエディタ上でしか試してないけど、抜いても動いたよ。

307 名前:名称未設定 mailto:sage [2005/12/14(水) 14:09:03 ID:/ljpUUQC0]
ナ、ナンダッテーな時に実行するといいな

308 名前:名称未設定 mailto:sage [2005/12/14(水) 21:45:22 ID:Tcb3HRdf0]
repeat 5 times
tell application "System Events"
key code 20 using {command down, shift down}
end tell
delay 2
end repeat

重い。。(shift+cmd+3)*5

309 名前:名称未設定 [2005/12/14(水) 21:50:05 ID:hixU2O9M0]
すみません
SILVER KEEPERでバックアップからOSの中身を入れ替えたんですが
だいたいの機能はつかえる(QTproも移植成功)のですが
.Trushが消えてしまいました
つくることはできるんでしょうか
osX 10.3.9です

310 名前:名称未設定 mailto:sage [2005/12/14(水) 22:00:31 ID:ry3yHjr00]
意味がわかんない。このスレで聞く意味もだけど。



311 名前:名称未設定 mailto:sage [2005/12/14(水) 22:16:23 ID:Cyj6qxo00]
>>309
あるべき場所にフォルダを作って名前を変えてみちゃどうだね。
ちなみにTrushじゃなくてTrashだね。

312 名前:名称未設定 mailto:sage [2005/12/14(水) 23:28:32 ID:hixU2O9M0]
>>311
ありがとうございました
.Trashの場所か....

313 名前:名称未設定 mailto:sage [2005/12/15(木) 00:06:21 ID:CRYxe/Xy0]
場所は知らないのに消えたのがわかるってどういう事だ。
これ以降まだ続くならMac OS X初心者質問スレあたりに移動してね。

314 名前:309 mailto:sage [2005/12/15(木) 00:27:38 ID:UEf9Q5M20]
すんません
向こうで途中で回答がとぎれたものでして
ゴミ箱に入らずそのままファイルが消えます
「フォルダヘ移動」を教えていただいて
~/.Trashと入力してもでフォルダが見つからないと出たんです



315 名前:名称未設定 mailto:sage [2005/12/15(木) 00:32:58 ID:UdnJ2yjO0]
do shell script "mkdir ~/.Trash"

316 名前:名称未設定 mailto:sage [2005/12/15(木) 00:41:17 ID:pBORPKuo0]
バカか?なら続きを待っとけや。>>314

317 名前:名称未設定 mailto:sage [2005/12/15(木) 00:45:46 ID:CRYxe/Xy0]
>>314
俺は移れと言ったぞ。字が読めないのか?
ここに書き込むのはスレ違いなんだよ。スレタイ読めないのか?
迷惑行為やってる事を理解しろ。
とりあえず今すぐ回線切ってケーブルで吊って氏ね。

318 名前:名称未設定 mailto:sage [2005/12/15(木) 05:13:02 ID:6JFgQ8sh0]
repeat 100
tell application "Finder"
make new folder
end tell
delay 0.1
end repeat

319 名前:名称未設定 mailto:sage [2005/12/17(土) 03:39:34 ID:GN0vrhZS0]
ライブラリのバックアップをとる簡単なAppleScriptを書いてみた。
tell application "Finder"
activate
make new folder at desktop
set newFolder to result
with timeout of 1200 seconds
set name of newFolder to "Backup"
set targetfile to folder "Library" of home
end timeout
duplicate targetfile to folder "Backup" of desktop
end tell

320 名前:名称未設定 mailto:sage [2005/12/17(土) 09:23:00 ID:W0DKDPnF0]
timeoutの部分を解説していただけるとありがたいです。
何故その部分につけるのでしょうか。

あと、肝腎のコピーの部分ですが、dittoコマンドを使ってうんぬん、
というのがネット上でUsersフォルダのコピー方法としてよく見られるようですが、
Finderでの通常コピーで大丈夫ですか?



321 名前:名称未設定 mailto:sage [2005/12/17(土) 10:30:42 ID:GN0vrhZS0]
dittoもduplicateも「複製」の命令ですが
私の英語力ではduplicateしか思い浮かばなかったので
そう表現しただけです(笑)私も初心者なので。
ただ、duplicate targetfileを使ってLibrary内の
任意のファイルをコピーしようとすると
「アクセス権が云々」とハネられます。
 
私のMacは動作が緩慢なので、ライブラリのコピーに
10分くらいかかります。しかし完了まで時間のかかる
スクリプトは2分でタイムアウトになるので
timeoutで無理矢理20分までタイムアウトのアラートを
出さないようにしてます。使えないことはない
スクリプトですがまだまだ書き直しの余地がありそうです。
もうちょいやってみます。

322 名前:名称未設定 mailto:sage [2005/12/17(土) 10:34:26 ID:tJR87vxN0]
>何故その部分につけるのでしょうか。

323 名前:名称未設定 mailto:sage [2005/12/17(土) 11:02:44 ID:GN0vrhZS0]
あ、end timeoutはend tellの直前に置いても
良さそう。何故といわれても、それしか思いつかなかったと
言うほかないです(笑

324 名前:名称未設定 mailto:sage [2005/12/17(土) 14:28:30 ID:W0DKDPnF0]
dittoというのはAppleScriptのコマンドではなくて、
Mac OS XのUNIX部分が備えているコマンドです。
Mac OS X用にリソースフォークが扱えるように拡張してあります。
AppleScriptから使うならdo shell scriptで呼び出しですね。
アクセス権の事を考えるとrootログインかsudoで実行したほうがよいのだと思います。

システムバックアップのソフトとして定番のCarbon Copy Clonerというソフトは
AppleScriptからdittoなどを呼び出して実行しているらしいです。

Tigerでrsyncがリソースに対応したとの事なのでrsyncでもいいのかな。
他にもボリューム丸ごとバックアップ用?のasrというコマンドもあるようです。
(ディスクユーティリティーの復元と同等?)

いずれにせようちにはバックアップ用のドライブがないので
今のところ試してませんが。

~/LibraryをFinderでコピーさせるとおそらく不可視ファイルのコピーだとか
アクセス権だとかで不都合が起きるんではないでしょうか。
~/Library/Preferencesや~/Library/Application Supportの
個別のファイル・フォルダをコピーするぶんにはけっこー大丈夫のようですが、
丸ごとバックアップとして後から差し替えて使う、という用途には
Finderでの複製は不安だと思います。

325 名前:名称未設定 mailto:sage [2005/12/17(土) 14:53:15 ID:GN0vrhZS0]
後から差し替えて使うという発想はなかったです。
単に保存できればいいや的な考えでしたから。
dittoはUNIXの単語なんですね。色々勉強になります。

326 名前:名称未設定 [2005/12/19(月) 22:58:08 ID:2oGcPUAl0]
シャットダウンの際、現在ログインしているアカウント以外のアカウントが裏でログインしていたら
管理者権限アカウントならば自分以外のアカウントを強制ログアウトする事ができますが、
AppleScriptからこれをやる方法って無いですかね…
(シェルスクリプトで他アカウントのログインプロセスをsudo killするとか?)

SuperDuper!でFileVaultのかかったアカウントをバックアップする場合、
一旦FVのかかったアカウントから全部ログアウトして、FVのかかっていないアカウントでログインし直し、
そこからバックアップを実行する必要がありますが、
面倒くさくてたまらないのでこれを無理矢理にでも自動化したいのです。

327 名前:名称未設定 mailto:sage [2005/12/22(木) 13:47:21 ID:f+oyQhsL0]
画像圧縮で自分自身のプライオリティー下げたいんですが、 pidが取れません。
しょうがないんで、自分のアプリの名前渡してるんですが、なんとかならないでしょうか?

on renice(theApplicationName, thePriority)
--tell application "Finder" to set theApplicationName to name of current application
tell application "System Events"
--set theApplicationName to name of current application
set i to item 1 of (every process where name is theApplicationName)
display dialog name of i & ":" & (unix id of i) as string
do shell script "renice " & thePriority & " -p " & (unix id of i) as string
end tell
end renice


328 名前:名称未設定 mailto:sage [2005/12/22(木) 14:48:03 ID:xLc3io6x0]
言ってることがわかんない。pid取れてるじゃん。

329 名前:名称未設定 mailto:sage [2005/12/22(木) 17:50:13 ID:f+oyQhsL0]
自分のアプリの名前渡さずに、って事。

330 名前:名称未設定 mailto:sage [2005/12/22(木) 18:31:35 ID:pw0F5KdQ0]
まず日本語で意思の疎通ができるようにしろ。



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

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

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

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

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

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

set breed_all to every breed of pig
set tempValue to 0

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

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


end tell

...続く...うそw

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

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

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

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

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



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

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

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


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

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

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

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

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

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

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

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

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

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



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

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



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

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

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

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

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

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

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

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

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

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

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


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

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

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

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





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

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

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


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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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



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

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

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

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

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

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

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

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

every application process whose background only is false

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

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



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

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

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

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

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

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

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

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



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

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

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

知らん。お前が始めろ。

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

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

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

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

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

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

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

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

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

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



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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

ちと遅いけど

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



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

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

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

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

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

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

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


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

みたいな感じで

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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


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

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

いいな、これ。

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

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


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

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

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



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

DJ!

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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



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

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


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

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

OS X 10.3.9 

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

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


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

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

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

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



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

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



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

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

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

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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

display dialog alias
display dialog (alias as string)

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



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

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

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


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


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

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


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


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

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

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

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




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

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


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

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

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

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

新規テキストファイル

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

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

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

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

touch ./nuko.txt

@ i = 1

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

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

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

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

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



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

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

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

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

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

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

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

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


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

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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


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


copy cell "path" of current record to theBasePath

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

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




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


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

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

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

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

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


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

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

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


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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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


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

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

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

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

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

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

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



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

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

失礼いたしました。

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

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

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

そうですね。

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



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

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

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

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

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

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



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

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

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

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


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

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

何故なんだ??

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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


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

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




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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

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



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

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


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

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

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

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

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

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

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

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

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

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



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

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

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

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

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



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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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


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

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

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

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

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

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



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

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

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

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

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



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

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

こういうことですか?

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

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

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

end if

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

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

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

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

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

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

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

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

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

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

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

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



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

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

562さんありがとう

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

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

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

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

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

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

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

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


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

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



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

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

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

set current encoder to curEncoder
return encodedTracks
end tell

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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




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

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

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

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

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

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

property target_URL : ""

open location target_URL

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

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


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

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

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



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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


# 灯台下暗し

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

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

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

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

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

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

*基本的にクソです。



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

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

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

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


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

end repeat -- with sdef

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

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

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

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

tell application "Script Editor" to open outputFileRef

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

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

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

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


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

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

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

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

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



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

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

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

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


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

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

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

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


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

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

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



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

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

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




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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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



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

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

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

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

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

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

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

artwork [番号] of current track

でおk。

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

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



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

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

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

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

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

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

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


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

set the clipboard to theData

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

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

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

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

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

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

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

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

sdate


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


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


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

tell application "Preview"
activate
end tell

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

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



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

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

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

set cb to the clipboard as record

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

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

set the clipboard to cb



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

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

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

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

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

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

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


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

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


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

tell application "iTunes"

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

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

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

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

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

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

end tell

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

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

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

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

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

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

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

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



"_text_text_text.text"

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

864 名前:名称未設定 mailto:sage [2006/09/30(土) 04:23:54 ID:n/KFtEdF0]
UI関係はややこしくてよくわからんが、いじるならbuttonだと思う。

865 名前:名称未設定 [2006/10/03(火) 01:36:46 ID:tvd/8IG30]
age

866 名前:名称未設定 mailto:sage [2006/10/06(金) 18:13:42 ID:v7/Ilwsl0]
-- スクリプトフォルダ直下に何個もスクリプトとかエイリアスを置くとメニューが開くのに
-- 時間がかかるので、それらを別の場所に置き、リストから選んで起動するようにしました。

-- "~/Library/Script/Load Script….scpt"
property script_lib_location : (path to library folder from user domain as string) & "Application Support:Script Menu:"


(* On Run *)

tell application "Finder"
set scriptsList to displayed name of files of alias script_lib_location
set chosenFile to file (script_lib_location & (item 1 of my chooseFromBigList(scriptsList, 10, 1)))
if name extension of chosenFile is not equal to "scpt" then return (open chosenFile)
end tell

tell (load script (chosenFile as alias)) to run

-- [cont]

867 名前:名称未設定 mailto:sage [2006/10/06(金) 18:15:22 ID:v7/Ilwsl0]
(* Subroutines *)

on chooseFromBigList(aList, itemsPerPage, startPage)
set nextPageLabel to "[ Next page ] >>"
set firstPagelabel to "[ First page ] >>"
set totalItems to the length of aList
set pageItems to itemsPerPage as integer
set pagingOption to nextPageLabel

-- handling some likely errors...
if totalItems < pageItems then return (choose from list aList) --with multiple selections allowed)
if startPage > (totalItems div pageItems + 1) then
error "Invalid argument: startpage=" & startPage
end if

set topItemIdx to (startPage - 1) * pageItems + 1

if totalItems < (topItemIdx + pageItems) then
-- here we've reached at the last page.
set pagingOption to firstPagelabel
if not totalItems = (topItemIdx + pageItems - 1) then set pageItems to totalItems mod pageItems
end if

-- [cont]

868 名前:名称未設定 mailto:sage [2006/10/06(金) 18:16:15 ID:v7/Ilwsl0]
set lastItemIdx to topItemIdx + pageItems - 1

set theList to (items topItemIdx thru lastItemIdx of aList) & pagingOption

choose from list theList with title (topItemIdx & " - " & lastItemIdx & " of " & totalItems & " items" as string) default items {pagingOption} --with multiple selections allowed
if the result = false then
return false
else if the last item of result = nextPageLabel then
return my chooseFromBigList(aList, itemsPerPage, (startPage + 1))
else if the last item of result = firstPagelabel then
return my chooseFromBigList(aList, itemsPerPage, 1)
else
return the result
end if

end chooseFromBigList

869 名前:名称未設定 mailto:sage [2006/10/06(金) 18:56:09 ID:oRTeKvUs0]
日本語でおk

870 名前:名称未設定 mailto:sage [2006/10/06(金) 23:27:07 ID:0DYHFGiV0]
--"~図書館/スクリプト/負荷スクリプト….scpt"
特性のスクリプト_リブ_位置: (ストリングとしてのユーザドメインからのライブラリフォルダーへの経路)
「アプリケーションサポート: メニューに原稿を書いてください」


(*走行に関して*)

アプリケーション「ファインダー」を言ってください。
別名スクリプト_リブ_位置のファイルの表示された名前にscriptsListを設定してください。
chosenFileにファイルするように設定してください。(スクリプト_リブ_位置と(私のchooseFromBigList
(scriptsList、10、1)の項目1))
chosenFileの名前拡大が"scpt"と等しくないなら、戻ってください。(開いているchosenFile)
終わりは言います。
稼働するために言ってください(負荷スクリプト(別名としてのchosenFile))。

--(ry




871 名前:名称未設定 mailto:sage [2006/10/07(土) 02:43:17 ID:9MVN3e0X0]
--Safariで開いてるページのURLをローカルのフォルダにインターネットショートカット形式で保存するだけです・・・
--spotlightではてブみたいな事ができないかなぁと。

--get URL data
tell application "Safari"
set fileName to name of document 1
set tarURL to URL of document 1
end tell

set myComment to text returned of (display dialog "コメントを入れてください" default answer "")

--where to save
set mySave to "Documents:BookMark:"
set fileExt to ".url"



872 名前:名称未設定 mailto:sage [2006/10/07(土) 02:44:17 ID:9MVN3e0X0]
--escape of file name
set fileName to do shell script "echo " & quoted form of fileName & " | sed -e s/:/\\\\//g"

--make unique file name
set myDir to ((path to home folder) as string) & mySave
set fileNames to fileName & fileExt
set i to 0

repeat while ((fileNames) is in (list folder myDir))
set i to i + 1
set fileNames to fileName & i & fileExt
end repeat

--make file
tell application "System Events"
set theFile to make new file at end of folder myDir with properties {name:fileNames}
set thePath to path of theFile
end tell

--Internet Shortcut data(it needs to be saved by Shift-JIS & CRLF)
set wMsg to "[InternetShortcut]" & (ASCII character 13) & (ASCII character 10) & "URL=" & tarURL & (ASCII character 13) & (ASCII character 10)
do shell script "echo " & quoted form of wMsg & " | iconv -f UTF8 -t Shift-JIS > " & quoted form of (POSIX path of thePath)

--set comment
tell application "Finder"
set theFinderFile to file thePath
set comment of theFinderFile to myComment
end tell


873 名前:名称未設定 mailto:sage [2006/10/07(土) 18:11:54 ID:2eRiKU3/0]
>>870
アプリケーション「Finder」について
(以下略)
だろ。
AppleScript日本語を知らない世代なのかな...

874 名前:名称未設定 mailto:sage [2006/10/07(土) 18:42:15 ID:IvT5H1UB0]
>>871
せっかく2行に縮めたのに長過ぎて書き込めねえええ

tell application "Safari" to set aList to {(URL of document 1), (do shell script "echo " & quoted form of ((name of document 1) as Unicode text) & --改行
" | perl -pe 's/(^" & (ASCII character 128) & ".|" & (ASCII character 128) & (ASCII character 128) & "|:)/_/g'")} --改行
tell application "Finder" to (make new internet location file at (folder "BookMark" of (path to documents folder)) to --改行
(item 1 of aList) with properties {name:(item 2 of aList), comment:(text returned of (display dialog "コメントを入れてください" default answer ""))})

875 名前:名称未設定 mailto:sage [2006/10/10(火) 00:37:02 ID:2eF2arbi0]
テキストエディタ上の選択されている文字列(シェルコマンド)を最前面のterminalにペーストして(出来ればその後リターン)してくれる様なアップルスクリプトって無いでしょうか?

876 名前:名称未設定 mailto:sage [2006/10/10(火) 01:19:22 ID:20VtVVvx0]
>>875
tell application "System Events" to tell process "TextEdit" to tell scroll area 1 of window 1 to set A to value of text area 1
tell application "Terminal" to do script A in window 1

でいいですかね?あんまUI Element使ったスクリプトって好きじゃないんですよ・・・

分かりやすい書き方だと
tell application "System Events"
tell process "TextEdit"
tell scroll area 1 of window 1
set A to value of text area 1
end tell
end tell
end tell
tell application "Terminal" to do script A in window 1

877 名前:名称未設定 mailto:sage [2006/10/10(火) 01:46:10 ID:2eF2arbi0]
>>876
サンクス。いまから試してみます。
TextEditだけではなく任意のアプリケーションでの選択文字列ってなると難しくなるのかな?
例えば、他のテキストエディタであったりブラウザで表示されてる文字列だったりってのは。

このアップルスクリプトをicecofeeでコンテクストメニューから実行したら便利そうだ。

878 名前:875 mailto:sage [2006/10/10(火) 01:54:37 ID:2eF2arbi0]
>>876
だめだったですorz

スクリプト実行中にエラーが起きました。
System Events でエラーが起きました:
NSReceiverEvaluationScriptError: 4

Evalなんたらってことは文字列をコマンドとして実行するのはダメよ!ってことかな?

879 名前:名称未設定 mailto:sage [2006/10/10(火) 01:57:10 ID:20VtVVvx0]
ごめんなさい・・・
多分、ソレだと、選択文字じゃなくて、文章全体を変数に入れてますね・・・

tell application "System Events"
tell process "TextEdit"
tell text area 1 of scroll area 1 of window 1
set A to value of attribute "AXSelectedText"
end tell
end tell
end tell

tell application "Terminal"
do script A in window 1
end tell

これで動かなかったらすみません。

880 名前:875 mailto:sage [2006/10/10(火) 02:06:29 ID:2eF2arbi0]
>>879
残念ながら同じエラーが出てしまいますた。
なかなか難しい物なのですね。



881 名前:名称未設定 mailto:sage [2006/10/10(火) 04:20:56 ID:8QbJY7Au0]
Jeditだとそれができるんだけどね。
テキストエディットやサファリではselectが使えないのが痛い。
これがあるとないとではアップルスクリプトの使いようが大幅に変わるんだよなあ。

882 名前:名称未設定 mailto:sage [2006/10/10(火) 07:59:27 ID:3sccagFE0]
単純にコピペじゃいかんの?

tell application "System Events"
tell application "TextEdit" to activate
tell process "TextEdit" to keystroke "c" using command down
tell application "Terminal" to activate
tell process "Terminal"
keystroke "v" using command down
keystroke return
end tell
end tell

883 名前:エスパー mailto:sage [2006/10/10(火) 17:54:37 ID:S6SnnmPN0]
>>875よ、
/アプリケーション/AppleScript/AppleScript ユーティリティ.app
を起動して「GUI スクリプティングを使用可能にする」のじゃ。

884 名前:875 mailto:sage [2006/10/11(水) 01:23:49 ID:V5R8j3TD0]
>>881
Jedit Xで試したけどだめみたいでした。

>>882
見事!ばっちりです。

tell application "System Events"
tell application "Jedit X" to activate
tell process "Jedit X" to keystroke "c" using command down
tell application "Terminal" to activate
tell process "Terminal"
keystroke "v" using command down
keystroke return
end tell
end tell

Jedit Xの部分をそのときに前面に来てるアプリに出来たらいいけどまったく想像がつかないや。
例えば、webブラウザでsqlのクエリを勉強してるときに選択してそのままターミナルからsql実行出来たらいいな、なんて。


>>883
見たところ、元々オンになってました。
ユニバーサルアクセスの方をいじくった事があるせいかもしれませんが。

885 名前:名称未設定 mailto:sage [2006/10/11(水) 05:15:07 ID:wlu2vNIM0]
>>884
Jeditだとshellコマンドを実行っていうスクリプト機能がついてるのよ

886 名前:875 mailto:sage [2006/10/11(水) 10:25:47 ID:V5R8j3TD0]
>>885
Artman21 - Jedit X - ライブラリ
www.artman21.net/product/JeditX/library.html
Jedit Xのカーソル位置の行を shell コマンドとして実行し、次行以下にその結果を表示します

これの事でしょうか?


887 名前:名称未設定 mailto:sage [2006/10/18(水) 18:47:13 ID:EqG0qfwt0]
環境依存かもしれんけど
tell application "Finder" to open desktop
ってやると、開いたFinderウィンドウ内に(デスクトップに表示してる)ボリュームも含まれてるね
@10.4.8

888 名前:名称未設定 mailto:sage [2006/10/26(木) 02:07:37 ID:RqdMZVDn0]
スレ違いですが、FaceSpan3.52を有償で譲っていただける方いませんか?
本家では4.3しかなく買うことができなく、途方に暮れてます。

889 名前:名称未設定 mailto:sage [2006/10/26(木) 09:56:03 ID:nvFQ8u7A0]
本家にメールしてみるというのも手だと思うよ

890 名前:名称未設定 mailto:sage [2006/10/27(金) 00:11:35 ID:r7viu+WJ0]
>>889
レスありがとう。駄目元でメールしてみるよ。



891 名前:名称未設定 mailto:sage [2006/10/27(金) 12:24:20 ID:Q9aWVgLW0]
Classic環境ならREALbasicを使うのも手。


892 名前:名称未設定 mailto:sage [2006/10/27(金) 15:01:19 ID:glYZYt/50]
ハイパカ

893 名前:名称未設定 mailto:sage [2006/10/27(金) 16:41:02 ID:WBwaLP/30]
ハイパーカードに始めて触れた時の感動をもう一度味わいたい。

894 名前:名称未設定 mailto:sage [2006/10/27(金) 22:30:30 ID:caSX3ce10]
フォルダアクション用のスクリプトを作っているのですが、
行き詰まってしまって困っています。

例えば以下のようなスクリプトを参考にしてお尋ねしますが、
このスクリプトを使うと家の環境では延々と*******・・・・○○○
とファイル名の冒頭に*がくっついてきてしまいます。
(実際に自分で作っているものでも同様の状態になります)
これは何かスクリプト以外に原因があるということなのでしょうか。

on adding folder items to open_folder after receiving target_items
tell application "Finder"
repeat with obj in target_items
set name of obj to "*" & name of obj
end repeat
end tell
end adding folder items to

895 名前:名称未設定 mailto:sage [2006/10/27(金) 22:39:25 ID:caSX3ce10]
書き忘れましたがOSは10.3.9です。
よろしくお願いします。

896 名前:名称未設定 mailto:sage [2006/10/27(金) 22:49:06 ID:SgmFCgWE0]
リネームで再度フォルダアクションが呼ばれちゃってんじゃないの

897 名前:894,895 mailto:sage [2006/10/27(金) 23:25:19 ID:caSX3ce10]
>>896
ではもう少し調べてみます。
ありがとうございました。

898 名前:894,895 mailto:sage [2006/10/27(金) 23:44:36 ID:caSX3ce10]
半日悩んでてんぱっていましたがやっと解決しました。
結局ファイル名を照合することで反復を回避するようにしました。
ありがとうございました。

899 名前:名称未設定 mailto:sage [2006/11/04(土) 16:44:22 ID:DoZ4XvF20]
ほしゅ

900 名前:名称未設定 mailto:sage [2006/11/08(水) 12:09:50 ID:rYDFVHlj0]
tell "2ch"
get 900 of 2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6
end tell



901 名前:名称未設定 mailto:sage [2006/11/08(水) 13:19:11 ID:thFr+p+80]
tell "2ch"
delete 900 of 2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6
end tell

902 名前:名称未設定 [2006/11/08(水) 13:57:11 ID:Oeg5r+600]
試したわけじゃないが、それじゃあエラーになるぞ、たぶん。
get response 900 of topic "2ch/mac/おもろい、めずらしいアップルスクリプト発表会 6"
じゃないか?


903 名前:名称未設定 mailto:sage [2006/11/08(水) 23:04:45 ID:BkRH0Hdj0]
get responce id 900 of topic "おもろい、めずらしいアップルスクリプト発表会 6" of bbs "mac"

904 名前:名称未設定 [2006/11/15(水) 02:43:16 ID:kNmxGg6+0]
wakaba.c3.cx/s/lotsablankers/lotsawater.html

「AMSTracker」あわせた面白いものできないかな

905 名前:名称未設定 mailto:sage [2006/11/20(月) 18:11:13 ID:aCr0B3ho0]
curl使えば、Amazonチェックして、
在庫ありになったらカートにつっこむようなもの、作れそうだよね。
cookieの扱いがちょっと面倒かと思うけど。

906 名前:名称未設定 mailto:sage [2006/11/24(金) 19:58:12 ID:nTyAPfWu0]
tell thread "おもろい、めずらしいアップルスクリプト発表会 6" of bbs "pc7.2ch.net/mac/"
 get content of response 900
end tell

907 名前:神経質な性格だから mailto:sage [2006/11/24(金) 20:47:05 ID:Rxlxs3Ac0]
tell application "iTunes"
tell current EQ preset
if not modifiable then error "The current preset cannot be modified."
set preamp to my qroundFloat(preamp)
set band 1 to my qroundFloat(band 1)
set band 2 to my qroundFloat(band 2)
set band 3 to my qroundFloat(band 3)
set band 4 to my qroundFloat(band 4)
set band 5 to my qroundFloat(band 5)
set band 6 to my qroundFloat(band 6)
set band 7 to my qroundFloat(band 7)
set band 8 to my qroundFloat(band 8)
set band 9 to my qroundFloat(band 9)
set band 10 to my qroundFloat(band 10)
end tell
my checkEQLevels()
end tell

---- Subroutines ----
on qroundFloat(aFloat)
return aFloat div 0.25 * 0.25
end qroundFloat

on checkEQLevels()
tell application "iTunes" to tell current EQ preset
display dialog "........Preamp level: " & preamp & " dB" & return & "
..32 Hz band level: " & band 1 & " dB" & return & "..64 Hz band level: " & band 2 & " dB" & return & "125 Hz band level: " & band 3 & " dB
250 Hz band level: " & band 4 & " dB" & return & "500 Hz band level: " & band 5 & " dB" & return & "..1 kHz band level: " & band 6 & " dB
..2 kHz band level: " & band 7 & " dB" & return & "..4 kHz band level: " & band 8 & " dB" & return & "..8 kHz band level: " & band 9 & " dB
16 kHz band level: " & band 10 & " dB" buttons {"OK"} with title "iTunes EQ preset - " & its name with icon 1
end tell
end checkEQLevels

908 名前:名称未設定 mailto:sage [2006/11/27(月) 08:29:12 ID:6mITRRlK0]
既出でしたらスマソ
(OS X 10.4.7で)クリップボード経由でFinderアイコンを
コピーやペーストするスクリプト作ろうとしたんですが、

tell application "Finder"
activate
set thelist to selection
set theIcon to {icon of item 1 of thelist}
set the clipboard to theIcon
end tell

みたいにすると、クリップボードの内容が「不明」となり、うまくいきません。
theIconの内容も見てみたんですが、「missing value」とのことで、
なんかうまく取得できてないみたいです。

原因や対策など、ご教示おながいしまつ・・・

909 名前:名称未設定 mailto:sage [2006/11/27(月) 09:07:37 ID:/Y/p05Kj0]
thelistの内容を見るんだ

910 名前:名称未設定 mailto:sage [2006/11/27(月) 09:50:45 ID:juwTIPxC0]
そもそもほとんどのアイコンはプロパティーのiconで設定されてないみたいだけど、どーなんだろ



911 名前:名称未設定 mailto:sage [2006/11/27(月) 23:43:22 ID:enAoaX+I0]
-- カスタムアイコンがセットされていない限りpropertyのiconはmissing valueなので、
-- 対策...
tell application "Finder"
tell selection as list
if its length < 1 then return 0
open information window of item 1
set infoWindow to name of the result
end tell
end tell

tell application "System Events"
tell window infoWindow of process "Finder"
set iconButton to a reference to button 2 of scroll area 1
if not focused of iconButton then click iconButton
keystroke "c" using command
end tell
end tell

tell application "Finder"
close window infoWindow
end tell

912 名前:名称未設定 mailto:sage [2006/11/28(火) 00:36:19 ID:Ln/Hzn640]
>>911
それね、フォルダだと

button 1 of scroll area 1

になる模様。

913 名前:911 mailto:sage [2006/11/29(水) 00:48:01 ID:RFvE8OhX0]
では
last button of scroll area 1
に修正。試してないけど。

914 名前:908 mailto:sage [2006/11/29(水) 18:38:47 ID:dD4ee4ON0]
レス遅れてすいません

>>909-913さん、アドバイス&例示下さってアリガトンですm(_ _)m

itemのproperty使わずに、GUI Scriptingで直に操作するのが確実そうですね。
>>911=913さんの言うとおり、当該箇所を「last button of scroll area 1」にしてみると、
フォルダアイコンのコピーもエラーが出ずに出来ました。
とりあえずproperty使っての操作は諦めて、ペーストの方も組んで、AmScriptCMXに突っ込んで
使ってみます。

前述のmissing valueの他にも、>>910さんの話や、property「icon family」が
「NOT AVAILABLE YET」になってたりとか、Xでのアイコン周りのAppleScriptは、10.4に
なってもあんま整備されてないよーな気が('A`) GUI操作を純正環境だけで出来るのは
9の頃より遙かにウマーですけど。

蛇足スマソです&皆様改めてアリガトンヽ( ´∇`)ノ

915 名前:名称未設定 mailto:sage [2006/11/30(木) 01:22:49 ID:4JP/PMZ70]
AmScriptsCMX でクリック位置にある項目をスクリプトに渡せたら最高なんだけどな。
デスクトップ以下の項目を移動しようとしたらデスクトップフォルダを移動しちゃったことがあって以来怖くて使えない。

916 名前:(・∀・) mailto:sage [2006/11/30(木) 02:42:08 ID:PN79DLVh0]
作者に要望してみては。

917 名前:名称未設定 mailto:sage [2006/11/30(木) 08:56:50 ID:DSA6lM5o0]
Finderで右クリック使う時って、
右クリックした項目が選択状態にならないまま操作できちゃうもんね。
この事自体がどうなのかって感じる事もあるけど、
FinderのAppleScript辞書に「右クリックされてる項目」を指す
用語があれば、AmScriptsCMXから、
普通の右クリックと同じ感覚で操作できそうだけどね。

918 名前:名称未設定 mailto:sage [2006/12/02(土) 23:22:54 ID:nLcAyM9/0]
ごめん、AppleScript入門者なんだけど、
言語は読めば理解できるんだが、
書いたものをどこに置けばいいのかが分からん。
そういう情報はどこに書いてあるんだ?
~/Library/Safari/Scripts
とかを作って、そこに置けばいいの?
Appleのweb見るとiTunesは↑みたいにしろってあるんだけど、
Safariにはどうすりゃいいんでしょ。
~/Library/Application Support/hoge/Scripts
みたいな場合もあるようだし、規則がよく分からん。

919 名前:名称未設定 [2006/12/02(土) 23:52:47 ID:qy+Dx43z0]
>>918
逆だろ
/Library/Scripts/Safari/か
~/Library/Scripts/Safari/
スクリプトメニューをインストールした時に表示される場所がデフォと考えれば
いいだろう。

とか書いてたらこれは10.3の場合で10.4では違うな。
/Library/Scripts/Safari/か
~/Library/Scripts/Applications/Safari/
取り敢えずApplescriptユーティリティでメニューをオンにしてみれば?

920 名前:名称未設定 mailto:sage [2006/12/03(日) 00:09:40 ID:k4Oos03c0]
>>918
スクリプトはどこに置いたっていいんだよ。

どこそこに置け、と指示があるのは、例えば iTunes の
メニューバーから直接スクリプトを呼び出すためとか、
スクリプトメニューにスクリプトを表示させるためとか、そういう
ことであって、ただ自分のスクリプトを実行させるために
どこそこに置かないと絶対にダメ、という意味ではない。



921 名前:名称未設定 mailto:sage [2006/12/03(日) 00:32:51 ID:kyHCQf7Y0]
>>919-920
れすさんくす。
おk。理解した。

>例えば iTunesのメニューバーから直接スクリプトを呼び出すためとか
この機能にアプリが対応してるか知るにはどうすればよい?

ttp://www.apple.com/applescript/itunes/
Appleのページ見るとiTunesのとこには
~/Library/iTunes/Scripts
におけって書いてあるんだけど、Safariのとこでは記述がない。
で、試しに
~/Library/Safari/Scripts
を作ってみてscriptを置いたんだけど、メニューに出ない。
これはSafariではメニューに出ないっつーことかしら。

922 名前:名称未設定 mailto:sage [2006/12/03(日) 01:08:13 ID:fd/NtXWZ0]
スクリプトメニューをインストールする。
safariを立ち上げる。
スクリプトメニューの「スクリプトフォルダを開く」に「safariフォルダを開く」が出てくる。
そこにsafari用のスクリプトを入れる。
safariがアクティブなときはそれがスクリプトメニューに現れ、
他のアプリがアクティブなときは現れないのですっきり。

923 名前:名称未設定 mailto:sage [2006/12/03(日) 01:51:36 ID:kyHCQf7Y0]
>>922
できたできた。ありがとう。
んでも、ショートカットが設定できないのか。

924 名前:名称未設定 mailto:sage [2006/12/03(日) 07:49:57 ID:uAINv7so0]
そう言えば前は声で実行させたりしてたけど、
あれ今でもできるのかな。

925 名前:名称未設定 mailto:sage [2006/12/04(月) 06:54:19 ID:Xxwxdp1F0]
エクセルをアップルスクリプトで動かしてみようとしたけど、
やたら機能が多いのはいいんだけど、わかりづらいなー

926 名前:名称未設定 mailto:sage [2006/12/09(土) 09:55:13 ID:VcqjbtcM0]
AppleScriptの皮をかぶったVBA


927 名前:名称未設定 mailto:sage [2006/12/09(土) 11:11:53 ID:tKT1tWrt0]
だいぶ昔のバージョンだけど、
VBAのほうと用語を照らし合わせてみたら
対応してて面白かったような覚えがある。
記述方法も癖があったようななかったような。

928 名前:名称未設定 [2006/12/17(日) 00:17:27 ID:E1f87bwq0]
初心者なんですが、
{a,b,c}と{d,e,f}という2つのリストを
{{a,b,c},{d,e,f}}のような形にするには
どうすればいいのでしょうか。

929 名前:名称未設定 [2006/12/17(日) 08:16:12 ID:oGl4vDy40]
最近tigerにしたんだけど
___ctl-t とかでショートカット設定できなくなっちゃったの?

930 名前:sage [2006/12/17(日) 16:23:19 ID:cJIHguLoO]
はじめますて。超初心者です。
Mail.appのルールでスクリプトを指定して実行できるみたいなんだけど、
届いたメールを自動で印刷とか可能ですか?
教えていただけたらと。
スクリプト覚えたいです。



931 名前:名称未設定 mailto:sage [2006/12/18(月) 01:36:18 ID:iJJx9Ykl0]
君んところはスパムとか来ないのか

932 名前:名称未設定 mailto:sage [2006/12/18(月) 03:54:07 ID:ctln39cs0]
>>928
まず
set theList to {}
と空のリストを宣言して、
set end of theList to hoge
と、なにかを順次格納していく。
-- 検証コード
set theList to {}
set end of theList to {1, 3, 5}
set end of theList to {2, 4, 6}
theList

933 名前:名称未設定 mailto:sage [2006/12/18(月) 21:57:06 ID:EJmnkHip0]
set theList1 to {1, 2, 3}
set theList2 to {4, 5, 6}
set finalList to {theList1, theList2}

934 名前:名称未設定 [2006/12/19(火) 00:08:18 ID:PDW9qp5C0]
>>932
どーもです。
普通にリストを結合しても、思うように行かなかったもんで。
助かりました。ありがとうございます。

935 名前:名称未設定 mailto:sage [2006/12/19(火) 12:34:21 ID:H46l0VSY0]
そのへんのリストの扱いは、AppleScript Parkに詳しい記述があったような。

936 名前:名称未設定 mailto:sage [2006/12/21(木) 21:28:47 ID:8zr6VPSP0]
ファインダーでクリックして開いたファイルを掴むにはどうしたらいいですか?
そのファイルを開いた、という情報が取得したいです。

937 名前:名称未設定 mailto:sage [2006/12/21(木) 22:04:38 ID:hH+3Fjvo0]
通知を受け取る機能がないから無理だけど、
>そのファイルを開いた、という情報が取得したいです。
その先で具体的に何がしたいの?

938 名前:名称未設定 mailto:sage [2006/12/21(木) 22:32:57 ID:JPn2VnqX0]
>>937
どのファイルを開いたのか記録したいんです。
結果的にはそれを、コメント欄に回数として記入したいと思います。

939 名前:名称未設定 mailto:sage [2006/12/22(金) 00:00:41 ID:Ihg9Qcd30]
標準的には出来そうにない気がする。

別手段として、このTrackerとか使えば情報は収集出来るのかも。ここの英文、
俺にはどうにも読みこなせないが。
ttp://rixstep.com/4/0/tracker/

940 名前:名称未設定 mailto:sage [2006/12/22(金) 00:09:32 ID:zbHmjtWQ0]
似たような感じで、スクリプトエディタの記録が使える環境なら
open document file の部分を抜き出してカウントできる。



941 名前:名称未設定 mailto:sage [2006/12/22(金) 04:28:51 ID:viuUar760]
そういえば昔、AppleEventを記録するようなソフトあったよね。

942 名前:名称未設定 mailto:sage [2006/12/22(金) 08:04:13 ID:3eOgjxUy0]
SpotlightはkMDItemLastUsedDateというMetadata Attributeにオープンした
時刻を記録してる。mdlsコマンドで確認できる。
AppleScriptから利用するのは難しいけど、OSAXかヘルパーアプリを書けば
アクセスできる。

943 名前:名称未設定 mailto:sage [2006/12/25(月) 08:52:12 ID:Kv6YEQdi0]
do shell scriptではだめそうなの?

944 名前:名称未設定 mailto:sage [2006/12/25(月) 21:02:34 ID:avuDy7cv0]
おいらの力じゃ書けないっす

945 名前:名称未設定 mailto:sage [2006/12/27(水) 20:12:28 ID:T0rh068Z0]
(*************************************************************************************
  FinderウインドウをOS 9のポップアップウインドウのようにするスクリプト
  自動的に終了しないアプリケーションとして保存する事
*************************************************************************************)
on run
return
end run
on idle
try
with timeout of 35791394 seconds
tell application "Finder"
set |window list| to every Finder window
repeat with |Finder window| in |window list|
if (frontmost is false) or ((index of |Finder window|) is not 1) then
set (collapsed of |Finder window|) to true
end if
end repeat
end tell
end timeout
end try
return 3
end idle
on quit
continue quit
end quit

946 名前:名称未設定 mailto:sage [2006/12/28(木) 00:43:54 ID:N+Pputka0]
今、プレビューで開いてる画像を再度開けるようにワークスペースの保存みたいのってできないですかね?

947 名前:名称未設定 mailto:sage [2006/12/28(木) 12:46:41 ID:5eF7fDOZ0]
>>946
プレビューはアップルスクリプト非対応。対応してりゃ何でもできるって訳でもないけど。
GUIスクリプティング使ってブックマークでもしとけば?

948 名前:名称未設定 mailto:sage [2006/12/28(木) 14:43:31 ID:1BQu06HN0]
>>947
非対応か…。ファインダーで指定ファイルを開いた方が早そうだな。

949 名前:名称未設定 mailto:sage [2006/12/28(木) 16:58:20 ID:Ae8HJiM90]
一応、open、quitぐらいはできるよ。
PantherのPreviewはできないけど、TigerのPreviewはprintも理解する。
基本的に、どのアプリでもそのくらいはできるようになっているわけだが。

tell app "preview"
open (choose file)
end tell

以下のGUI Scriptingの手法でPreviewで開いてるファイルのパスのリストが取得できる。
(事情でPantherのPreviewで試してんだけど……)

set values to {}
activate application "Preview"
tell application "System Events"
tell process "preview"
repeat with i in windows
set values to values & value of attribute "AXDocument" of i
end repeat
end tell
end tell

後はがんばってくれ。

GUI Scriptingだからお膳立てが必要だよ。詳しくはググれ。







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef