[表示 : 全て 最新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

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]
ログアウトのスクリプトを作りたいと思い丸二日間格闘したんですが、
全然ウマく行かないんです。シャットダウン、スリープ、再起動は簡単にできたんですが…。
どのように記述したら良いのでしょうか?

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






[ 続きを読む ] / [ 携帯版 ]

前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