set display_x_size to 604 set display_y_size to 800 set cur_app to (path to «constant afdregfp» as Unicode text) if cur_app ends with ":Finder.app:" then set Finder to true tell application "Finder" set tool_vis to toolbar visible of front window end tell else set Finder to false end if
15 :
続き tell application cur_app tell front window set {x1, y1, x2, y2} to (get bounds) if Finder then -- Finder uses inside of frame for bounds, not counting toolbar if tool_vis then set x1 to 4 set y1 to 44 else set x1 to 4 set y1 to 44 end if -- Explicit y size of your display set x2 to display_x_size - 0 set y2 to display_y_size - 0 else set x1 to 4 set y1 to 22 set x2 to display_x_size set y2 to display_y_size end if set bounds to {x1, y1, x2, y2} end tell end tell
16 :
>>13-15 if toolbar visible of front window is true then set toolbar visible of front window to false else set toolbar visible of front window to true end if を前半のtell app "Finder"〜end tellの中に入れる。 toolbar visibleはFinderだけしか認識しないので 共通化してる後半に入れるのは無理だろう。
ちょっと書いてみた(自分で分かりやすいようにいくらか要約した) property x_size : 604 property y_size : 800 --tell application "Finder" to activate set currentApp to path to frontmost application as text if currentApp ends with ":Finder.app:" then try tell front window of application "Finder" set toolbarVisible to toolbar visible if toolbarVisible then set {x1, y1} to {4, 44} else set {x1, y1} to {4, 44} end if set toolbar visible to not toolbarVisible set bounds to {x1, y1, x_size - 0, y_size - 0} end tell end try else try tell front window of application currentApp set {x1, y1} to {4, 22} set bounds to {x1, y1, x_size, y_size} end tell end try end if
tell application "Adobe Illustrator" activate set myItem to item 1 of selection if (class of myItem) = raster item then tell myItem set theMatrix to matrix of it set mv_a to mvalue_a of theMatrix set mv_b to mvalue_b of theMatrix set mv_c to mvalue_c of theMatrix set mv_d to mvalue_d of theMatrix
set HScale to ((mv_a) ^ 2 + (mv_b) ^ 2) ^ 0.5 set VScale to ((mv_c) ^ 2 + (mv_d) ^ 2) ^ 0.5
set theAngle to ((do javascript "Math.acos(" & mv_a / (HScale as real) & ");") as real) * 180 / pi
set identitymatrix to concatenate rotation matrix (get rotation matrix) angle theAngle transform using identitymatrix
set theMatrix to matrix of it set scalematrix to concatenate scale matrix (get scale matrix) horizontal scale (1 / (mvalue_a of theMatrix) * 100) vertical scale (1 / (mvalue_d of theMatrix) * 100) transform using scalematrix end tell end if end tell
24 :
正寸に戻すだけなら難しくないよ tell application "Adobe Illustrator" set thePosition to position of selection of document 1 set matrix of selection of document 1 to {mvalue_a:1.0, mvalue_b:0.0, mvalue_c:0.0, mvalue_d:-1.0} set position of selection of document 1 to {0, 0} --なぜか一回こうしないとうまくいかない set position of selection of document 1 to thePosition end tell ちゃんと検証はしてないけど、こんだけでいけるはず。 最近、といってもちょっと前だったかな マトリックス関係の検索ワードでオレッチのサイトに来てくれたのは君かな? たまたま昨日ログを見てて、だれかマトリックス関係で調べものをしてるんだなと思ってた。 もう何年も更新してないような恥ずかしい三日坊主のサイトですが...
tell application "Terminal" activate if Terminal is front window then close front window end if end tell 「ターミナルが前面にある時はターミナルを隠す」 をどう表現するかが 分かりません。どなたかご教授お願いします。
>>46 do script [text] : The command to execute. [in tab, window, or any] : The tab in which to execute the command → tab : The tab the command was executed in. 10.6ではこうなってるから、特定のWindowを指定して実行することはできるんだろう あとは、自力でやってくれ
>>52 ほんとに? Command /usr/bin/osacompile failed with exit code 1 のエラーばっかでるけどな
57 :
>>56 AppleScriptObjC使ってる? 最初ググってたら set contents of text field "textField" of 〜みたいな形で テキストフィールドに値をセットするやり方が出てきたけど、 こういった感じで値をセットしようとしてない? ↓な感じで、Objective-CのsetStringValue呼ばないとダメっぽいよ。 textField's setStringValue_("Hello World") とりあえずプロジェクトごとうpしたんで参考に。 http://www1.axfc.net/uploader/File/so/35417.zip ※MyObject.applescriptが該当処理
訂正。 set theTextField to "Hello, World!" は set my theTextField to "Hello, World!" でした。 あと、メインのコードってのはもちろん "main.m" のことじゃなくて "なんちゃらAppDelegate.applescript" のことね。 my の後に書くんだから"theTextField"って名前はうまくなかったかな…
>>65 tell application "System Events" tell process "アプリケーション" get UI elements end tell end tell 結果に出てきたUI elementsにtellしてさらにUI elementsをget tell application "System Events" tell process "アプリケーション" tell window "ほにゃらら" get UI elements end tell end tell end tell とか tell application "System Events" tell process "アプリケーション" get UI elements of window "ほにゃらら" end tell end tell
>>74 ちょっと状況がよく分からないんだけど、たとえば tell application "Finder" set theList to files whose name starts with "ABC" end tell でABCではじまるファイルの*リスト*が得られる。 もし1個しかないって決め打っていいなら、続けて item 1 of theList で、リストの最初のファイル(1個しかないならそれ)が得られる。
tell application "Finder" every document file of entire contents of theFolder where name begins with "ABC" end tell theFolderはフォルダを変数にいれたもの entire contentsはサブフォルダの下層も探してくれます
あれ?規制だ。家のアドレスだめだな。いつも止まってるよ。サーバから。 >>91 ソースから何かするだったら curl(過去ログで検索するんだ) を使えば良いと思う。ブラウザ使う必要はないんではないかい? どうしてもと言うのならダウンロードして見てみても良いかもなのだけど、snowで動くんかな? 私はこれ。誰かお願い。 Image Events1.1.3←snow leopard でImage Events1.1.2では奇麗に(特定のかな?IL)pdf を jpg に奇麗にレンダリング出来てたのが、見た目駄目な時がある。 駄目=文字に関して。アンチエイリアスがかかっていない、レンダリング解像度が低い(文字ががたがた)太る(一日3000kl食べた?)等。 再現はイラストレータCS2,3,4で作成。 テストした。safariで作ったpdfはOK、worksは今から試してみる、ためしてみた大丈夫、TextEditも。 イラストレータですかね。ILのテキストオブジェクト。そしてそのバックに色(平網、グラデーション)写真がないこと。再現する。 白で塗ったオブジェクト敷いてたら大丈夫だ。でも1.1.2とは微妙に違うな。 私の環境が駄目(10.6はこのMBPしかないんだ)もしくはImage Events1.1.3ではそれが普通かを知りたい、教えてほしい。 キャプチャ見せたいけど、アップローダってのがようわからんのだ。適当にテキストを打ったILファイルをつかって以下お願いできるか? --IL CS2 以降で作った mytest.pdf ってのがデスクトップにある、として以下を10.5と10.6で実行、でjpgファイ作って(目で見て)くれないか? set desktop_path to path to desktop as Unicode text tell application "Image Events" launch set myImage to open (desktop_path & "mytest.pdf") save myImage in file (desktop_path & "mytest.jpg") as JPEG close myImage end tell
tell application "LightWayText" tell document 1 set contents of selection to "俺用メモ" end tell end tell
97 :
do shell script でperlを使って文字の置換をしようと思い 下記のようにしたのですが、1バイト文字は置換できるのですが 2バイト文字では出来ません 修正点をご教示頂けると幸いです 併せて検索文字が半角スペースで始まっている場合の対処法も お願いします OSは10.4.11です set TextName to "SJISテキストファイル" set Find to "検索文字" set Replace to "置換文字" set Scptcmd to "perl -pi -e \"s/\"" & quoted form of Find & "\"/\"" & quoted form of Replace & "\"/gi\" " & quoted form of TextFile do shell script Scptcmd
98 :
>>97 それはSJISのテキストを置換したいと? そうなるとやっぱ文字コードの問題でしょう。 perl でそのまま扱えるのは多分 UTF-8 だけなんじゃないかな。 コードを変換するやり方があったと思うんだけど 難しくて覚えるのを諦めた……。 それと参考までに聞きたいんだけど、 >set Scptcmd to "perl -pi -e \"s/\"" & quoted form of Find & "\"/\"" & quoted form of Replace & "\"/gi\" " & quoted form of TextFile この行は set Scptcmd to "perl -pi -e 's/" & Find & "/" & Replace & "/gi' " & quoted form of TextFile こうじゃだめなん?