tell application "TextEdit" activate tell front document tell application "System Events" to key code 125 using {command down} end tell end tell 0716名称未設定2016/03/16(水) 13:14:48.69ID:wz/7bs1s0 コピーってのがクリップボードへのコピーならカーソルを移動しなくてもこれでできる。 tell document 1 of application "TextEdit" to set every text to every text & return & (the clipboard) 0717名称未設定2016/03/17(木) 02:02:48.03ID:tknj+PfJ0 速度的にはどうなんだろ on replaceReg(str, fnd, opt, rep) set JsScr to " var str = " & quoted form of str & "; var fnd = new RegExp(" & quoted form of fnd & "," & quoted form of opt & "); var rep = " & quoted form of rep & "; str.replace(fnd, rep); " set ret to run script JsScr in "Javascript" return ret end replaceReg 0718名称未設定2016/03/17(木) 05:32:07.90ID:U21OisUH0>>717 どうもapplescriptに見えんなーと思ったらapplescriptじゃなかった JS使いにとってはASで素直に置換ができない問題がこれで解消されるわけか? まあしかしASだけでルーチン組むのとあんまり変わらんから やっぱり速度の問題になるよね 0719名称未設定2016/03/17(木) 06:23:24.08ID:nfY5T6ih0 Doublequoteはescape必要に見えるけど、大丈夫? 0720名称未設定2016/03/17(木) 07:12:42.55ID:3oRdLlSm0 失礼、勘違いだった。 0721名称未設定2016/03/17(木) 09:20:51.65ID:DWzTlfih0>>717 いいね、これ
set JsScr to " var obj = {str:'apple', arr:['ふじ','レッドデリシャス']}; obj " set ret to run script JsScr in "Javascript" log "class of ret:" & class of ret log "class of arr of ret:" & class of arr of ret repeat with i in arr of ret log i end repeat 0723名称未設定2016/03/17(木) 20:50:16.07ID:tknj+PfJ0 721さんではなくて717でした、失礼 0724名称未設定2016/03/17(木) 21:01:56.68ID:ine1sMXC0 JXAじゃいかんのか? http://qiita.com/zakuroishikuro/items/1b02378bf9e940602d870725名称未設定2016/03/29(火) 21:22:05.25ID:0SkJ9rAs0>>711 NSRegularRexpression をラップしてたマンドくさくないシンプルなインタフェースのライブラリをつくればいいのではないかしら。 0726名称未設定2016/04/22(金) 15:37:59.52ID:hRzbi5SJ0 ASOCでウインドウをフローティング(常に前面)にしたいのですが、 どこでどう設定したらいいんでしょう? 0727名称未設定2016/04/22(金) 20:48:33.70ID:OU5jWO7P0>>726 property win : missing value --xivでウィンドウど接続 --初期化で win's setLevel_(3) 07287262016/04/25(月) 10:29:40.54ID:H7rkWOxZ0>>727 すみません。エラーも起きませんが、フローティングにもなりません。 現在記述してあるのは、下記のみです。xcode 3.2.6 os10.6.8 script UntitledAppDelegate property parent : class "NSObject" property _win : missing value on applicationWillFinishLaunching_(aNotification) _win's setLevel(3) end applicationWillFinishLaunching_ on applicationShouldTerminate_(sender) return current application's NSTerminateNow end applicationShouldTerminate_ end script 07297262016/04/25(月) 10:44:02.50ID:H7rkWOxZ0 アンダーバーが抜けていました。アンダーバー入れてもフローティングにはなりません。 _win's setLevel_(3) 0730名称未設定2016/04/25(月) 14:24:15.74ID:pJvZnNc40>>728 on applicationWillFinishLaunching_(aNotification) set aB to current application's NSBackingStoreBuffered set aRect to {{300, 300}, {300, 300}} tell current application's NSWindow's alloc() tell initWithContentRect_styleMask_backing_defer_(aRect, 7, aB, false) tell current application's NSView's alloc() tell initWithFrame_(aRect) setNeedsDisplay_(true) set aView to it end tell end tell setContentView_(aView) setDelegate_(me) setTitle_("TEST") setLevel_(3) makeKeyAndOrderFront_(me) end tell end tell end applicationWillFinishLaunching_
xivのwindowは、初期設定状態でしょうか 例えばxivでwindowのHidesOnDeactivateをonにしていると、他のアプリに移動した時にウィンドウが消えます。 07367262016/04/26(火) 14:07:33.25ID:TnaIN42b0 とりあえず新規プロジェクトで実験しているので初期設定状態のままです。 _win's makeKeyAndOrderFront_(me) _win's setTitle_("TEST") を試した後からなぜか突然フローティングに失敗しなくなりました。 新規で作ってさっきまでうまくいなかったやり方で試しても大丈夫です。 よくわからないけど助かりました。ありがとうございます。 0737名称未設定2016/04/29(金) 22:34:11.86ID:YksCyGws0 # sed - put commas at the end of every line in stdin # awk - pass to awk to remove the linefeeds # sed - remove the comma from the last line # sed - turn all spaces into pluses address=`sed -e "s/$/,/g" | awk '{ str1=str1 $0 " "}END{ print str1 }' | sed -e "s/, $//g" | sed -e "s/ /\+/g"` open "http://www.amazon.co.jp/s?field-keywords=$address"
Automatorのサービスで右クリックできるようにしたのですが、 これをつねにfirefoxで開くようにしたいです。 どのように付けくわえればよいでしょうか? 0738名称未設定2016/04/29(金) 23:50:36.50ID:mmmN9YIf0 デフォルトブラウザがFirefoxならそのまま行くんじゃないの それかopen -a Firefoxにするか 0739名称未設定2016/04/30(土) 02:41:26.48ID:6hA5ZwKI0 または open -b org.mozilla.firefox 0740名称未設定2016/04/30(土) 08:23:41.53ID:7vBWrPt20>>738,739 ありがとうございます デフォルトはSafariです amazonの検索だけFirefoxにしたかったのです
例えば1/2+12/24と入力すると1と返ってくるようにしたいのです 0744名称未設定2016/05/12(木) 14:20:47.24ID:U+AgI3Kr0 set r to "1/2+12/24" run script r 0745名称未設定2016/05/12(木) 14:23:56.87ID:OI34QQdR0>>744 ありがとうございました! 助かります! 全く思いつきませんでした! 0746名称未設定2016/06/09(木) 22:46:54.30ID:e2kQHPZ50 クリップボード内のテキストを置換や挿入削除するのを使っています。 これを改造して、改行も文字と同じように置換や挿入削除したいのですがどのようにすればいいのでしょうか? 例えば「ほげほげ」を
「ほげ ほげ」
に置換、またその逆もなんですが。 改行そのものは""で括らず「ASCII character 13」などと書けばいいのまではわかりました。
try set the clipboard to «class ktxt» of ((the clipboard as text) as record) set orig_txt to the clipboard as text if orig_txt is not "" then set orig_txt to FindAndReplace(orig_txt, "hoge", "ほげ") set orig_txt to FindAndReplace(orig_txt, ASCII character 13, "★改行消したよ★") set the clipboard to orig_txt as text else error "The clipboard is empty..." number 1 end if on error err_msg number err_num reportErr(err_num, err_msg) end try on FindAndReplace(targetStr, pre, pro) set CurDelim to AppleScript's text item delimiters set AppleScript's text item delimiters to pre set targetStr to text items of targetStr set AppleScript's text item delimiters to pro set targetStr to targetStr as string set AppleScript's text item delimiters to CurDelim return targetStr end FindAndReplace 0747名称未設定2016/06/10(金) 01:04:00.29ID:izjeg4LE0 set orig_txt to FindAndReplace(orig_txt, "ほげ", "ほげ" & return) -- ただしイマイチ 「ほげほげ」 ↓ 「ほげ ほげ 」
set orig_txt to FindAndReplace(orig_txt, return, "") 「ほげ ほげ 」 ↓ 「ほげほげ」 0748名称未設定2016/06/10(金) 09:43:34.69ID:zdYeUK5r0 最初はとっつきにくいだろうけど、 ASで文字列処理するならrubyなりperlなり使った方が圧倒的にラクだよ。
set rubySc to " #encoding: utf-8 $KCODE='u' str=ARGV[0] puts str.gsub(/[\\r\\n]/, \"\") " set c to the clipboard set c to quoted form of c set rubySc to quoted form of rubySc set myresult to do shell script "ruby -Ku -e " & rubySc & " " & c
set rubySc to " #encoding: utf-8 $KCODE='u' str=`pbpaste` puts str.gsub(/[\\r\\n]/, \"\") " set rubySc to quoted form of rubySc set myresult to do shell script "ruby -Ku -e " & rubySc 0752名称未設定2016/06/12(日) 19:21:52.55ID:VfsjxDNU0>>747 あざっす!!! 改行はreturnなんですね。ひょっとして…とおもったら タブはtabでした!おかげさまで色々はかどりそうです! 0753名称未設定2016/06/16(木) 22:26:54.48ID:oXUR4BNt0 予約語を変数名にしたら悲惨な事になるで 0754名称未設定2016/06/19(日) 12:15:13.80ID:I4OKLVqd0 (alfredとかでホットキーを登録して、) 日時をテキストで挿入できるようにしたいのですが、
set the clipboard to (do shell script "date '+%Y-%m-%d %H:%M:%S'")
自分自身のことを指すmeみたいな名前で一本化できれば良いと思って探してるのですが 何か良案がありましたら、教えてください 0758名称未設定2016/06/26(日) 15:08:34.88ID:150GcjU60 757の環境は10.9Mavericksです 0759名称未設定2016/06/26(日) 15:24:21.85ID:icb4+j3C0 tell me if not frontmost then -- ここに757の3行入れる end if end tell
とか? 0760名称未設定2016/06/26(日) 16:17:59.11ID:MDzRPSme0 tell me to activate じゃあかんのか 0761名称未設定2016/06/27(月) 00:15:21.98ID:bxICCxF00 アプリケーション形式ならactivateだけでも手前になるよ。
職場では導入間もないので50個、画像サーバ C2D Win7 画像フォルダはシステムと同じボリューム クライアント MDD OSX10.4 自宅では1000個 画像サーバ CD VIsta 画像フォルダはシステムと別パーテーション クライアント C2D OSX10.6
職場では瞬時に表示されるが、自宅では6秒以上かかる。 時間ができたら職場に1000個のUSBでも挿してテストしてみる。 0766名称未設定2016/07/28(木) 13:13:33.21ID:CZMUn6I+0 それだけ色々違う状況じゃ全く比較にならんと思うが。 ボードやHDDの速度も違えばネットワーク速度、OSの処理速度どれもちがうだろ。 とりあえず自宅で50個のフォルダを試した方が早いんじゃないか? それで遅けりゃファイル数の問題じゃないって事だろ。 0767名称未設定2016/07/28(木) 23:29:55.74ID:spKpeHA60 1000個を捨てて、50個100個150個としてみた。 快速に表示された。 異常のあるファイルが混在していたのかもしれない。 検査するユーティリティでも探してみる。 スマソ。 0768名称未設定2016/08/15(月) 15:55:08.48ID:Z+tLenng0 超自己満スクリプト do shell script "..." with administrator privileges でパスワード入れるのが面倒になってきた、 といってスクリプトにもろ書きして目に触れるのもなんか嫌だ ↓ ・キーチェーンアクセスでパスワード項目を作成 アカウント/パスワード: applescript/パスワード アクセス制御: securityコマンドに常に許可(コマンド実行時の初回のダイアログででも) ・スクリプト set |password| to do shell script "security find-generic-password -a applescript -w" do shell script "killall -HUP mDNSResponder" password |password| with administrator privileges 0769名称未設定2016/08/15(月) 19:56:52.87ID:NvXN/2Mn0>>768 これはおもしろい。毎回思考停止してパス入れてたからその発想がなかった たいへん参考になりました 0770名称未設定2016/08/22(月) 05:48:20.56ID:Tz21TGij0 スクリプトエディタのフォーマット設定が時々デフォルトに戻っちゃんだけど、この設定ってどこに保存してあるんでしょうね? 手作業で戻すのは面倒なのでファイル差し替えで戻せると良いんだけど 0771名称未設定2016/08/22(月) 06:01:31.95ID:Tz21TGij0 自己解決 $HOME/Library/Preferences/com.apple.applescript.plist のようでした 0772名称未設定2016/08/23(火) 09:37:34.26ID:xJQwUjZc0 tell application "Image Events" set theImage to open theDropItem as alias tell theImage set theDimensionsList to dimensions end tell close theImage end tell
set imageHeight to item 2 of theDimensionsList set imageWidth to item 1 of theDimensionsList set padImageHeight to imageHeight + 50 set padImageWidth to imageWidth + 50 set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor 555555 " ここからさらに#999余白6pxを付加する記述を教えてください。 現在50px付加jpgをさらに6px付加スクリプトに投げてます。 0773名称未設定2016/08/23(火) 11:09:57.92ID:0A/9/lIK0 間違ってるかもしれないが、2回処理(一旦保存)しないと無理なんじゃないかな? 連続して実行しても2番目の処理しか行われないっぽい。
あと、質問するときはそのままで動く物を載せた方がいい。 0774名称未設定2016/08/23(火) 12:46:18.96ID:6f9IVph50 on open dropObjects tell application "Image Events" to launch
repeat with theDropItem in dropObjects set theDropItemPOSIXPath to POSIX path of theDropItem
tell application "Finder" set theDropItemName to name of theDropItem end tell
tell application "Image Events" set theImage to open theDropItem as alias tell theImage set theDimensionsList to dimensions end tell close theImage end tell 0775名称未設定2016/08/23(火) 12:49:20.77ID:6f9IVph50 774の続き。 set imageHeight to item 2 of theDimensionsList set imageWidth to item 1 of theDimensionsList
set padImageHeight to imageHeight + 50 set padImageWidth to imageWidth + 50
set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor 555555 " & " --out " & "~/Desktop/" & (quoted form of ("pad" & theDropItemName))
do shell script scriptCommand end repeat
end open ここからさらに#999余白6pxを付加する記述を教えてください。 現在50px付加jpgをさらに6px付加スクリプトに投げてます。 07767742016/08/23(火) 12:53:52.23ID:6f9IVph50 もし二つのスクリプトが必要な場合、一つ目のスクリプトの最後に「保存後6px.app」に投げるを書き、 6px.appの処理の最後に「JPEGで上書き保存」を各方法を教えて頂けないでしょうか。 それも不可な場合、一つ目のスクリプトはこのままで、2つめのスクリプトの最後に「上書き保存」の記述を教えてください。。 0777名称未設定2016/08/23(火) 13:03:51.80ID:0A/9/lIK0 丸投げのつもりなら >>1参照 多少なりとも理解しているなら、2回繰り返すだけ。 07787742016/08/23(火) 13:10:30.12ID:6f9IVph50 一回目のend repeatの直後に tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。 なにが間違ってるんでしょうか。。 07797742016/08/23(火) 13:10:30.46ID:6f9IVph50 一回目のend repeatの直後に tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。 なにが間違ってるんでしょうか。。 0780名称未設定2016/08/23(火) 13:26:32.34ID:rviZjxD00 所望のオプション付けた sips を一つ追加、実行すればいいんじゃないの? 0781名称未設定2016/08/23(火) 13:37:02.69ID:0A/9/lIK0>>779 元の画像に対して違う処理をしているだけだから。 一旦保存した画像に対してもう一度処理しないと。 07827742016/08/23(火) 14:43:56.00ID:6f9IVph50 1度目の処理でデスクトップに保存すると2度目の処理が最初のドロップアイテムに対して行ってしまったため 一度目は上書き保存、二度目でデスクトップに書き出しをしました。 出来れば一度目と二度目の後にデスクトップに書き出しできるドロップファイルをいじらずに済んで嬉しいんですが・・ set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor FFFFFF " do shell script scriptCommand
tell application "Image Events"←二度目処理・・ 0783名称未設定2016/08/23(火) 16:13:23.56ID:w5kLaLoU0 色は判りづらいので変えてる。 ちなみにquoted formは要らんよ。 set padImageHeight to padImageHeight + 6 set padImageWidth to padImageWidth + 6 do shell script "sips " & "~/Desktop/pad" & theDropItemName & " -p " & padImageHeight & " " & padImageWidth & " --padColor FF0000" 07847742016/08/23(火) 16:38:58.45ID:6f9IVph50>>783 ありがとうございます!30余白が従来通りデスクトップ保存、二度目に教えたいただいた物を貼り付けましたが上手く動かず。。 「デスクトップに"padファイル名.jpg"がない」?とか言われます。。 0785名称未設定2016/08/23(火) 17:16:48.56ID:w5kLaLoU0>>784 そりゃ入れる場所間違ってるんじゃない? やってること理解すればどこでエラーが起きてるのかわかる。 07867742016/08/23(火) 17:28:39.87ID:6f9IVph50 以下にて原画→枠線1追加→枠線2追加→上書き保存で妥協しました。 できれば原画→枠線1追加→枠線2追加→同名でデスクトップに新規保存、がしたかった。。 on open dropObjects tell application "Image Events" to launch
repeat with theDropItem in dropObjects set theDropItemPOSIXPath to POSIX path of theDropItem
tell application "Finder" set theDropItemName to name of theDropItem end tell
tell application "Image Events" set theImage to open theDropItem as alias tell theImage set theDimensionsList to dimensions end tell close theImage end tell
set imageHeight to item 2 of theDimensionsList set imageWidth to item 1 of theDimensionsList
set padImageHeight to imageHeight + 50 set padImageWidth to imageWidth + 50 0787名称未設定2016/08/23(火) 17:29:22.88ID:6f9IVph50 続き・・ set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor 55555 " do shell script scriptCommand
tell application "Image Events" set theImage to open theDropItem as alias tell theImage set theDimensionsList to dimensions end tell close theImage end tell
set imageHeight to item 2 of theDimensionsList set imageWidth to item 1 of theDimensionsList
set padImageHeight to imageHeight + 5 set padImageWidth to imageWidth + 5
set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor 888888 " do shell script scriptCommand
end repeat end open 0788名称未設定2016/08/23(火) 17:44:26.75ID:w5kLaLoU0 自分でアップしたものを、ちょこちょこ変更するから動かなくなる。 俺の書いた部分と自分の書いた部分の差異もわからないなら変に触らないほうがいいよ。 0789名称未設定2016/08/23(火) 17:47:21.30ID:NoSsmXKJ0 高さと幅に奇数を加えるのがモニョモニョする 0790名称未設定2016/08/23(火) 23:44:36.69ID:iI3N2afK0 全部 Image Events でやっちゃダメ?
on open drop_objects repeat with drop_object in drop_objects set drop_object to drop_object as string tell application "Image Events" repeat with item_modify_data in {{pad_margin:50, pad_color:{85 * 257, 85 * 257, 85 * 257}}, {pad_margin:6, pad_color:{153 * 257, 153 * 257, 153 * 257}}} set this_image to open file drop_object set the_dimensions to dimensions of this_image pad this_image to dimensions {(item 1 of the_dimensions) + (pad_margin of item_modify_data), (item 2 of the_dimensions) + (pad_margin of item_modify_data)} with pad color pad_color of item_modify_data save this_image close this_image end repeat end tell end repeat end open
ls -1 | perl -lne 's/A/B/; push @l, $_; END { print join " ", @l }' | open -f 0796名称未設定2016/08/29(月) 16:16:40.84ID:hh1Ww9bW0>>795 ありがとうございます!!ただ言い忘れましたがapplescriptで教えてください! ファイルをスクリプトアプリに入れるとそのファイル名から拡張子を除きAという文字をBに置換後に テキスト(自分JEditです・・)が開いてそこにペーストされるという感じです! 0797名称未設定2016/08/29(月) 17:43:45.55ID:mi8It8rt0>>796 とりあえず>>1嫁 0798名称未設定2016/08/30(火) 09:14:23.39ID:XbvJ0yp10 JEdit持ってないからTextEditで 複数ファイル渡すと別々に分かれることがある(理由不明) on open someItems set outNames to {} repeat with anItem in someItems tell application "Finder" set aName to name of anItem set anExte to name extension of anItem if anExte is not "" then set aName to text 1 thru ((length of aName) - (length of anExte) - 1) of aName set anExte to "." & anExte end if considering case if aName contains "A" then set aName to do shell script "echo " & quoted form of aName & " | sed 's/A/B/'" end if end considering set end of outNames to aName & anExte end tell end repeat set oldASTID to AppleScript's text item delimiters set AppleScript's text item delimiters to {" "} set outNames to outNames as text set AppleScript's text item delimiters to oldASTID set outNames to outNames & linefeed tell application "TextEdit" launch set aDoc to make new document set text of aDoc to outNames activate end tell end open 0799名称未設定2016/08/30(火) 09:28:21.06ID:AdsaidQG0>>798 スクリプトの神様有難うございます! お陰様でJEditにスペース区切りでペーストされました、が! 拡張子までペーストされてしまいます! 0800名称未設定2016/08/30(火) 09:37:45.71ID:+h0eq0WK0 ちょっとは自分で工夫しろよ 0801名称未設定2016/08/30(火) 10:32:40.56ID:XbvJ0yp10>>796 >拡張子を除きAという文字をBに置換後に