質問、発表どっちでもスレ。
■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。
■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.sourceforge.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ
1 http://pc11.2ch.net/test/read.cgi/mac/1174045850/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/
探検
AppleScript アップルスクリプト 質問、発表 6
レス数が1000を超えています。これ以上書き込みはできません。
1名称未設定
2013/12/21(土) 21:50:45.07ID:1PJJFexL02013/12/22(日) 05:43:56.73ID:5PKBbx/h0
('仄')パイパイ
3名称未設定
2013/12/22(日) 22:55:07.58ID:+aPbluVJ0 ここ数年まったく書いてないなAS
2013/12/27(金) 19:35:53.59ID:9xzAYkXqi
マベにてosascriptをセキュリティープライバシーに登録するのはどうやるのでしょう?
MLではできるkeystroke呼び出しが、マベでは動かないです。
MLではできるkeystroke呼び出しが、マベでは動かないです。
2013/12/27(金) 20:51:21.16ID:HgE/UmENi
>>4
一度試行すると実行するアプリが勝手にリストに出現するので、
そのチェックを入れる感じだったと思うが
ターミナルだったらまんまターミナルだし、
スクリプトメニューだとSystemUIServer
たまに何故かosascriptそのものが出てくることもあったがよくわからん
一度試行すると実行するアプリが勝手にリストに出現するので、
そのチェックを入れる感じだったと思うが
ターミナルだったらまんまターミナルだし、
スクリプトメニューだとSystemUIServer
たまに何故かosascriptそのものが出てくることもあったがよくわからん
6名称未設定
2013/12/30(月) 22:59:41.07ID:9WnN6qsy0 イベントログの履歴をテキストファイルに書き出すコマンドって存在しますか。
とある事情で完全にスクリプトを流したというエビデンスにしたいのです。
とある事情で完全にスクリプトを流したというエビデンスにしたいのです。
2013/12/31(火) 03:05:43.24ID:A6/iRGot0
イベントログってdo shell scriptとかしか表示されないよね
エビデンスが欲しいなら
動作ごとに各成功フラグを追加して最後にそれをテキストに書き出せば
エビデンスが欲しいなら
動作ごとに各成功フラグを追加して最後にそれをテキストに書き出せば
8名称未設定
2013/12/31(火) 10:06:45.81ID:w3RedxCD0 >>7
レスありがとう。
質問の仕方が悪かったのだが、実行するスクリプトは、とある文字列をユーザに入力させる。
その入力された文字列が履歴に残っているようなので、丸ごとテキストで書き出すことが出来ればと考えた。
レスありがとう。
質問の仕方が悪かったのだが、実行するスクリプトは、とある文字列をユーザに入力させる。
その入力された文字列が履歴に残っているようなので、丸ごとテキストで書き出すことが出来ればと考えた。
2014/01/02(木) 08:33:24.40ID:yEVH1Y6SP
osascriptで動かすとき、標準出力に文字出力するにはどうするのでしょうか?
10名称未設定
2014/01/02(木) 09:51:11.72ID:lE+LzJk20 実行ステータスとしてなら return (reutrn無しでまんまでもだけど)
実行中に逐一ならdo shell scriptでかなあ
実行中に逐一ならdo shell scriptでかなあ
11名称未設定
2014/01/02(木) 09:56:49.83ID:lE+LzJk20 /dev/stdoutをファイルとして開いてそれに書き込むってのもあるな
12名称未設定
2014/01/02(木) 10:31:11.84ID:sFgAgMLA0 script初めだ
display dialg "Happy New Year!!!"
今年もAppleScriptにとって良い年でありますように。
display dialg "Happy New Year!!!"
今年もAppleScriptにとって良い年でありますように。
13名称未設定
2014/01/02(木) 10:33:47.47ID:sFgAgMLA0 × dialg
○ dialog
なんてこったorz デバッグ初めもやっちまった。
○ dialog
なんてこったorz デバッグ初めもやっちまった。
14名称未設定
2014/01/02(木) 12:10:19.86ID:ipDSuQZK0 直前のスペースも全角だから注意w
15名称未設定
2014/01/06(月) 19:04:31.61ID:7CI/xVnp0 今年もよろしくお願いします。
applescriptでillustratorの行間を変更しようと試みていますが
以下たけうちさんのを参考にと思いillustratorライブラリをみていますがなかなか難しいですね。
ちなみにscriptは
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell paragraph 1
set justification to full justify last line left
--right以外にも下記の種類がある
--center/full justify/full justify last line center/
--full justify last line left/full justify last line right
--/left/right
end tell
end tell
end tell
end tell
これって行間の解説をみてみるとleadingというのに当てはまるようですがleadingに
leading (real) : the amount of space between two lines of text (in points)
とあります
(行間をつめたいけどできない)でやりたいのだがどなたかご教授ください。
applescriptでillustratorの行間を変更しようと試みていますが
以下たけうちさんのを参考にと思いillustratorライブラリをみていますがなかなか難しいですね。
ちなみにscriptは
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell paragraph 1
set justification to full justify last line left
--right以外にも下記の種類がある
--center/full justify/full justify last line center/
--full justify last line left/full justify last line right
--/left/right
end tell
end tell
end tell
end tell
これって行間の解説をみてみるとleadingというのに当てはまるようですがleadingに
leading (real) : the amount of space between two lines of text (in points)
とあります
(行間をつめたいけどできない)でやりたいのだがどなたかご教授ください。
16名称未設定
2014/01/06(月) 23:03:17.53ID:OUsnDFhy0 >>15
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell paragraph 1
set auto leading to false
set leading to 10 --単位はpt
end tell
end tell
end tell
end tell
とかになるよ。
数値適用する前に改行の自動をオフにしないとダメ。
paragraphを対象にしていると最終行が改行で終わっているとleadingに数値適用するとエラーとなるので
text frame全体に適用するにはevery paragraph(paragraphs)ではなくevery line(lines)で
tell text frame 1
set auto leading of lines to false
set leading of lines to 10
end tell
↑tell text frame外省略
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell paragraph 1
set auto leading to false
set leading to 10 --単位はpt
end tell
end tell
end tell
end tell
とかになるよ。
数値適用する前に改行の自動をオフにしないとダメ。
paragraphを対象にしていると最終行が改行で終わっているとleadingに数値適用するとエラーとなるので
text frame全体に適用するにはevery paragraph(paragraphs)ではなくevery line(lines)で
tell text frame 1
set auto leading of lines to false
set leading of lines to 10
end tell
↑tell text frame外省略
17名称未設定
2014/01/06(月) 23:49:20.98ID:7CI/xVnp0 >>16
どうもありがとうございました。m(_ _)m
set auto leading of lines to false
set leading of lines to 10
この辺りのやり方(文法みたいのがどこかにあると思いますが)がどうもわかりません。
leading (real) : the amount of space between two lines of text (in points)
から
auto leading こういう風な lines to false とか どう学べばそういう答えがでるのか不思議です。
applescriptは中学英語なみとかいわれているけどライブラリをみる限りチンプンカンプンですね。
set leading of lines to 10 なんか どうひねっても浮かんできませんね。(^^;)
でも行間の操作ができましたのでとても助かりました。本当にありがとうございました。感謝です!
どうもありがとうございました。m(_ _)m
set auto leading of lines to false
set leading of lines to 10
この辺りのやり方(文法みたいのがどこかにあると思いますが)がどうもわかりません。
leading (real) : the amount of space between two lines of text (in points)
から
auto leading こういう風な lines to false とか どう学べばそういう答えがでるのか不思議です。
applescriptは中学英語なみとかいわれているけどライブラリをみる限りチンプンカンプンですね。
set leading of lines to 10 なんか どうひねっても浮かんできませんね。(^^;)
でも行間の操作ができましたのでとても助かりました。本当にありがとうございました。感謝です!
18名称未設定
2014/01/07(火) 00:25:10.25ID:WILu6W1O0 >>17
>>16の最後の部分は
tell text frame 1
tell lines
set auto leading to false
set leading to 10
end tell
end tell
これと同じ。
ちょっと値代入するだけなのにtellでくくるのはめんどくさいので
set auto leading of lines to false
set leading of lines to 10
とした。
set leading of lines to 10
は優先される部分をあえてカッコでくくると
set (leading of lines) to 10
カッコ内の△△ of □□ってのは「□□の△△」って意味なので
lines(全ての行)のleading(行間)を10にするってこと。
実は↓これでもOK
set lines's leading to 10
auto leading
は最初スクリプト組んで実行してみたら行間変わらなかったので、
Illustratorの書類見たら改行が自動のままだった。
それから解説のlinesとかparagraphの項目みたら
PROPERTIESにauto leadingって項目があったからfalseにしてみたらうまくいったよ。
用語解説の
(real)は実数
(boolean)はtrueかfalse
他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
>>16の最後の部分は
tell text frame 1
tell lines
set auto leading to false
set leading to 10
end tell
end tell
これと同じ。
ちょっと値代入するだけなのにtellでくくるのはめんどくさいので
set auto leading of lines to false
set leading of lines to 10
とした。
set leading of lines to 10
は優先される部分をあえてカッコでくくると
set (leading of lines) to 10
カッコ内の△△ of □□ってのは「□□の△△」って意味なので
lines(全ての行)のleading(行間)を10にするってこと。
実は↓これでもOK
set lines's leading to 10
auto leading
は最初スクリプト組んで実行してみたら行間変わらなかったので、
Illustratorの書類見たら改行が自動のままだった。
それから解説のlinesとかparagraphの項目みたら
PROPERTIESにauto leadingって項目があったからfalseにしてみたらうまくいったよ。
用語解説の
(real)は実数
(boolean)はtrueかfalse
他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
19名称未設定
2014/01/07(火) 03:56:23.30ID:A9XxL9bQ0 あけましておめでとうございます。
早速質問なんですが。
変数名を出力する事は可能でしょうか?
例えばこうすると、
property test1 : {"x", "y", "z"}
property testItem : {{test1}, {2}, {3}}
set tmp1 to item 1 of item 1 of testItem
set tmp2 to item 2 of item 1 of item 1 of testItem
log tmp1 & "_" & tmp2 as text
出力は、
xyz_y
となりますが。
これを
test1_y
としたいです。
以下のようにリストの中に"test1"を追加する以外に方法はありますか?
property test1 : {"x", "y", "z"}
property testItem : {{test1, "test1"}, {2}, {3}}
set tmp1 to item 2 of item 1 of testItem
set tmp2 to item 2 of item 1 of item 1 of testItem
log tmp1 & "_" & tmp2 as text
早速質問なんですが。
変数名を出力する事は可能でしょうか?
例えばこうすると、
property test1 : {"x", "y", "z"}
property testItem : {{test1}, {2}, {3}}
set tmp1 to item 1 of item 1 of testItem
set tmp2 to item 2 of item 1 of item 1 of testItem
log tmp1 & "_" & tmp2 as text
出力は、
xyz_y
となりますが。
これを
test1_y
としたいです。
以下のようにリストの中に"test1"を追加する以外に方法はありますか?
property test1 : {"x", "y", "z"}
property testItem : {{test1, "test1"}, {2}, {3}}
set tmp1 to item 2 of item 1 of testItem
set tmp2 to item 2 of item 1 of item 1 of testItem
log tmp1 & "_" & tmp2 as text
20名称未設定
2014/01/07(火) 04:19:36.79ID:A9XxL9bQ0 失礼 アンパサンドの文字参照がダメなようで全角で
log tmp1 & "_" & tmp2 as text
は
log tmp1 & "_" & tmp2 as text
&を全角にしてます
log tmp1 & "_" & tmp2 as text
は
log tmp1 & "_" & tmp2 as text
&を全角にしてます
21名称未設定
2014/01/07(火) 12:17:10.13ID:pSl4+Q4s0 それってtestItemにtest1そのものではなくtest1の値を代入してるだけなんで、
変数名どーこー以前の問題ですわ
変数名どーこー以前の問題ですわ
22名称未設定
2014/01/07(火) 12:37:03.68ID:EjQxpbCu0 >>18
>用語解説の
>(real)は実数
>(boolean)はtrueかfalse
>他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
>r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
解説ありがとうございます。m(_ _)m
なるほどそういうことですか。
どころで全体の文章で行間を変えるには別な記述でしょうか?
現況の
>set auto leading of lines to false
>set leading of lines to 10
では
行間変更では改行がある前は行間ポイントが変更できますが
それ以降の行間は変更がなされないのは他に書き方があるのでしょうか?
>every line(lines)
と変更しても改行後の文には行間は及ぼしません。
どのような記述がよろしいでしょうか?
>用語解説の
>(real)は実数
>(boolean)はtrueかfalse
>他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
>r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
解説ありがとうございます。m(_ _)m
なるほどそういうことですか。
どころで全体の文章で行間を変えるには別な記述でしょうか?
現況の
>set auto leading of lines to false
>set leading of lines to 10
では
行間変更では改行がある前は行間ポイントが変更できますが
それ以降の行間は変更がなされないのは他に書き方があるのでしょうか?
>every line(lines)
と変更しても改行後の文には行間は及ぼしません。
どのような記述がよろしいでしょうか?
23名称未設定
2014/01/07(火) 12:38:02.99ID:EjQxpbCu0 >>18
>用語解説の
>(real)は実数
>(boolean)はtrueかfalse
>他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
>r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
解説ありがとうございます。m(_ _)m
なるほどそういうことですか。
どころで全体の文章で行間を変えるには別な記述でしょうか?
現況の
>set auto leading of lines to false
>set leading of lines to 10
では
行間変更では改行がある前は行間ポイントが変更できますが
それ以降の行間は変更がなされないのは他に書き方があるのでしょうか?
>every line(lines)
と変更しても改行後の文には行間は及ぼしません。
どのような記述がよろしいでしょうか?
>用語解説の
>(real)は実数
>(boolean)はtrueかfalse
>他にも色々あるけどそれぞれのプロパティの値は形式が決まっているから代入出来る値もそれに合わせないといけない。
>r/oって書いてあるのはread onlyの略で値を見ることは出来るけどスクリプト側で設定することは出来ないって事だよ。
解説ありがとうございます。m(_ _)m
なるほどそういうことですか。
どころで全体の文章で行間を変えるには別な記述でしょうか?
現況の
>set auto leading of lines to false
>set leading of lines to 10
では
行間変更では改行がある前は行間ポイントが変更できますが
それ以降の行間は変更がなされないのは他に書き方があるのでしょうか?
>every line(lines)
と変更しても改行後の文には行間は及ぼしません。
どのような記述がよろしいでしょうか?
24名称未設定
2014/01/07(火) 13:21:10.16ID:EjQxpbCu0 >23
自己解決しました。すみません m(_ _)m
>text frame全体に適用するにはevery paragraph(paragraphs)ではなくevery line(lines)で
text frame ←これの意味が分かりました。
ありがとうございました。
自己解決しました。すみません m(_ _)m
>text frame全体に適用するにはevery paragraph(paragraphs)ではなくevery line(lines)で
text frame ←これの意味が分かりました。
ありがとうございました。
25名称未設定
2014/01/07(火) 18:27:44.74ID:DaJojQA60 >>21
いやそれは、分かってるんです
変数の名前を取得する方法があれば教えてほしいのです。
分からなかったので、変数名と同じ名前をテキストでリストに入れて呼び出してたのですが、
それをしないでも、変数名が取得できれば楽だと思ったので、
無いのですかね?
いやそれは、分かってるんです
変数の名前を取得する方法があれば教えてほしいのです。
分からなかったので、変数名と同じ名前をテキストでリストに入れて呼び出してたのですが、
それをしないでも、変数名が取得できれば楽だと思ったので、
無いのですかね?
27名称未設定
2014/01/10(金) 19:08:15.63ID:+KoAXPC/0 Illustratorのオーバーフローの検出をしたいのですがネットで色々探ってみると
IllustratorのテキストフレームにはIndesignのようにoverflowプロパティがありません。
...paragraphとlineのキャラクタ数を比較すると表示されていないキャラクタの数を把握できる...
らしいのです。
で、たけうちとおるさんの「オーバーフローを調べる」を元に行間を自由に変更できないかと思い
色々模索しておりますがどうも詰まってしまいました。下記URL参照...頭にhを入れてください
ttp://www.adg7.com/takenote_b/2009/03/12.html
最初の行に
property i : 24 とりあえずトップに挿入する。行間24ptで固定
....
....
....display dialog "オーバーフロー:" のところに下記スクリプトを挿入した
....
tell application "Adobe Illustrator"
tell document 1
tell every text frame
tell every line
set auto leading of lines to false
repeat with i from 20 to i
set leading of lines to i
end repeat
end tell
end tell
end tell
のような感じに行間をテキストボックス内で自動的に収まるようにしたのだが思うようにいきません。
テキストボックスは固定してテキストが少なくても全体が均一になるよう自動行間、自動調整できないかと思案しています。
どなたかご教授よろしくお願いします。
IllustratorのテキストフレームにはIndesignのようにoverflowプロパティがありません。
...paragraphとlineのキャラクタ数を比較すると表示されていないキャラクタの数を把握できる...
らしいのです。
で、たけうちとおるさんの「オーバーフローを調べる」を元に行間を自由に変更できないかと思い
色々模索しておりますがどうも詰まってしまいました。下記URL参照...頭にhを入れてください
ttp://www.adg7.com/takenote_b/2009/03/12.html
最初の行に
property i : 24 とりあえずトップに挿入する。行間24ptで固定
....
....
....display dialog "オーバーフロー:" のところに下記スクリプトを挿入した
....
tell application "Adobe Illustrator"
tell document 1
tell every text frame
tell every line
set auto leading of lines to false
repeat with i from 20 to i
set leading of lines to i
end repeat
end tell
end tell
end tell
のような感じに行間をテキストボックス内で自動的に収まるようにしたのだが思うようにいきません。
テキストボックスは固定してテキストが少なくても全体が均一になるよう自動行間、自動調整できないかと思案しています。
どなたかご教授よろしくお願いします。
28名称未設定
2014/01/11(土) 01:25:24.03ID:bFFRZv4H0 repeat with i from 20 to i
普通こんな記述はしない。
行間の初期値は該当するtext frameから読み取った方が良いし
目的のtext frameがtext frame 1で全行同じ行間であれば
tell document 1の後に
set defLeading to leading of character 1 of text frame 1
1文字目の行間を取得で十分
オーバーフローしてるテキストボックスをの行間を詰めるにしても
行間を少しずつ(例えば0.1ptずつとか)「減らす」記述にしないとダメ。
repeat with i from defLeading to 0 by -0.1
減らす毎に文字がオーバーフローしていないかチェックして
文字が収まったらexit repeatっていう処理が必要
tell every text frame
の辺りも全部のテキストフレームに一括で同じ処理する場合のみ使う。
というかあなたにそのスクリプトはちょっと難しすぎる。このまま進むのは危ない。
ハンドラ(サブルーチン・関数)の使い方も分からないでしょ?
on overflow(tFrame)
…
end overflow
の部分
まずAppleScriptの基本というか
スクリプトそのものの基本から(Web用のJavascriptでも良いので)勉強した方が良い。
どうしてもApplescriptでって事なら入門書をどうにかして入手して
最初から本の通りにスクリプト入力して実行してはちょっといじって確認して…
みたいなことを繰り返しながら全部通しでやるのが良い。
普通こんな記述はしない。
行間の初期値は該当するtext frameから読み取った方が良いし
目的のtext frameがtext frame 1で全行同じ行間であれば
tell document 1の後に
set defLeading to leading of character 1 of text frame 1
1文字目の行間を取得で十分
オーバーフローしてるテキストボックスをの行間を詰めるにしても
行間を少しずつ(例えば0.1ptずつとか)「減らす」記述にしないとダメ。
repeat with i from defLeading to 0 by -0.1
減らす毎に文字がオーバーフローしていないかチェックして
文字が収まったらexit repeatっていう処理が必要
tell every text frame
の辺りも全部のテキストフレームに一括で同じ処理する場合のみ使う。
というかあなたにそのスクリプトはちょっと難しすぎる。このまま進むのは危ない。
ハンドラ(サブルーチン・関数)の使い方も分からないでしょ?
on overflow(tFrame)
…
end overflow
の部分
まずAppleScriptの基本というか
スクリプトそのものの基本から(Web用のJavascriptでも良いので)勉強した方が良い。
どうしてもApplescriptでって事なら入門書をどうにかして入手して
最初から本の通りにスクリプト入力して実行してはちょっといじって確認して…
みたいなことを繰り返しながら全部通しでやるのが良い。
29名称未設定
2014/01/11(土) 10:18:55.69ID:kmKDcWFPP 初心者にイラレほかアドビの主戦級ってけっこう厳しいと思うですの。本当に必要性があれば書くけれど、
私の戦場ではいまだにその需要がない。たぶんイラレで自由自在にスクリプト書ければ黒帯でしょう。
松の内明けちゃいましたが、今年もともに戦いましょう。
私の戦場ではいまだにその需要がない。たぶんイラレで自由自在にスクリプト書ければ黒帯でしょう。
松の内明けちゃいましたが、今年もともに戦いましょう。
30名称未設定
2014/01/11(土) 11:54:53.96ID:QDclpEY40 >28
ご教授ありがとうございました。m(_ _)m
>ハンドラ(サブルーチン・関数)の使い方も分からないでしょ?
おっしゃる通りです。使い方がわかりません。
でもillustratorでの行間を自由に変更できないかを模索しています。
勉強不足はわかっているつもりですがAppleScriptをネットなどで調べたりしています。
また、こばやしゆたかさんのAppleScriptリファレンスを持っていますが今のillustrator対応ではありません。
勉強するしか方法はないのでしょうがその方法が多分的外れであるのは承知しています。
それでプロの方からみるとチンプンカンプンだというのも承知の上で恥をしのいで投稿させてもらっています。
仕事上同じ繰り返しなどが多く変更もいちいち手で修正がありすぎてなんとか自動化できるところは自動化したい
そういう思いです。
ご教授ありがとうございました。m(_ _)m
>ハンドラ(サブルーチン・関数)の使い方も分からないでしょ?
おっしゃる通りです。使い方がわかりません。
でもillustratorでの行間を自由に変更できないかを模索しています。
勉強不足はわかっているつもりですがAppleScriptをネットなどで調べたりしています。
また、こばやしゆたかさんのAppleScriptリファレンスを持っていますが今のillustrator対応ではありません。
勉強するしか方法はないのでしょうがその方法が多分的外れであるのは承知しています。
それでプロの方からみるとチンプンカンプンだというのも承知の上で恥をしのいで投稿させてもらっています。
仕事上同じ繰り返しなどが多く変更もいちいち手で修正がありすぎてなんとか自動化できるところは自動化したい
そういう思いです。
31名称未設定
2014/01/11(土) 17:47:10.22ID:kmKDcWFPP >>30
ハンドラ
パラメーターは違うけど似たような処理を何度もすることがプログラムにはよくある。
そういうとき、毎回コードを書いてもいいけど、コードがぐちゃぐちゃになる。
だからそういう部分をサブルーチンとしてくくり出して何度も再利用する。これがハンドラ。
そうやってハンドラを部品として沢山作って組み合わせる、というのが基本です。
いきなり核兵器作ろうと思っても作れないの。石つぶての投げ方、ナイフ、弓、銃、ロケット、原子力。
、、、、、いろいろ分かってやっと目的のものが作れるのね。ハンドラはそう、黒曜石で作った
弓矢のやじりくらいではないかと。たぶんあなたが作りたいのは銃くらいのレベルでしょう。
一生懸命やって2か月コースかな。あたしゃそこまでいくのに2年くらいかかってる気がする。
一歩ずつ進むには問題の切り分けが大切。
なにを言ってるかわかんねーと思いますが、ご武運を祈ります。
初心者が一発書きでコードが動いたら、その人すごすぎるよ。
お金払うからいろいろコード書いて欲しいです。
ハンドラ
パラメーターは違うけど似たような処理を何度もすることがプログラムにはよくある。
そういうとき、毎回コードを書いてもいいけど、コードがぐちゃぐちゃになる。
だからそういう部分をサブルーチンとしてくくり出して何度も再利用する。これがハンドラ。
そうやってハンドラを部品として沢山作って組み合わせる、というのが基本です。
いきなり核兵器作ろうと思っても作れないの。石つぶての投げ方、ナイフ、弓、銃、ロケット、原子力。
、、、、、いろいろ分かってやっと目的のものが作れるのね。ハンドラはそう、黒曜石で作った
弓矢のやじりくらいではないかと。たぶんあなたが作りたいのは銃くらいのレベルでしょう。
一生懸命やって2か月コースかな。あたしゃそこまでいくのに2年くらいかかってる気がする。
一歩ずつ進むには問題の切り分けが大切。
なにを言ってるかわかんねーと思いますが、ご武運を祈ります。
初心者が一発書きでコードが動いたら、その人すごすぎるよ。
お金払うからいろいろコード書いて欲しいです。
32名称未設定
2014/01/11(土) 19:29:50.94ID:QDclpEY40 >31
励ましていただき感謝です。
>一歩ずつ進むには問題の切り分けが大切。
今いろいろなスクリプトを見ています。
その中の働きを自分ながら勉強しています。
的外れ的な質問も多々あるかもしれません
そうのような私に救いの手を差し伸べてくださる皆様には感謝いたしております。m(_ _)m
励ましていただき感謝です。
>一歩ずつ進むには問題の切り分けが大切。
今いろいろなスクリプトを見ています。
その中の働きを自分ながら勉強しています。
的外れ的な質問も多々あるかもしれません
そうのような私に救いの手を差し伸べてくださる皆様には感謝いたしております。m(_ _)m
33名称未設定
2014/01/11(土) 23:12:54.53ID:QDclpEY40 なんとか本文を自動行間にする事はできました。皆様ありがとうございました。m(_ _)m
たけうちとおるさんのハンドラを利用してオーバーフローしたテキストに行間を計算させて
必要なテキストボックスのオーバーフローの分を自動計算させる事にこぎ着けました。
まだ改善の余地はありますがなんとか思惑通りになりほっとしています。
今のところ別textframeの行間も一緒に動いているようなので指定したtext frameだけの行間を調整できるようにしたいと思います。
アドバイスありがとうございました。引き続きご教授賜りますようお願いいたします。
たけうちとおるさんのハンドラを利用してオーバーフローしたテキストに行間を計算させて
必要なテキストボックスのオーバーフローの分を自動計算させる事にこぎ着けました。
まだ改善の余地はありますがなんとか思惑通りになりほっとしています。
今のところ別textframeの行間も一緒に動いているようなので指定したtext frameだけの行間を調整できるようにしたいと思います。
アドバイスありがとうございました。引き続きご教授賜りますようお願いいたします。
34名称未設定
2014/01/11(土) 23:13:33.10ID:QDclpEY40 tell application "Adobe Illustrator"
tell document 1 -- ← every document にすると全体のテキストにスクリプトが動くのであえてDocument1にしています
--set defLeading to leading of character 1 of text frame 1
set defLeading to "20" -- ←本文の行間を固定しています。ここは書類に応じて変更したりします。
repeat with tFrame in every text frame
if kind of tFrame is {area text} then
if my overflow(tFrame) then
--display dialog "オーバーフロー:" & contents of tFrame ←ここでオーバーフローしたテキストが抽出されますのでこれを利用しました。
tell every text frame
tell every line
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set auto leading of lines to false
set leading of lines to defLeading
end repeat
end tell
end tell
end if
end if
end repeat
end tell
end tell
tell document 1 -- ← every document にすると全体のテキストにスクリプトが動くのであえてDocument1にしています
--set defLeading to leading of character 1 of text frame 1
set defLeading to "20" -- ←本文の行間を固定しています。ここは書類に応じて変更したりします。
repeat with tFrame in every text frame
if kind of tFrame is {area text} then
if my overflow(tFrame) then
--display dialog "オーバーフロー:" & contents of tFrame ←ここでオーバーフローしたテキストが抽出されますのでこれを利用しました。
tell every text frame
tell every line
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set auto leading of lines to false
set leading of lines to defLeading
end repeat
end tell
end tell
end if
end if
end repeat
end tell
end tell
35名称未設定
2014/01/11(土) 23:14:36.55ID:QDclpEY40 ハンドラはたけうちとおるさんのを参照しています
on overflow(tFrame)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ""
tell application "Adobe Illustrator"
set myLastP to (contents of every paragraph of tFrame) as string
set myLastL to (contents of every line of tFrame) as string
set AppleScript's text item delimiters to OriginalDelimiters
if myLastP is not myLastL then
set AppleScript's text item delimiters to OriginalDelimiters
return true
else
set AppleScript's text item delimiters to OriginalDelimiters
return false
end if
end tell
end overflow
on overflow(tFrame)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ""
tell application "Adobe Illustrator"
set myLastP to (contents of every paragraph of tFrame) as string
set myLastL to (contents of every line of tFrame) as string
set AppleScript's text item delimiters to OriginalDelimiters
if myLastP is not myLastL then
set AppleScript's text item delimiters to OriginalDelimiters
return true
else
set AppleScript's text item delimiters to OriginalDelimiters
return false
end if
end tell
end overflow
36名称未設定
2014/01/11(土) 23:27:23.61ID:bFFRZv4H0 とりあえずユーザー定義ハンドラの使い方の例
set theText to "あいうえお"
set startCount to 1
set endCount to 2
my textMask(theText, startCount, endCount)
set aaa to "かきくけこ"
set bbb to 2
set ccc to 4
my textMask(aaa, bbb, ccc)
my textMask("さしすせそたちつてと", 5, -1)
on textMask(theText, startCount, endCount)
set resultText to text startCount thru endCount of theText
set startCountText to my minusCheck(startCount)
set endCountText to my minusCheck(endCount)
display dialog "テキスト「" & theText & "」の" & startCountText & "文字目〜" & endCountText & "文字目までは「" & resultText & "」です"
end textMask
on minusCheck(theCount)
if theCount < 0 then
return "最後から" & (-theCount as Unicode text)
else
return theCount as Unicode text
end if
end minusCheck
あー何か勉強し始めた頃を思い出したよ。
最初ハンドラ内の変数名と呼び出し側の変数名が違って大丈夫なの?とか思ってた。
set theText to "あいうえお"
set startCount to 1
set endCount to 2
my textMask(theText, startCount, endCount)
set aaa to "かきくけこ"
set bbb to 2
set ccc to 4
my textMask(aaa, bbb, ccc)
my textMask("さしすせそたちつてと", 5, -1)
on textMask(theText, startCount, endCount)
set resultText to text startCount thru endCount of theText
set startCountText to my minusCheck(startCount)
set endCountText to my minusCheck(endCount)
display dialog "テキスト「" & theText & "」の" & startCountText & "文字目〜" & endCountText & "文字目までは「" & resultText & "」です"
end textMask
on minusCheck(theCount)
if theCount < 0 then
return "最後から" & (-theCount as Unicode text)
else
return theCount as Unicode text
end if
end minusCheck
あー何か勉強し始めた頃を思い出したよ。
最初ハンドラ内の変数名と呼び出し側の変数名が違って大丈夫なの?とか思ってた。
37名称未設定
2014/01/11(土) 23:30:57.28ID:bFFRZv4H038名称未設定
2014/01/11(土) 23:33:03.24ID:QDclpEY40 追伸
tell text frame 1~18ぐらいの範囲でtext frameが指定できるようです。
ありがとうございます。m(_ _)m
tell text frame 1~18ぐらいの範囲でtext frameが指定できるようです。
ありがとうございます。m(_ _)m
39名称未設定
2014/01/11(土) 23:34:54.02ID:QDclpEY40 >34
>>tell tFrame
>で良いよ
ありがとうございます。m(_ _)m
>>tell tFrame
>で良いよ
ありがとうございます。m(_ _)m
40名称未設定
2014/01/11(土) 23:37:42.10ID:QDclpEY40 >36
>ユーザー定義ハンドラの使い方の例
ありがとうございます。m(__)m
参考にさせていただきます。
>ユーザー定義ハンドラの使い方の例
ありがとうございます。m(__)m
参考にさせていただきます。
41名称未設定
2014/01/11(土) 23:39:53.28ID:bFFRZv4H0 >>34
>set defLeading to "20"
set defLeading to 20
にしないと数値として扱えないんじゃないかな?
>repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
>set auto leading of lines to false
>set leading of lines to defLeading
>end repeat
これだと行間0になるまで止まらない気がするよ。(実際は0になったとこでIllustrator側でエラー返すと思うけど)
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set auto leading of lines to false
set leading of lines to defLeading
if not my overflow(tFrame) then
exit repeat
end if
end repeat
>set defLeading to "20"
set defLeading to 20
にしないと数値として扱えないんじゃないかな?
>repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
>set auto leading of lines to false
>set leading of lines to defLeading
>end repeat
これだと行間0になるまで止まらない気がするよ。(実際は0になったとこでIllustrator側でエラー返すと思うけど)
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set auto leading of lines to false
set leading of lines to defLeading
if not my overflow(tFrame) then
exit repeat
end if
end repeat
42名称未設定
2014/01/11(土) 23:54:58.99ID:QDclpEY40 >41
ありがとうございます。m(_ _)m
>数値として扱えないんじゃないかな?
なんとなく動いているようです。(^^;)
>これだと行間0になるまで止まらない気がするよ。(実際は0になったとこでIllustrator側でエラー返すと思うけど)
------返された値
計算が続いて......
set auto leading of every line of every line of every text frame of document 1 to false
set leading of every line of every line of every text frame of document 1 to "22"
get kind of item 7 of every text frame of document 1
--> {point text}
計算が続いて......
get kind of item 18 of every text frame of document 1
--> {point text}
end tell
で、終了してます。エラーは出ていません。
ありがとうございます。m(_ _)m
>数値として扱えないんじゃないかな?
なんとなく動いているようです。(^^;)
>これだと行間0になるまで止まらない気がするよ。(実際は0になったとこでIllustrator側でエラー返すと思うけど)
------返された値
計算が続いて......
set auto leading of every line of every line of every text frame of document 1 to false
set leading of every line of every line of every text frame of document 1 to "22"
get kind of item 7 of every text frame of document 1
--> {point text}
計算が続いて......
get kind of item 18 of every text frame of document 1
--> {point text}
end tell
で、終了してます。エラーは出ていません。
43名称未設定
2014/01/11(土) 23:59:00.58ID:QDclpEY40 ちなみに環境は
osx 10.9.1
Applescript 2.6
illustrator CC
です
osx 10.9.1
Applescript 2.6
illustrator CC
です
44名称未設定
2014/01/12(日) 00:04:37.80ID:4upz722c0 >41
>repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
>set auto leading of lines to false
>set leading of lines to defLeading
>if not my overflow(tFrame) then
>exit repeat
>end if
>end repeat
これだと以下の部分がなくなりました
ーーーーーーー返された値
set auto leading of every line of every line of every text frame of document 1 to false
set leading of every line of every line of every text frame of document 1 to "22"
get kind of item 7 of every text frame of document 1
--> {point text}
------------------返された値 この部分が残りました
get kind of item 18 of every text frame of document 1
--> {point text}
end tell
>repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
>set auto leading of lines to false
>set leading of lines to defLeading
>if not my overflow(tFrame) then
>exit repeat
>end if
>end repeat
これだと以下の部分がなくなりました
ーーーーーーー返された値
set auto leading of every line of every line of every text frame of document 1 to false
set leading of every line of every line of every text frame of document 1 to "22"
get kind of item 7 of every text frame of document 1
--> {point text}
------------------返された値 この部分が残りました
get kind of item 18 of every text frame of document 1
--> {point text}
end tell
45名称未設定
2014/01/12(日) 00:23:03.89ID:yPrbZhDQ0 >>44
>>37の部分は修正してる?
18番目のテキストフレームの種類が{point text}(エリアテキストではなく普通に打ち込んだテキスト)って事だけど
あと
set auto leading of lines to false
は1回実行すれば大丈夫なのでrepeatの外でOKだったのと
さらに一つ見逃してた。
repeatでiを変動させて行間変えないと行けないのにdefLeading設定しちゃってる。
>set leading of lines to defLeading
は
set leading of lines to i
で
set auto leading of lines to false
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set leading of lines to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
>>37の部分は修正してる?
18番目のテキストフレームの種類が{point text}(エリアテキストではなく普通に打ち込んだテキスト)って事だけど
あと
set auto leading of lines to false
は1回実行すれば大丈夫なのでrepeatの外でOKだったのと
さらに一つ見逃してた。
repeatでiを変動させて行間変えないと行けないのにdefLeading設定しちゃってる。
>set leading of lines to defLeading
は
set leading of lines to i
で
set auto leading of lines to false
repeat with i from defLeading to 0 by -1 ←ここで行間を縮めています
set leading of lines to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
46名称未設定
2014/01/12(日) 01:14:51.44ID:yPrbZhDQ0 あー何度もごめん。
set leading of lines to i
だとエリアに収まってる部分しか行間変えてくれないから
paragraph指定するしかないのか。
set auto leading to falseとか
最後が改行で終わってるとエラーになるからIllustratorの書類側で気を使わないといけないかも。
最初から自動行間になっていない事前提なのと最後が改行で終わっていないというのが条件
tell tFrame
tell every paragraph
repeat with i from defLeading to 0 by -1
set leading to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
end tell
end tell
set leading of lines to i
だとエリアに収まってる部分しか行間変えてくれないから
paragraph指定するしかないのか。
set auto leading to falseとか
最後が改行で終わってるとエラーになるからIllustratorの書類側で気を使わないといけないかも。
最初から自動行間になっていない事前提なのと最後が改行で終わっていないというのが条件
tell tFrame
tell every paragraph
repeat with i from defLeading to 0 by -1
set leading to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
end tell
end tell
47名称未設定
2014/01/12(日) 01:20:17.06ID:yPrbZhDQ0 あ、やっぱダメだ…
エリア外のparagraphに対してleadingの設定ができなさそう。
エリア外のparagraphに対してleadingの設定ができなさそう。
48名称未設定
2014/01/12(日) 10:47:12.63ID:od5l1ettP ウザすぎ。ここは手取り足取り教える場所じゃねーんだよ。よそでやれ。
49名称未設定
2014/01/12(日) 10:49:19.47ID:od5l1ettP 書き忘れた。やるならここ見てるいろんな人に還元しながらやれ。それなら歓迎。
50名称未設定
2014/01/12(日) 22:23:31.18ID:4upz722c0 >46さん
いろいろありがとうございます。m(_ _)m
結局下記のような記述で自動行間を整える事にしました。
ご指摘の
>set leading of lines to i
に変更して起動したところとりあえずエラーもなくできています。
>48さん
ご立腹されているようで申し訳ありませんね。気にお障りならお詫びいたします。m(_ _)m
それから
>やるならここ見てるいろんな人に還元しながらやれ。
おっしゃる通りです。皆様とともに学びを通してapplescriptでの可能性を見てみたいと思っています。今後ともよろしくお願いします。
いろいろありがとうございます。m(_ _)m
結局下記のような記述で自動行間を整える事にしました。
ご指摘の
>set leading of lines to i
に変更して起動したところとりあえずエラーもなくできています。
>48さん
ご立腹されているようで申し訳ありませんね。気にお障りならお詫びいたします。m(_ _)m
それから
>やるならここ見てるいろんな人に還元しながらやれ。
おっしゃる通りです。皆様とともに学びを通してapplescriptでの可能性を見てみたいと思っています。今後ともよろしくお願いします。
51名称未設定
2014/01/12(日) 22:26:26.36ID:4upz722c0 行間を自動にてつめるスクリプトですが改良の余地がまだたくさんあるようです。
個人的にはこのスクリプトで自分が自分が目指していたのができとても喜んでいます。
下記に教えてくださった皆様のscriptを元に利用しているapplescriptです。
tell application "Adobe Illustrator"
tell document 1 -- ← every document にすると全体のテキストにかかるようであえてDocument1にします
--set defLeading to leading of character 1 of text frame 1
set defLeading to "24" -- ←本文の行間を固定しています
repeat with tFrame in every text frame
if kind of tFrame is {area text} then
if my overflow(tFrame) then
--display dialog "オーバーフロー:" & contents of tFrame
tell text frame 6
tell every line
repeat with i from defLeading to 0 by -1
set auto leading of lines to false
set leading of lines to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
end tell
end tell
end if
end if
end repeat
end tell
end tell
個人的にはこのスクリプトで自分が自分が目指していたのができとても喜んでいます。
下記に教えてくださった皆様のscriptを元に利用しているapplescriptです。
tell application "Adobe Illustrator"
tell document 1 -- ← every document にすると全体のテキストにかかるようであえてDocument1にします
--set defLeading to leading of character 1 of text frame 1
set defLeading to "24" -- ←本文の行間を固定しています
repeat with tFrame in every text frame
if kind of tFrame is {area text} then
if my overflow(tFrame) then
--display dialog "オーバーフロー:" & contents of tFrame
tell text frame 6
tell every line
repeat with i from defLeading to 0 by -1
set auto leading of lines to false
set leading of lines to i
if not my overflow(tFrame) then
exit repeat
end if
end repeat
end tell
end tell
end if
end if
end repeat
end tell
end tell
52名称未設定
2014/01/12(日) 22:27:20.26ID:4upz722c0 たけうちとおるさんのハンドラをそのまま利用しています。
on overflow(tFrame)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ""
tell application "Adobe Illustrator"
set myLastP to (contents of every paragraph of tFrame) as string
set myLastL to (contents of every line of tFrame) as string
set AppleScript's text item delimiters to OriginalDelimiters
if myLastP is not myLastL then
set AppleScript's text item delimiters to OriginalDelimiters
return true
else
set AppleScript's text item delimiters to OriginalDelimiters
return false
end if
end tell
end overflow
on overflow(tFrame)
set OriginalDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to ""
tell application "Adobe Illustrator"
set myLastP to (contents of every paragraph of tFrame) as string
set myLastL to (contents of every line of tFrame) as string
set AppleScript's text item delimiters to OriginalDelimiters
if myLastP is not myLastL then
set AppleScript's text item delimiters to OriginalDelimiters
return true
else
set AppleScript's text item delimiters to OriginalDelimiters
return false
end if
end tell
end overflow
53名称未設定
2014/01/13(月) 03:11:37.98ID:Sx62P48w0 do shell scriptを何度も繰り返しているのだけど、shellコマンドを入力する度に別のターミナルが開いてしまう。
tell application "Terminal"
do script with command "hoge"
do script with command "hoge2"
end tell
hogeとhoge2のコマンドを一つのターミナルウィンドウで処理させる事ってできますか?
tell application "Terminal"
do script with command "hoge"
do script with command "hoge2"
end tell
hogeとhoge2のコマンドを一つのターミナルウィンドウで処理させる事ってできますか?
54名称未設定
2014/01/13(月) 03:29:47.81ID:XwnsQAAS0 コピペで動くんじゃないか
55名称未設定
2014/01/13(月) 04:10:03.05ID:VPcx8yeO0 >>53
--ただ続けて実行したいだけなら
tell application "Terminal"
do script "hoge; hoge2"
end tell
--do scriptの戻りが実行されたtabなのでそれを使うパターン
tell application "Terminal"
do script "hoge"
do script "hoge2" in result
end tell
とりあえずdo shell scriptとTerminalのdo scriptが別物ってのは覚えとけ
ちなみに前者はdo shell scriptでも使える方法
--ただ続けて実行したいだけなら
tell application "Terminal"
do script "hoge; hoge2"
end tell
--do scriptの戻りが実行されたtabなのでそれを使うパターン
tell application "Terminal"
do script "hoge"
do script "hoge2" in result
end tell
とりあえずdo shell scriptとTerminalのdo scriptが別物ってのは覚えとけ
ちなみに前者はdo shell scriptでも使える方法
56名称未設定
2014/01/13(月) 08:43:43.11ID:Wpl4bEnlP >>53
どういう理屈でアプリケーションを操作する仕組みか考えるといい。
Terminalはshellコマンドを実行するアプリではなく、PCをターミナルウインドウで
操作するアプリ。だからillustratorでパスとかオブジェクトを操作するのと同様、
操作する対象を「tell」などで明確にして実行することが大切。
その例だとアプリ本体に実行を指示しているだけなのでそんな結果になる。
過去にもその話、あったよ。
どういう理屈でアプリケーションを操作する仕組みか考えるといい。
Terminalはshellコマンドを実行するアプリではなく、PCをターミナルウインドウで
操作するアプリ。だからillustratorでパスとかオブジェクトを操作するのと同様、
操作する対象を「tell」などで明確にして実行することが大切。
その例だとアプリ本体に実行を指示しているだけなのでそんな結果になる。
過去にもその話、あったよ。
57名称未設定
2014/01/14(火) 16:18:00.69ID:VipRDOQb0 Illustratorのテキスト書体変更でエラーがでました。
どなたかご教授ください。
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
set properties of every paragraph of text frame 1 in document 1 to {text font:"Osaka"}
end tell
end tell
end tell
どなたかご教授ください。
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
set properties of every paragraph of text frame 1 in document 1 to {text font:"Osaka"}
end tell
end tell
end tell
58名称未設定
2014/01/14(火) 21:10:07.61ID:ZXykgTnJ059名称未設定
2014/01/14(火) 22:03:45.56ID:VipRDOQb0 >58
これでいいの?
set setStr to "サンプルテキスト"
set X to 10
set Y to 10
set setStr to setStr as string
set X to X as real
set Y to Y as real
set pt to 2.83
set X to X * pt
set Y to Y * pt
tell application "Adobe Illustrator"
set placedRef to make new text frame in document 1 with properties {contents:setStr, position:{X, Y}}
set properties of every paragraph of text frame 1 in document 1 to {size:8.5, fill color:{class:CMYK color info, black:100, cyan:0, magenta:0, yellow:0}, text font:"ShinGo-Bold-83pv-RKSJ-H"}
end tell
これでいいの?
set setStr to "サンプルテキスト"
set X to 10
set Y to 10
set setStr to setStr as string
set X to X as real
set Y to Y as real
set pt to 2.83
set X to X * pt
set Y to Y * pt
tell application "Adobe Illustrator"
set placedRef to make new text frame in document 1 with properties {contents:setStr, position:{X, Y}}
set properties of every paragraph of text frame 1 in document 1 to {size:8.5, fill color:{class:CMYK color info, black:100, cyan:0, magenta:0, yellow:0}, text font:"ShinGo-Bold-83pv-RKSJ-H"}
end tell
60名称未設定
2014/01/14(火) 22:57:38.60ID:VipRDOQb0 >58
それともこれかな?
tell application "Adobe Illustrator"
set docRef to make new document with properties {color space:CMYK}
set romanText to "日本語書体変換"
set newText to romanText
set textRef to make new text frame in docRef with properties {position:{100, 200}, contents:newText}
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
set kerning method of charStyle to metricsromanonly
set properties of every paragraph of text frame 1 in document 1 to {size:48}
set cmykColor to {cyan:50, magenta:20, yellow:10, black:5}
set fill color of charStyle to cmykColor
apply character style charStyle to text of textRef
end tell
それともこれかな?
tell application "Adobe Illustrator"
set docRef to make new document with properties {color space:CMYK}
set romanText to "日本語書体変換"
set newText to romanText
set textRef to make new text frame in docRef with properties {position:{100, 200}, contents:newText}
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
set kerning method of charStyle to metricsromanonly
set properties of every paragraph of text frame 1 in document 1 to {size:48}
set cmykColor to {cyan:50, magenta:20, yellow:10, black:5}
set fill color of charStyle to cmykColor
apply character style charStyle to text of textRef
end tell
61名称未設定
2014/01/14(火) 23:30:19.11ID:VipRDOQb0 >58
>だとしたら成長の跡が見られない。
あんたはどれだけえらい人なんだね。はじめはみんな素人ではないの?
ほんとはプログラムも大してくめないのではないの? ちょっとだけプログラムが組めるっていう人は鼻が偉〜い高くなるのさ。
本当のプログラマーは相手に教えるだけの力量と親切丁寧に教える人をさすんだ。
そういう玉の小さい人からは教えを請いたいとは思わなんだ。あとで偉い請求書まわされてしまうからね。(笑
馬鹿にするのは大概にしなさい。あ〜出し惜しみかいな。そうだね肝っ玉の小ささに笑ってしまいますね。
もっとおおらかに教える事はできないのですか? まぁあなたの勝手ですけどね。
素人が玄人に追いつくのに何年という時間をかけるのは昔の話だよ
今頃
>tellとはなんぞやからやり直した方が良い。
とは時代遅れの考え方だね。
AppleScriptで何ができてどういう使い方ができるか。ただ単にパソコンの前で自己満足するのが自慢なようだな58さん。
もっと大きく物事はみないとな。アリが這いつくばって餌を集めるより鳥になって自由に飛ぶ事を教え合うのがいいってものよ。(笑
>だとしたら成長の跡が見られない。
あんたはどれだけえらい人なんだね。はじめはみんな素人ではないの?
ほんとはプログラムも大してくめないのではないの? ちょっとだけプログラムが組めるっていう人は鼻が偉〜い高くなるのさ。
本当のプログラマーは相手に教えるだけの力量と親切丁寧に教える人をさすんだ。
そういう玉の小さい人からは教えを請いたいとは思わなんだ。あとで偉い請求書まわされてしまうからね。(笑
馬鹿にするのは大概にしなさい。あ〜出し惜しみかいな。そうだね肝っ玉の小ささに笑ってしまいますね。
もっとおおらかに教える事はできないのですか? まぁあなたの勝手ですけどね。
素人が玄人に追いつくのに何年という時間をかけるのは昔の話だよ
今頃
>tellとはなんぞやからやり直した方が良い。
とは時代遅れの考え方だね。
AppleScriptで何ができてどういう使い方ができるか。ただ単にパソコンの前で自己満足するのが自慢なようだな58さん。
もっと大きく物事はみないとな。アリが這いつくばって餌を集めるより鳥になって自由に飛ぶ事を教え合うのがいいってものよ。(笑
62名称未設定
2014/01/15(水) 00:17:20.17ID:BLw1nVYH0 凄いね
63名称未設定
2014/01/15(水) 00:25:21.78ID:a7YA5/rX0 なんだかよくわからないなあw
64名称未設定
2014/01/15(水) 11:16:06.94ID:/LtsrHqK0 技術があってもリストラされ能力はあっていも生かしきれない。
そこは貧乏人の集まるところ。
お互い牽制し合って生きているところ。
あ〜さもしい生き方に疲れていませんか。
ドングリの背比べで自分が大将だと思っている。
出る杭は今のうちに叩きのめそう。
村社会を保持しよう。
時代遅れを感じていない。
なんだかよくわからないと宣う輩。
あなたの未来はモグラの生き方。一生日の目を見ない。う〜ん 残念。
そこは貧乏人の集まるところ。
お互い牽制し合って生きているところ。
あ〜さもしい生き方に疲れていませんか。
ドングリの背比べで自分が大将だと思っている。
出る杭は今のうちに叩きのめそう。
村社会を保持しよう。
時代遅れを感じていない。
なんだかよくわからないと宣う輩。
あなたの未来はモグラの生き方。一生日の目を見ない。う〜ん 残念。
65名称未設定
2014/01/15(水) 11:35:17.84ID:/LtsrHqK0 人工頭脳をApplescriptで作れるなら認めてあげよう。
ゲーマーがゲームを作った人に俺が偉いんだよという人に似ている。
所詮、AppleScriptは日本人が作ってはいないが日本人は「おれはあんたよりうまくプログラムが組めるよ」という
ならAppleScriptでつくった自動ロボットを作った方がよい。マックではそれができるんだよ。Windowsでのだきるさ
だがマックの環境はwinよりもっと簡単に仕上がる。
君らの頭脳で受付から製品製造までAppleScriptで組めるか? むりだろうな。
Illustratorで版下を作成できるか? 無理だろう。仕事の内容を理解してないからな。
できた版下を相手にPDFで校正する機能を作れるか? 手動ならできるような。だが全て自動化では無理だね。
作業効率を重視した流れを作れるか? 仕事が何なのかわからんから無理だね。
最後に納品書を自動で書き出せるか それは経理がわからんから無理だね。
業務の流れを全て把握しているのか それは社長のする仕事だからわからんでもいいと云うかもね.
一つだけしかできないようなプログラマーなんて社会では必要性がないいんだよ。
ゲーマーがゲームを作った人に俺が偉いんだよという人に似ている。
所詮、AppleScriptは日本人が作ってはいないが日本人は「おれはあんたよりうまくプログラムが組めるよ」という
ならAppleScriptでつくった自動ロボットを作った方がよい。マックではそれができるんだよ。Windowsでのだきるさ
だがマックの環境はwinよりもっと簡単に仕上がる。
君らの頭脳で受付から製品製造までAppleScriptで組めるか? むりだろうな。
Illustratorで版下を作成できるか? 無理だろう。仕事の内容を理解してないからな。
できた版下を相手にPDFで校正する機能を作れるか? 手動ならできるような。だが全て自動化では無理だね。
作業効率を重視した流れを作れるか? 仕事が何なのかわからんから無理だね。
最後に納品書を自動で書き出せるか それは経理がわからんから無理だね。
業務の流れを全て把握しているのか それは社長のする仕事だからわからんでもいいと云うかもね.
一つだけしかできないようなプログラマーなんて社会では必要性がないいんだよ。
66名称未設定
2014/01/15(水) 11:52:18.37ID:/LtsrHqK0 世の中には親切にする人もいる。そういう人は多くの恵みを受ける。
それはこの世界が多く与えたものは多く得ると云われる世界だからだ。相対理論なのさ。陰陽の世界観。朱に染まれば赤くなる。類は類を呼ぶ。
相手をけなす人は自分で自分をけなしているのと同じ。韓国の仕様と中国の仕様が一緒だと日本人は感じているのと同じ。
人の可能性を育てるのもこの世界だ。なんらかの縁でここに来ているならそれこそ大事にしなさいな。
わからん人には何倍でも説明したら説明するほど自分の理解度が増していく。それはあらゆるところから情報を
得ようと自分が勉強することになるからね。
それが社会勉強なんだよ。プログラムを訪ねにここへ来る人はそれが本来の目的ではないと思う。
最終的に誰かにきちんと説明だできるまでになるようになるための勉強でもあるんだよ。
だから人が困っているなら自分が勉強したのが役立つときなのだ。
58さんわかったかね。
それはこの世界が多く与えたものは多く得ると云われる世界だからだ。相対理論なのさ。陰陽の世界観。朱に染まれば赤くなる。類は類を呼ぶ。
相手をけなす人は自分で自分をけなしているのと同じ。韓国の仕様と中国の仕様が一緒だと日本人は感じているのと同じ。
人の可能性を育てるのもこの世界だ。なんらかの縁でここに来ているならそれこそ大事にしなさいな。
わからん人には何倍でも説明したら説明するほど自分の理解度が増していく。それはあらゆるところから情報を
得ようと自分が勉強することになるからね。
それが社会勉強なんだよ。プログラムを訪ねにここへ来る人はそれが本来の目的ではないと思う。
最終的に誰かにきちんと説明だできるまでになるようになるための勉強でもあるんだよ。
だから人が困っているなら自分が勉強したのが役立つときなのだ。
58さんわかったかね。
67名称未設定
2014/01/15(水) 11:54:31.85ID:UeMn6f2J0 見えないレス多すぎ
68名称未設定
2014/01/15(水) 12:03:57.04ID:/LtsrHqK0 あたまのわるいやつおおすぎ
69名称未設定
2014/01/15(水) 12:43:41.67ID:/LtsrHqK0 tell application "Adobe Illustrator"
set docRef to make new document with properties {color space:CMYK}
set romanText to "日本語書体変換"
set newText to romanText
set textRef to make new text frame in docRef with properties {position:{100, 200}, contents:newText}
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
set kerning method of charStyle to metricsromanonly
set properties of every paragraph of text frame 1 in document 1 to {size:48}
set cmykColor to {cyan:50, magenta:20, yellow:10, black:5}
set fill color of charStyle to cmykColor
apply character style charStyle to text of textRef
end tell
書体変換ができないのだが
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
これってどうだろうか
set docRef to make new document with properties {color space:CMYK}
set romanText to "日本語書体変換"
set newText to romanText
set textRef to make new text frame in docRef with properties {position:{100, 200}, contents:newText}
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
set kerning method of charStyle to metricsromanonly
set properties of every paragraph of text frame 1 in document 1 to {size:48}
set cmykColor to {cyan:50, magenta:20, yellow:10, black:5}
set fill color of charStyle to cmykColor
apply character style charStyle to text of textRef
end tell
書体変換ができないのだが
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
これってどうだろうか
70名称未設定
2014/01/15(水) 12:56:37.57ID:rX7GSZ3z0 58もしょーもないけどあんたもぶちまけ過ぎ
71名称未設定
2014/01/15(水) 13:32:40.20ID:NM6x1RRT0 だな。てか、やっぱり教えてほしい方が教えてくれる人を定義しているのか?
だったらダメダメだなあ。連投で超ダメダメ具合を晒して病んでるなと思うな。黙って質問だけしてりゃいいのに
だったらダメダメだなあ。連投で超ダメダメ具合を晒して病んでるなと思うな。黙って質問だけしてりゃいいのに
72名称未設定
2014/01/15(水) 14:38:35.33ID:/LtsrHqK0 >70
>71
>あんたもぶちまけ過ぎ
本音で語らないといけないと教わっているもんでね。
>やっぱり教えてほしい方が教えてくれる人を定義しているのか?
定義も何もしてないし、ごく普通の感覚だよ。
技術者の前に人であってほしいという思いだけです。
>連投で超ダメダメ具合を晒して病んでるなと思うな。
連投ではだめですか?
枯れ木も山のにぎわいというではないかね。
盛り上げたいだけですよ。(笑
>黙って質問だけしてりゃいいのに
何かを恐れながら聞き出しているって感じだね。
牽制しながら質問しているようだが....お互い成長期ですかね。幼少期か。
すごいプログラム例えば自動化をしている人がいますか?
印刷業界で第一人者、デジタルでばりばりapplescriptを利用していますか?
それも自動化にして楽してお仕事してますか?
applescriptで日本を代表する人がここにいますか?
applescriptの執筆活動家はいますか?
もしそういう人がここにいたなら日本のapplescriptのベースを引き上げてほしいな。
まぁ諸先輩方の考え方はよく知らないけどこの程度でだめだしならしょうがないね。
もう少し太っ腹かと期待したが無理だったということか。
まあせいぜい牽制しながらぼちぼちやりなよ。(笑
また質問などさせてもらうけどね。
>71
>あんたもぶちまけ過ぎ
本音で語らないといけないと教わっているもんでね。
>やっぱり教えてほしい方が教えてくれる人を定義しているのか?
定義も何もしてないし、ごく普通の感覚だよ。
技術者の前に人であってほしいという思いだけです。
>連投で超ダメダメ具合を晒して病んでるなと思うな。
連投ではだめですか?
枯れ木も山のにぎわいというではないかね。
盛り上げたいだけですよ。(笑
>黙って質問だけしてりゃいいのに
何かを恐れながら聞き出しているって感じだね。
牽制しながら質問しているようだが....お互い成長期ですかね。幼少期か。
すごいプログラム例えば自動化をしている人がいますか?
印刷業界で第一人者、デジタルでばりばりapplescriptを利用していますか?
それも自動化にして楽してお仕事してますか?
applescriptで日本を代表する人がここにいますか?
applescriptの執筆活動家はいますか?
もしそういう人がここにいたなら日本のapplescriptのベースを引き上げてほしいな。
まぁ諸先輩方の考え方はよく知らないけどこの程度でだめだしならしょうがないね。
もう少し太っ腹かと期待したが無理だったということか。
まあせいぜい牽制しながらぼちぼちやりなよ。(笑
また質問などさせてもらうけどね。
73名称未設定
2014/01/15(水) 14:58:13.51ID:NM6x1RRT074名称未設定
2014/01/15(水) 15:05:27.12ID:/LtsrHqK0 >73
>まあ、見物だなあ。質問する時も現在の態度でどうかよろしくw
よろしくねw
まぁせいぜい腕を磨いて貢献してねw
どんどん質問するからねw
>まあ、見物だなあ。質問する時も現在の態度でどうかよろしくw
よろしくねw
まぁせいぜい腕を磨いて貢献してねw
どんどん質問するからねw
75名称未設定
2014/01/15(水) 15:07:18.04ID:NM6x1RRT0 本気で言っているの?それ。他人を自分の都合の良い人としか見てないってことだよ?
76名称未設定
2014/01/15(水) 15:14:28.03ID:/LtsrHqK0 >75
冗談さ
冗談さ
77名称未設定
2014/01/15(水) 15:17:00.22ID:NM6x1RRT0 冗談では済まない。済まないので「すみません」という言うべきだなw
あんだけ饒舌であーだこーだ言うのだからそのくらいは言うべきだろう
あんだけ饒舌であーだこーだ言うのだからそのくらいは言うべきだろう
78名称未設定
2014/01/15(水) 15:21:21.85ID:/LtsrHqK0 >77
>冗談では済まない。済まないので「すみません」という言うべきだなw
すみませんw
>冗談では済まない。済まないので「すみません」という言うべきだなw
すみませんw
79名称未設定
2014/01/15(水) 15:25:42.76ID:NM6x1RRT0 なぜ、w をつける。言っている事とやっている事が乖離しているぞ
まあ、なんかまムカついている、また、変なプライドwだけはすごいというのは既知のことなので、それで許してやろう、俺はw
全くAppleScriptと関係無いのにうんざりだぜなのにいw長くなったがおしまい
まあ、なんかまムカついている、また、変なプライドwだけはすごいというのは既知のことなので、それで許してやろう、俺はw
全くAppleScriptと関係無いのにうんざりだぜなのにいw長くなったがおしまい
80名称未設定
2014/01/15(水) 16:16:23.79ID:/LtsrHqK0 >全くAppleScriptと関係無いのにうんざりだぜなのにいw
じゃあさ。
書体変換ができないのだが
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
これってどうだろうかね知っている?
変換ができないんだよ。
Marvericksでさ、Illustrator CC 使ってんだ。
だが書体変更がきかんのだよそちらならすぐ解けるんでしょ。ちょっと難しいかな?
じゃあさ。
書体変換ができないのだが
set charStyle to make new character style in docRef with properties {name:"ヒラギノ明朝 Pro-W3"}
これってどうだろうかね知っている?
変換ができないんだよ。
Marvericksでさ、Illustrator CC 使ってんだ。
だが書体変更がきかんのだよそちらならすぐ解けるんでしょ。ちょっと難しいかな?
81名称未設定
2014/01/15(水) 17:01:36.69ID:NM6x1RRT0 その調子でいいよw
「ちょっと難しいかな?」と煽ってる(&できれば答えが欲しい)のだろうが、わからないお前が何を言うー、ってことだけにしかならないに
まあ、飽きれたけど考えてみればば調子が変わっていないのでよろしいw
「ちょっと難しいかな?」と煽ってる(&できれば答えが欲しい)のだろうが、わからないお前が何を言うー、ってことだけにしかならないに
まあ、飽きれたけど考えてみればば調子が変わっていないのでよろしいw
82名称未設定
2014/01/15(水) 17:14:15.46ID:/LtsrHqK0 まぁ知らない人にきいちゃだめ!ってことだよ。w
幼児期な人には解答できないのはわかっているさw
ただ君の力量がどれだけあるか試しただけさ。w
幼児期な人には解答できないのはわかっているさw
ただ君の力量がどれだけあるか試しただけさ。w
83名称未設定
2014/01/15(水) 17:35:06.21ID:/LtsrHqK0 >81
知らないお前に教えてあげるよw
ヒントはここにw
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell character 2
get properties
end tell
end tell
end tell
end tell
知らないお前に教えてあげるよw
ヒントはここにw
tell application "Adobe Illustrator"
tell document 1
tell text frame 1
tell character 2
get properties
end tell
end tell
end tell
end tell
84名称未設定
2014/01/15(水) 18:20:21.61ID:NM6x1RRT0 笑った。なに続いてレスしてんの
んな、試しているのはわかってるっての、そういうのをわかってないって、とことんめんどくせーやつだなーということで
Adobe Illustrator なんてちょっとしか触った事が無いぼくちんがデモ版をインストールしてやってみたよ
https://www.dropbox.com/s/9f565hvd5fxcyso/ScreenFlow.mov
なんで、こんなことを ID:/LtsrHqK0 が必死に続けているのかわからないなw
いじょーっ!
んな、試しているのはわかってるっての、そういうのをわかってないって、とことんめんどくせーやつだなーということで
Adobe Illustrator なんてちょっとしか触った事が無いぼくちんがデモ版をインストールしてやってみたよ
https://www.dropbox.com/s/9f565hvd5fxcyso/ScreenFlow.mov
なんで、こんなことを ID:/LtsrHqK0 が必死に続けているのかわからないなw
いじょーっ!
85名称未設定
2014/01/15(水) 20:40:15.79ID:/LtsrHqK0 ご足労なこった。そらそうでしょw
どうしてバックを見せないんだw
10.8なら動くんだよw 10.9.1にしてみなw
今までのappleScriptが動かなくなるよw
Mavericksでは動かんよw
怖くてバージョンアップができんかもなwww
もう一回動画を取り直せ ガンバレ!! www
どうしてバックを見せないんだw
10.8なら動くんだよw 10.9.1にしてみなw
今までのappleScriptが動かなくなるよw
Mavericksでは動かんよw
怖くてバージョンアップができんかもなwww
もう一回動画を取り直せ ガンバレ!! www
86名称未設定
2014/01/15(水) 21:17:59.97ID:/LtsrHqK0 ちなみにテキスト全体への書体変更は下記のようです。書体ポイント変更はsizeで変更。
Marvericksでも動きます。
tell application "Adobe Illustrator"
set atype to every text frame of document 1
set myatype to count of every text frame of document 1
repeat with i in atype
set the text font of text of i to text font "ShinseiKaiPro-CBSK1"
end repeat
repeat with n from 1 to myatype
tell document 1
tell text frame n
tell text range
tell every line
set size to 40
end tell
end tell
end tell
end tell
end repeat
end tell
Marvericksでも動きます。
tell application "Adobe Illustrator"
set atype to every text frame of document 1
set myatype to count of every text frame of document 1
repeat with i in atype
set the text font of text of i to text font "ShinseiKaiPro-CBSK1"
end repeat
repeat with n from 1 to myatype
tell document 1
tell text frame n
tell text range
tell every line
set size to 40
end tell
end tell
end tell
end tell
end repeat
end tell
87名称未設定
2014/01/15(水) 21:21:26.30ID:/LtsrHqK0 まとめしたのは。
tell application "Adobe Illustrator"
set atype to every text frame of document 1
set myatype to count of every text frame of document 1
repeat with i in atype
set the text font of text of i to text font "ShinseiKaiPro-CBSK1"
end repeat
repeat with n from 1 to myatype
tell every line of text range of text frame n of document 1
set size to 40
end tell
end repeat
end tell
tell application "Adobe Illustrator"
set atype to every text frame of document 1
set myatype to count of every text frame of document 1
repeat with i in atype
set the text font of text of i to text font "ShinseiKaiPro-CBSK1"
end repeat
repeat with n from 1 to myatype
tell every line of text range of text frame n of document 1
set size to 40
end tell
end repeat
end tell
88名称未設定
2014/01/15(水) 21:29:51.48ID:NM6x1RRT0 そのうにゃうにゃしているのを、シンプル(余計なものを削っているだけ)にしているだけなのだがな
やっとわかってよかったねw
やっとわかってよかったねw
89名称未設定
2014/01/15(水) 21:32:17.24ID:rKJergxG0 うざ
90名称未設定
2014/01/15(水) 21:48:55.51ID:/LtsrHqK0 幼稚園児w
91名称未設定
2014/01/15(水) 21:49:44.11ID:NM6x1RRT0 >>85
>どうしてバックを見せないんだw
そりゃ素直に教えるわけがないからに決まっているだろう。んなこと最初から言っているのに
わかったようだから、あの2行はねえ、
-- get text font of text of text frame 1 of document 1
set text font of text of text frame 1 of document 1 to text font gFontName
だよ。Adobe Illustrator も スクリプトファイルも消したので、ちょっとは間違っているかもしれないけど
Mavericksでは動かかないのか。へーw
>どうしてバックを見せないんだw
そりゃ素直に教えるわけがないからに決まっているだろう。んなこと最初から言っているのに
わかったようだから、あの2行はねえ、
-- get text font of text of text frame 1 of document 1
set text font of text of text frame 1 of document 1 to text font gFontName
だよ。Adobe Illustrator も スクリプトファイルも消したので、ちょっとは間違っているかもしれないけど
Mavericksでは動かかないのか。へーw
92名称未設定
2014/01/15(水) 21:56:38.02ID:/LtsrHqK0 >88
教え方をもっと研究した方がええかもな。
マスク入りとは恐れ入ったよw
だれがもわかるようなscriptを目隠しまでしてw 馬鹿丸出しw
どんだけ上からの目線かねw
教え方をもっと研究した方がええかもな。
マスク入りとは恐れ入ったよw
だれがもわかるようなscriptを目隠しまでしてw 馬鹿丸出しw
どんだけ上からの目線かねw
93名称未設定
2014/01/15(水) 22:00:10.29ID:NM6x1RRT0 すげーなー、これだ自己中も珍しい。珍しいもの発見できただけでもよしとしようw
94名称未設定
2014/01/15(水) 22:03:38.31ID:IW429DUw0 お前が育ててんじゃねーか
95名称未設定
2014/01/15(水) 22:07:00.00ID:NM6x1RRT096名称未設定
2014/01/16(木) 10:27:42.18ID:8b6e8W/P0 二人でよそいってやってくれ
前にも出てたAdobe関係禁止はやっぱり必要みたいだな
Adobe使わない人にとってまったく参考にならない話を延々やられてもうざいし
前にも出てたAdobe関係禁止はやっぱり必要みたいだな
Adobe使わない人にとってまったく参考にならない話を延々やられてもうざいし
97名称未設定
2014/01/22(水) 22:59:09.72ID:eRTOmbtnP 昔作った子供が水浴びしてるDVDをisoイメージにしたんだけど、
面倒なく視聴できるソフトってないのね。
今年初めてのAppleScriptはこれだった。
Automatorで開くファイルを自作アプリに関連付けてやったら
ダブルクリックで視聴できるようになった。
面倒なく視聴できるソフトってないのね。
今年初めてのAppleScriptはこれだった。
Automatorで開くファイルを自作アプリに関連付けてやったら
ダブルクリックで視聴できるようになった。
99名称未設定
2014/01/22(水) 23:27:39.24ID:LlN2JipJ0 DVDプレーヤーで普通に見られるけど
100名称未設定
2014/01/23(木) 09:11:56.66ID:iJWTvZ5CP >>98
本当に「面倒なく」視聴できてるの? ちゃんとチャプター再生もばっちり?
そもそもマウントするとウインドウが開きません? うちが変なのかもしれんが。
DVDのディスクをスロットに挿入すると自動再生するのと同じように
isoをダブルクリックするだけで普通のDVDと同じように再生できます?
世の中にはすごい人がいて、アイコンをダブルクリック以上のことが「難しい」人
もいるんです(田舎のじーちゃんとかね)。そういう人たちでも簡単にできる?
本当に「面倒なく」視聴できてるの? ちゃんとチャプター再生もばっちり?
そもそもマウントするとウインドウが開きません? うちが変なのかもしれんが。
DVDのディスクをスロットに挿入すると自動再生するのと同じように
isoをダブルクリックするだけで普通のDVDと同じように再生できます?
世の中にはすごい人がいて、アイコンをダブルクリック以上のことが「難しい」人
もいるんです(田舎のじーちゃんとかね)。そういう人たちでも簡単にできる?
101名称未設定
2014/01/23(木) 10:29:51.06ID:hsNSWAQS0 このスレで何も情報も無く「面倒なく」なら、そんなユーザは想定しないだろう
後付けで長々となに語っているんだか
後付けで長々となに語っているんだか
102名称未設定
2014/01/23(木) 10:44:23.27ID:3KX4Dz8y0 AppleScriptと関係ないじゃん
無理矢理このスレに書くなよ
無理矢理このスレに書くなよ
103名称未設定
2014/01/23(木) 10:59:09.90ID:EF80bs4x0 てか自作アプリ作ってんのに、なんでAutomatorで関連づけしてんのか意味分かんないwww
104名称未設定
2014/01/23(木) 16:55:33.79ID:aE6WVZdy0 発表スレなのに、発表すらしない。チラウラにでも書いとけ。
105名称未設定
2014/01/23(木) 18:10:48.75ID:/HGXohKZ0 >>98
ディスクイメージマウンターでマウントしないからウィンドウでません
ISOの、このアプリケーションで開くをディスクイメージマウンターからVLCに変えれば、ダブルクリックで見れるよ
メニューも使える
多分君が作ったよくわからん自作アプリより田舎のじーちゃんには分かりやすいんじゃないかな?
ディスクイメージマウンターでマウントしないからウィンドウでません
ISOの、このアプリケーションで開くをディスクイメージマウンターからVLCに変えれば、ダブルクリックで見れるよ
メニューも使える
多分君が作ったよくわからん自作アプリより田舎のじーちゃんには分かりやすいんじゃないかな?
10797
2014/01/23(木) 22:17:46.59ID:iJWTvZ5CP まずすみません。
話題もないみたいだったので、ちょっと賑やかしのために書き込んでみました。
難しいものでもなんでもないけど、スクリプトは下記。
on open dorp_Items
tell application "Finder"
set aISO to selection as alias
end tell
set b to do shell script "hdiutil mount " & (quoted form of POSIX path of aISO)
tell application "Finder"
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to tab
set fileName to last text item of (b as string)
set fileName to (POSIX file fileName) as alias
end tell
tell application "VLC"
activate
open fileName
end tell
end open
話題もないみたいだったので、ちょっと賑やかしのために書き込んでみました。
難しいものでもなんでもないけど、スクリプトは下記。
on open dorp_Items
tell application "Finder"
set aISO to selection as alias
end tell
set b to do shell script "hdiutil mount " & (quoted form of POSIX path of aISO)
tell application "Finder"
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to tab
set fileName to last text item of (b as string)
set fileName to (POSIX file fileName) as alias
end tell
tell application "VLC"
activate
open fileName
end tell
end open
10897
2014/01/23(木) 22:28:42.30ID:iJWTvZ5CP 続きですが
みなさんの指摘どおり、普通にISOをマウントするとフォルダウインドウが開いたり
マウントしたディスクを再度再生アプリで開いたりといろいろ面倒で試行錯誤した次第。
ところで>>105さんの指摘するファイルの関連付けを直接再生アプリ(VLC)
にするのってうまくいきますか? うちでは再生は始まるけれど、メニューに戻ったり
特定のチャプターからの再生などができません。同様にVLCのプレイリストにISO
を登録しても再生しっぱなし、しかできません。
(正確にはISOではなくディスクユーティリティで作った.cdrのデータなので挙動違うかも)
「ウインドウを開かずにマウントする」ならdo shell script hdutil mount
結果はタブ区切りの3番目がマウントしたディスクのPOSIX pathだそうで。
ISOをマウントしたディスクをVLCで開けばチャプター再生などメニュー操作できます。
こんなところを皆様にご活用いただければと。
しかしマウントするとウインドウが開くのとISOをVLCにドラッグアンドドロップすると
コントロール不能の再生になるのが謎。
本日いろいろ活用してみましたが、とりあえず目的の挙動はしていてひと安心です。
みなさんの指摘どおり、普通にISOをマウントするとフォルダウインドウが開いたり
マウントしたディスクを再度再生アプリで開いたりといろいろ面倒で試行錯誤した次第。
ところで>>105さんの指摘するファイルの関連付けを直接再生アプリ(VLC)
にするのってうまくいきますか? うちでは再生は始まるけれど、メニューに戻ったり
特定のチャプターからの再生などができません。同様にVLCのプレイリストにISO
を登録しても再生しっぱなし、しかできません。
(正確にはISOではなくディスクユーティリティで作った.cdrのデータなので挙動違うかも)
「ウインドウを開かずにマウントする」ならdo shell script hdutil mount
結果はタブ区切りの3番目がマウントしたディスクのPOSIX pathだそうで。
ISOをマウントしたディスクをVLCで開けばチャプター再生などメニュー操作できます。
こんなところを皆様にご活用いただければと。
しかしマウントするとウインドウが開くのとISOをVLCにドラッグアンドドロップすると
コントロール不能の再生になるのが謎。
本日いろいろ活用してみましたが、とりあえず目的の挙動はしていてひと安心です。
10997
2014/01/23(木) 22:40:56.89ID:iJWTvZ5CP Automatorの件いいわすれたorz
ファイルの関連付けは「情報を見る」から開くアプリを変えればいいけど、100、200となると
それも面倒。automatorで設定してやれば一発。初めてautomator便利だと思ったよ。
ASでも簡単にできるかな?
ファイルの関連付けは「情報を見る」から開くアプリを変えればいいけど、100、200となると
それも面倒。automatorで設定してやれば一発。初めてautomator便利だと思ったよ。
ASでも簡単にできるかな?
11197
2014/01/23(木) 23:14:33.95ID:iJWTvZ5CP >>110
それも一緒だと思いましたがVLCとの相違点ってあります?
ISOから直接開けない分だめかなあ、と。
インターフェイスのリモコンパネルは分かりやすいですけど
プレイリストもないですし。簡単な方法があればぜひ。
それも一緒だと思いましたがVLCとの相違点ってあります?
ISOから直接開けない分だめかなあ、と。
インターフェイスのリモコンパネルは分かりやすいですけど
プレイリストもないですし。簡単な方法があればぜひ。
112名称未設定
2014/01/24(金) 00:23:30.19ID:n2bhRx060 なんだ結局VLC使うのか、自作アプリとか言うのに期待したのに
だったらその大量の.CDRをDVDimageに変換するスクリプト書いてダブルクリックでVLCで見れるようにした方がよくね?
automatorで設定してやればって
100、200あるisoファイルの「このアプリケーションで開く」を変更してんのか?
だったらその大量の.CDRをDVDimageに変換するスクリプト書いてダブルクリックでVLCで見れるようにした方がよくね?
automatorで設定してやればって
100、200あるisoファイルの「このアプリケーションで開く」を変更してんのか?
113名称未設定
2014/01/24(金) 00:49:36.83ID:fFagYQQQ0 >>109
スクリプト関係ない話なんだけど、大量のファイルの関連づけを変えるのはFinderでも簡単にできるよ
具体的に言うとファイルを選択した後、右クリックし、オプションを押しながらコンテクストメニューのインスペクタを表示をクリックし、
出てきたメニューから開きたいアプリケーションを選択すればいい。
スクリプト関係ない話なんだけど、大量のファイルの関連づけを変えるのはFinderでも簡単にできるよ
具体的に言うとファイルを選択した後、右クリックし、オプションを押しながらコンテクストメニューのインスペクタを表示をクリックし、
出てきたメニューから開きたいアプリケーションを選択すればいい。
114名称未設定
2014/01/24(金) 12:16:54.30ID:9KMDdAgK0 >スクリプト関係ない話なんだけど、
なら書くなよ
なら書くなよ
115名称未設定
2014/01/24(金) 13:10:36.93ID:DUlBWNd20 っていうオレかっこいいっw
116名称未設定
2014/01/24(金) 14:05:11.89ID:pr+p7JhP0 このスレ面白い!
117名称未設定
2014/01/24(金) 14:06:16.14ID:pr+p7JhP0 誤爆しました
118名称未設定
2014/01/24(金) 15:35:18.89ID:sYNd//sx0 スクリプトなしでできるものをわざわざスクリプトでやってたらそりゃ指摘もしたくなるだろ
だからって別にスレチじゃないんじゃないの
だからって別にスレチじゃないんじゃないの
119名称未設定
2014/01/24(金) 20:22:01.30ID:2pddWbcv0 つーかインスペクタにしても情報を見るにしてもアプリ選んでから「すべてを変更…」を押す流れは変わらんわけで、
種類の違うファイルならともかくisoだけとかなら1個やりゃ済む話なんでは
まさか100種類の違う形式のファイルって事もあるまいに
種類の違うファイルならともかくisoだけとかなら1個やりゃ済む話なんでは
まさか100種類の違う形式のファイルって事もあるまいに
120名称未設定
2014/01/24(金) 20:51:33.47ID:/Vqh8AiQ0 このスレで続ける話じゃねーだろが
121名称未設定
2014/01/25(土) 20:41:18.12ID:kAuE/WAS0 全く進まないとか無駄な1行レス繰り返すよりはいいんじゃない?
122名称未設定
2014/01/28(火) 13:20:57.62ID:diN/bixn0 相変わらず牽制しあってるなぁw
凄腕スクリプターがここにいるんかいw
凄腕スクリプターがここにいるんかいw
123名称未設定
2014/01/28(火) 13:30:27.29ID:PsLXEu1h0 っていう俺が凄腕スクリプターってか?
124名称未設定
2014/01/28(火) 16:56:05.43ID:YtFiVtks0 本当に凄腕なら世話好き以外こんなとこ来る必要ないからな
125名称未設定
2014/01/28(火) 19:17:18.21ID:diN/bixn0 それもそうだw
ドングリの背比べだぁw
要するにお互い小学生というこっちゃねw
ドングリの背比べだぁw
要するにお互い小学生というこっちゃねw
126名称未設定
2014/01/28(火) 22:30:45.45ID:dF9LzVWf0 ワシも若い頃は人工衛星を制御するAppleScriptを書いてたもんじゃよ
127名称未設定
2014/01/28(火) 22:46:11.92ID:PsLXEu1h0 なんだ教えてくんか
なんで彼は分をわきまえるとかいう日本語を知らないのだろうか
なんで彼は分をわきまえるとかいう日本語を知らないのだろうか
128名称未設定
2014/01/28(火) 23:24:20.61ID:diN/bixn0 これ知っているか?
set the justification of paragraph 1 of areaText to full justify
set the justification of paragraph 1 of areaText to full justify
129名称未設定
2014/01/28(火) 23:32:26.32ID:gnuIluL20 Safariの「環境設定>詳細>アクセシビリティ>これより小さいフォントサイズを使わない」
をアップルスクリプトで制御したいんですが可能でしょうか?
あるサイトで表示メニュー>拡大or縮小が効かないページがあって、
上記の環境設定でしかフォントサイズが変わらないため、スクリプトメニューから切り替えたいと思いまして。。。
出来ればGUIスクリプティングではない方法でやりたいんですが。。
をアップルスクリプトで制御したいんですが可能でしょうか?
あるサイトで表示メニュー>拡大or縮小が効かないページがあって、
上記の環境設定でしかフォントサイズが変わらないため、スクリプトメニューから切り替えたいと思いまして。。。
出来ればGUIスクリプティングではない方法でやりたいんですが。。
130名称未設定
2014/01/29(水) 09:56:54.72ID:XgMuODYo0 もしそのページが -webkit-text-size-adjust:none; 指定してて拡大縮小できなくなってるならJavaScriptで変更できるから、スレ的には do JavaScript で行けんじゃないの
ページ見ないとわからんけど
ページ見ないとわからんけど
131名称未設定
2014/01/29(水) 16:47:23.09ID:lxXBhmLk0 ブックマークレットでなんとかなるのでは
ページ見ないとわからんけど
ページ見ないとわからんけど
132名称未設定
2014/01/29(水) 16:51:43.34ID:tctlnn+e0 そのページの右上あたりに文字サイズの拡大縮小ボタンがあるのでは?
ページ見ないとわからんけど
ページ見ないとわからんけど
133名称未設定
2014/01/29(水) 18:35:31.88ID:t0Z341jw0 みなさんありがとう。
そのサイトはstrava.comというランニングやサイクリングのログを共有するサイトで、
登録してログをアップするか、誰かをフォローしないとそのページは見れないんです。
文字サイズの拡大縮小ボタンはないです。
Java scriptでなんとかできるんですかね。。
そのサイトはstrava.comというランニングやサイクリングのログを共有するサイトで、
登録してログをアップするか、誰かをフォローしないとそのページは見れないんです。
文字サイズの拡大縮小ボタンはないです。
Java scriptでなんとかできるんですかね。。
134名称未設定
2014/01/29(水) 20:41:14.84ID:yPBhJ8sPP すみません。どうしても分かりません。
MySQLを使って簡単なデータベースを作ったのですが、
これを他のマシンから操作するAppleScriptってどう書けばいいんでしょう。
サーバーになっているマシンでAppleScriptで操作することはできます。
どなたかヒントいただければ。
MySQLを使って簡単なデータベースを作ったのですが、
これを他のマシンから操作するAppleScriptってどう書けばいいんでしょう。
サーバーになっているマシンでAppleScriptで操作することはできます。
どなたかヒントいただければ。

PHPを使った方がよいのでは?
137名称未設定
2014/01/29(水) 21:03:20.03ID:9ZdU+vJPP ほかのマシンから mysqlコマンドでつなげられるのかい。
138名称未設定
2014/01/30(木) 03:36:15.92ID:7sYynt8F0 リモート AppleEventとdo shell scriptでなんとかなるのでは?
ページ見ないとわからんけど
ページ見ないとわからんけど
139名称未設定
2014/01/30(木) 08:49:07.29ID:zzqchskQP >>138
それなのか? 今回の研究テーマは。ページ? 意味が分からないが関係ないのでは?
分からないなりに
・リモートAppleEventでサーバーに接続
・リモートからサーバーにAppleScriptでのMySQLでの操作Eventを送信
・サーバーからリモートに結果を返す
とか? まったく未知の世界。curlとGET
それなのか? 今回の研究テーマは。ページ? 意味が分からないが関係ないのでは?
分からないなりに
・リモートAppleEventでサーバーに接続
・リモートからサーバーにAppleScriptでのMySQLでの操作Eventを送信
・サーバーからリモートに結果を返す
とか? まったく未知の世界。curlとGET
140名称未設定
2014/01/30(木) 18:23:44.81ID:8CyfsSwe0 あなたがMySQLをどのように運用してるか分からんけど
例えば
サーバー側でAppleScriptで操作できるなら
そのスクリプトをスクリプタブルなASOCにして起動しといて
リモートAppleEventでtellで呼び出すのが簡単なんじゃないかな?
結果の取得は、ログを出力するようにしといてweb鯖があるならそこに置いてcurlでデータを取得すればいいとおもう
ログは公開したくないとかだったらDigest認証とか適当につけときゃ良いけど
ローカルのみで確認する用途なら
上で作ったアプリケーションにログ用にSimpleHTTPServerとかの簡易web鯖を、解放してないポート指定して起動するようにしといて、そこに出力すれば良いとおもう
元々データを公開してるならそこから取得すれば良いけど、PHPとか他の言語使ってないって言う事は、公開はしてないぽいか
例えば
サーバー側でAppleScriptで操作できるなら
そのスクリプトをスクリプタブルなASOCにして起動しといて
リモートAppleEventでtellで呼び出すのが簡単なんじゃないかな?
結果の取得は、ログを出力するようにしといてweb鯖があるならそこに置いてcurlでデータを取得すればいいとおもう
ログは公開したくないとかだったらDigest認証とか適当につけときゃ良いけど
ローカルのみで確認する用途なら
上で作ったアプリケーションにログ用にSimpleHTTPServerとかの簡易web鯖を、解放してないポート指定して起動するようにしといて、そこに出力すれば良いとおもう
元々データを公開してるならそこから取得すれば良いけど、PHPとか他の言語使ってないって言う事は、公開はしてないぽいか
141名称未設定
2014/01/30(木) 23:46:23.42ID:zzqchskQP >>140
なるほど。AppleEvent送信するにも受け手側が必要か。
で引数渡してそいつを操作すればなんでもできるのかな。
いや実際にはPHPで普通に公開してて全部できるんだけどね。
ネットちょっとさまよってたら、サーバー側に受け手としてPHPを
ひとつ仕込んでおき、そこにGETのcurlでアクセス、それを
do shell scriptで拾うのがあったよ。ただ、SQLインジェクションとか
URLエンコードがどーなるのかは不明。でも、できるらしいね。
なるほど。AppleEvent送信するにも受け手側が必要か。
で引数渡してそいつを操作すればなんでもできるのかな。
いや実際にはPHPで普通に公開してて全部できるんだけどね。
ネットちょっとさまよってたら、サーバー側に受け手としてPHPを
ひとつ仕込んでおき、そこにGETのcurlでアクセス、それを
do shell scriptで拾うのがあったよ。ただ、SQLインジェクションとか
URLエンコードがどーなるのかは不明。でも、できるらしいね。
142名称未設定
2014/01/31(金) 02:06:43.01ID:q4ztzmWK0 >>141
どの程度の操作をしたいのか分からんけど、データの入力とか展開ならPHP使えるなら適当にapiつくって、curlで操作するのが一番簡単じゃないかな?
てか運用してるなら入力とか抽出のapiはもうあるんじゃない? それ使えば良いと思う
SQLインジェクションはweb上のフォームとかがちゃんと作ってあるなら問題ないでそ
データ入力はcurlで値をポストすれば良いし
URLエンコードはcurlのポストのオプションでやってくれるけど
日本語のデータ入力の場合applescript内の文字コードがutf8だから、
それ以外の文字コードの場合、curlでポストする前にワンラインで文字コード変換しないとUTF8でエンコードしちゃうから
自前で文字コード変換とURLエンコードのハンドラ作っとくのがいいと思う
どの程度の操作をしたいのか分からんけど、データの入力とか展開ならPHP使えるなら適当にapiつくって、curlで操作するのが一番簡単じゃないかな?
てか運用してるなら入力とか抽出のapiはもうあるんじゃない? それ使えば良いと思う
SQLインジェクションはweb上のフォームとかがちゃんと作ってあるなら問題ないでそ
データ入力はcurlで値をポストすれば良いし
URLエンコードはcurlのポストのオプションでやってくれるけど
日本語のデータ入力の場合applescript内の文字コードがutf8だから、
それ以外の文字コードの場合、curlでポストする前にワンラインで文字コード変換しないとUTF8でエンコードしちゃうから
自前で文字コード変換とURLエンコードのハンドラ作っとくのがいいと思う
143名称未設定
2014/01/31(金) 03:58:54.92ID:q4ztzmWK0 >>141
ごめ
試しにapplescriptだけでリモートやってみたら超簡単だったからサンプル置いとくわ
サーバー側
property cmdlist : {"curl 'http://ip.ossus.ch'", "ifconfig", "sw_vers"}
on cmd(Q)
set out to do shell script item Q of cmdlist
return out
end cmd
これを実行後終了しないにチェック入れてremotestって名前でアプリケーションで保存してサーバー側で起動しとく
クライアント側
tell application "remotest" of machine "eppc://user:pass@サーバー側Domain or IP"
return cmd(3)
end tell
これをクライアント側で実行するとサーバー側のスクリプトが動作してサーバーのOSバージョンがクライアント側に表示される
ちなみに
return cmd(1) だとサーバー側からグローバルIP返すwebサービスにcurlでアクセスしてサーバーのグローバルIPが表示される
return cmd(2) だとifconfigね サーバーのローカルのIPアドレスとか、ネットワーク情報が表示される
mysqlはdo shell script で操作してるだろうからdo shell scriptのコマンドリストって形にしてみたけど
細かい命令書き直せば普通に使えるんじゃねリモート
環境設定の共有でリモートアップルイベントオンにしてユーザー登録しといてね。
ちなみにタブを全角スペースにしてるからコピペ注意してね
ごめ
試しにapplescriptだけでリモートやってみたら超簡単だったからサンプル置いとくわ
サーバー側
property cmdlist : {"curl 'http://ip.ossus.ch'", "ifconfig", "sw_vers"}
on cmd(Q)
set out to do shell script item Q of cmdlist
return out
end cmd
これを実行後終了しないにチェック入れてremotestって名前でアプリケーションで保存してサーバー側で起動しとく
クライアント側
tell application "remotest" of machine "eppc://user:pass@サーバー側Domain or IP"
return cmd(3)
end tell
これをクライアント側で実行するとサーバー側のスクリプトが動作してサーバーのOSバージョンがクライアント側に表示される
ちなみに
return cmd(1) だとサーバー側からグローバルIP返すwebサービスにcurlでアクセスしてサーバーのグローバルIPが表示される
return cmd(2) だとifconfigね サーバーのローカルのIPアドレスとか、ネットワーク情報が表示される
mysqlはdo shell script で操作してるだろうからdo shell scriptのコマンドリストって形にしてみたけど
細かい命令書き直せば普通に使えるんじゃねリモート
環境設定の共有でリモートアップルイベントオンにしてユーザー登録しといてね。
ちなみにタブを全角スペースにしてるからコピペ注意してね
144名称未設定
2014/01/31(金) 08:18:18.27ID:uWeNXE6JP >>143
その実行力感服します。このスレの神は有言実行だった。
PHPで適当にapiつくってcurlのところにGETでSQLぶちこみゃいいのね。
リモートのAppleEventのことも分かりやすいなあ。
これでファイルメーカーバージョンアップしなくてもいいね。
すばらしいの一言。セキュリティのことはまた勉強しないとね。
その実行力感服します。このスレの神は有言実行だった。
PHPで適当にapiつくってcurlのところにGETでSQLぶちこみゃいいのね。
リモートのAppleEventのことも分かりやすいなあ。
これでファイルメーカーバージョンアップしなくてもいいね。
すばらしいの一言。セキュリティのことはまた勉強しないとね。
146名称未設定
2014/02/08(土) 15:58:08.45ID:nsDgn/AA0 なんかここの人たちレベルが高いですね。
質問です。
シェルスクリプトを選択したファイルやフォルダに対して実行する方法ってありますか?
質問です。
シェルスクリプトを選択したファイルやフォルダに対して実行する方法ってありますか?
147名称未設定
2014/02/08(土) 16:08:10.74ID:tRhLBcwSP >>146
そういう慇懃無礼なのやめようよ。ホメ殺しというか。
do shell scriptで。パスはPOSIX pathで受け渡ししてね。
tell application "Finder"
set thePATH to selection as alias
set thePATH to POSIX path of thePATH
endt tell
set theAnswer to do shell script "ls -a " & quoted form of POSIX path of thePATH
displaydialog theAnswer as Unicode text
とかなんとか。windwosで書いてるので結果どうなるかは知らない。
そういう慇懃無礼なのやめようよ。ホメ殺しというか。
do shell scriptで。パスはPOSIX pathで受け渡ししてね。
tell application "Finder"
set thePATH to selection as alias
set thePATH to POSIX path of thePATH
endt tell
set theAnswer to do shell script "ls -a " & quoted form of POSIX path of thePATH
displaydialog theAnswer as Unicode text
とかなんとか。windwosで書いてるので結果どうなるかは知らない。
148名称未設定
2014/02/08(土) 16:48:59.19ID:3lSTg7G/0 >>146
んじゃ[$ GetFileInfo ]って言う指定したファイルの情報を出力するコマンドを使う例で書くね。
set Q to choose file --ファイルの場所を取得(Macintosh HD:Users:xxx:Desktop:11.jpg)
set Q to POSIX path of Q --POSIX path に変換(/Users/xxx/Desktop/11.jpg)
set cmd to "GetFileInfo " & quoted form of Q --コマンドを作成(ここでdo shell scriptでも良いけど、こっちの方がデバッグしやすい)
set info to do shell script cmd --コマンドを実行
display dialog "Result" default answer info --結果をダイアログに表示
(*結果はこんな感じ
file: "/Users/xxx/Desktop/11.jpg"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 02/08/2014 16:20:16
modified: 02/08/2014 16:21:43
*)
>>147
endt tell になってる
displaydialogにスペースがない
んじゃ[$ GetFileInfo ]って言う指定したファイルの情報を出力するコマンドを使う例で書くね。
set Q to choose file --ファイルの場所を取得(Macintosh HD:Users:xxx:Desktop:11.jpg)
set Q to POSIX path of Q --POSIX path に変換(/Users/xxx/Desktop/11.jpg)
set cmd to "GetFileInfo " & quoted form of Q --コマンドを作成(ここでdo shell scriptでも良いけど、こっちの方がデバッグしやすい)
set info to do shell script cmd --コマンドを実行
display dialog "Result" default answer info --結果をダイアログに表示
(*結果はこんな感じ
file: "/Users/xxx/Desktop/11.jpg"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 02/08/2014 16:20:16
modified: 02/08/2014 16:21:43
*)
>>147
endt tell になってる
displaydialogにスペースがない
149名称未設定
2014/02/08(土) 17:40:10.80ID:cWG4pfK10 GetFileInfo ってXcode、の追加のCLIツール、入れないと無いんじゃないの
150名称未設定
2014/02/08(土) 18:05:51.02ID:iewnsadv0 例だろ
151名称未設定
2014/02/08(土) 18:07:01.62ID:jmpl7yBh0 Finderで選択したファイル/フォルダに対してなら、Automatorでサービスもなかなか便利。実行そのものはAppleScriptだけど
フォルダ/ファイルの区別がつく(ファイルの種類もちょっとはつく)、コンテキストメニューを選んだ時点で操作対象が決定しているのでスクリプトが終わるのを待つ必要が無い
(スクリプト全てがでなく>>147でいうと set thePATH to selection as alias が実行されるのをだけど)
フォルダ/ファイルの区別がつく(ファイルの種類もちょっとはつく)、コンテキストメニューを選んだ時点で操作対象が決定しているのでスクリプトが終わるのを待つ必要が無い
(スクリプト全てがでなく>>147でいうと set thePATH to selection as alias が実行されるのをだけど)
152146
2014/02/08(土) 18:21:39.04ID:nsDgn/AA0 みなさん早速ありがとうございます。
147のやり方でできました。
148は自分にはまだ難しすぎです。勉強します。
シェルスクリプトで複数の画像を一発で変換できるので、
勉強がてらApplescriptで実行出来ないかなと色々やってみてるところです。
複数のファイルにたいしてもシェルスクリプトを実行させることは可能なのでしょうか?
あればヒントでも教えてもらえると嬉しいです。
147のやり方でできました。
148は自分にはまだ難しすぎです。勉強します。
シェルスクリプトで複数の画像を一発で変換できるので、
勉強がてらApplescriptで実行出来ないかなと色々やってみてるところです。
複数のファイルにたいしてもシェルスクリプトを実行させることは可能なのでしょうか?
あればヒントでも教えてもらえると嬉しいです。
153名称未設定
2014/02/08(土) 18:29:58.97ID:jmpl7yBh0 普通に引数とか << _END 方式で。do shell script はシェルスクリプトの文字列でしかないので、AppleScriptで長いシェルスクリプトを構築するか、do shell scriptをファイル単位でするかかな
quoted form は便利だから理解した方がいいよ
AutomatorだとAppleScriptを介さずにシェルスクリプトだけでイケるんだが、スレチか
quoted form は便利だから理解した方がいいよ
AutomatorだとAppleScriptを介さずにシェルスクリプトだけでイケるんだが、スレチか
154名称未設定
2014/02/08(土) 20:05:48.20ID:3lSTg7G/0 >>149
そうだっけ?w
んじゃGetFileInfoの部分を
fileとかhexdumpとかdirnameとか好きなのに変えて下しあ
ファイル選択にchooseなんか使わないだろうけど、一応フォルダ選びたい時はchoose folderね。
>>152
あら結構丁寧に書いたつもりだったorz
参考までにどこら辺が難しかったか教えてください。
ちなみにどんなシェルスクリプトで画像変換してるの?
一応複数の画像を変換するやつ作ってみた、 D&Dされた複数ファイルをJPEGだけ処理するサンプルです。
これをアプリケーションで保存して複数のファイルをドラッグ&ドロップするとJPEGのみ、同じフォルダにリネームして幅30ピクセルのJPEGに変換して書き出されます。
on open dropItems --ドラッグ&ドロップされた時の処理とエイリアスリスト
repeat with Q in dropItems --入力ファイル数分リピート処理してJPEG イメージのみ変換
tell application "Finder"
set itemkind to get kind of Q
end tell
if itemkind is "JPEG イメージ" then
set DropPOSIX to POSIX path of Q
set pngOutPath to DropPOSIX & "幅30.jpg"
set comd to "sips --resampleWidth 30 " & quoted form of DropPOSIX & " --out " & quoted form of pngOutPath --コマンド作成
do shell script comd --コマンド実行
else
--jpegイメージ以外はパス
end if
end repeat
end open
--作って思ったけどドラッグ&ドロップはデバッグしづらくて作るの面倒いね
そうだっけ?w
んじゃGetFileInfoの部分を
fileとかhexdumpとかdirnameとか好きなのに変えて下しあ
ファイル選択にchooseなんか使わないだろうけど、一応フォルダ選びたい時はchoose folderね。
>>152
あら結構丁寧に書いたつもりだったorz
参考までにどこら辺が難しかったか教えてください。
ちなみにどんなシェルスクリプトで画像変換してるの?
一応複数の画像を変換するやつ作ってみた、 D&Dされた複数ファイルをJPEGだけ処理するサンプルです。
これをアプリケーションで保存して複数のファイルをドラッグ&ドロップするとJPEGのみ、同じフォルダにリネームして幅30ピクセルのJPEGに変換して書き出されます。
on open dropItems --ドラッグ&ドロップされた時の処理とエイリアスリスト
repeat with Q in dropItems --入力ファイル数分リピート処理してJPEG イメージのみ変換
tell application "Finder"
set itemkind to get kind of Q
end tell
if itemkind is "JPEG イメージ" then
set DropPOSIX to POSIX path of Q
set pngOutPath to DropPOSIX & "幅30.jpg"
set comd to "sips --resampleWidth 30 " & quoted form of DropPOSIX & " --out " & quoted form of pngOutPath --コマンド作成
do shell script comd --コマンド実行
else
--jpegイメージ以外はパス
end if
end repeat
end open
--作って思ったけどドラッグ&ドロップはデバッグしづらくて作るの面倒いね
155名称未設定
2014/02/08(土) 20:09:51.56ID:3lSTg7G/0156名称未設定
2014/02/08(土) 21:00:15.65ID:RuZJBi5i0 >>154
>--作って思ったけどドラッグ&ドロップはデバッグしづらくて作るの面倒いね
処理本体は別のハンドラにしておいて、
デバッグする時はrunハンドラから適当なエイリアスのリストを渡すようにすれば、
スクリプトエディタでも動作確認できるぜ
ざっくりやるならchoose file/folderの結果がそのまま使える
>--作って思ったけどドラッグ&ドロップはデバッグしづらくて作るの面倒いね
処理本体は別のハンドラにしておいて、
デバッグする時はrunハンドラから適当なエイリアスのリストを渡すようにすれば、
スクリプトエディタでも動作確認できるぜ
ざっくりやるならchoose file/folderの結果がそのまま使える
157名称未設定
2014/02/08(土) 22:26:25.46ID:tRhLBcwSP >>154
素朴な疑問ですみませんが、なんで変数にQなんてとるの?
見たことないんだけど意味あるの?
やっぱりrepeat with とくれが i t s くらいで、そのあと小文字でp q r
あたり使うのが普通だと思うんだけど。
大文字でQってなんかすごく自己主張が激しいというかw
それに普通の変数に1文字変数とかあとで面倒でしょ。
とか思いました。固有名詞にaとかtheとかつけた変数の付け方
考えた人はえらいなあと思う。AppleScriptだと定冠詞つけてるみたいで
本当に英語みたいだよね。
Xcodeよく使うのでコード補完使ってると変数長くなりまくりだけどね。
素朴な疑問ですみませんが、なんで変数にQなんてとるの?
見たことないんだけど意味あるの?
やっぱりrepeat with とくれが i t s くらいで、そのあと小文字でp q r
あたり使うのが普通だと思うんだけど。
大文字でQってなんかすごく自己主張が激しいというかw
それに普通の変数に1文字変数とかあとで面倒でしょ。
とか思いました。固有名詞にaとかtheとかつけた変数の付け方
考えた人はえらいなあと思う。AppleScriptだと定冠詞つけてるみたいで
本当に英語みたいだよね。
Xcodeよく使うのでコード補完使ってると変数長くなりまくりだけどね。
158名称未設定
2014/02/08(土) 22:28:24.72ID:tRhLBcwSP あ、変数にQって使ったことあったな。ダイアログの質問項目を変数にしたとき、QuestionのQとして
Q1、Q2、Q3とか質問項目作ったことあったなあ、、、、、、。
Q1、Q2、Q3とか質問項目作ったことあったなあ、、、、、、。
159146
2014/02/08(土) 22:40:30.76ID:nsDgn/AA0 >>154
[$ GetFileInfo ]って書いてあったので
ビビっただけでよくよく見ると分かりやすかったです。
すいません。
画像を大量に人に渡すときにターミナルで
cd でフォルダに移動して
sips -s format jpeg *.tif
sips -Z 2000 *.tif
for nm in *.tif; do
mv $nm ${nm%.tif}.jpg;
done
アプリを使うよりも全然早いのでよく使います。
教えてもらった奴で似たことができそうですね。
いろいろいじくって試してみます。
ありがとうございました。
[$ GetFileInfo ]って書いてあったので
ビビっただけでよくよく見ると分かりやすかったです。
すいません。
画像を大量に人に渡すときにターミナルで
cd でフォルダに移動して
sips -s format jpeg *.tif
sips -Z 2000 *.tif
for nm in *.tif; do
mv $nm ${nm%.tif}.jpg;
done
アプリを使うよりも全然早いのでよく使います。
教えてもらった奴で似たことができそうですね。
いろいろいじくって試してみます。
ありがとうございました。
160名称未設定
2014/02/08(土) 23:13:29.55ID:3lSTg7G/0 >>156
そっかそっかなるほどね ありがと!
実際似たような事して作ってたんだけど、エイリアスのリスト作るのとか
そもそもon open の中身がどうなってるかってところで一瞬躓いてたわwww
>>157
なんでと言われても、、、普通とかあるのか独学すぎてそういうルーティン的なのしらんのよ ごめん
シフト+Qって押しやすいし目立つから、特に理由ないよ、英語力無いしスペルミス怖いからテスト時の使い捨て変数にqqqとかzzzとかも使う
最終的には辞書見て直すけどさorz
副産物置いとくね エイリアスリストをつくるハンドラ2つ
set aliaslist1 to AliasListGen("/Users/xxx/Desktop/test/")
set aliaslist2 to choosefile("jpgとpngだけ", {"jpg", "png"}, true, false)
--########################
on AliasListGen(Directory) --入力されたDirectory(POSIXパス)にあるすべてのファイルをaliasリストにするハンドラ
set aliaslist to {}
set filelist to list folder Directory
repeat with Q in filelist
set tmppath to Directory & Q
set tmpalias to POSIX file tmppath as alias
set end of aliaslist to tmpalias
end repeat
return aliaslist
end AliasListGen
--########################
on choosefile(prom, seltype, multSel, inv) --(ダイアログに表示される文字列,選択できるファイルタイプリスト,複数選択できるか(Bool),不可視ファイルの表示(Bool))
set deskpath to path to desktop --初期フォルダ設定
choose file with prompt prom of type seltype default location deskpath multiple selections allowed multSel invisibles inv
end choosefile
そっかそっかなるほどね ありがと!
実際似たような事して作ってたんだけど、エイリアスのリスト作るのとか
そもそもon open の中身がどうなってるかってところで一瞬躓いてたわwww
>>157
なんでと言われても、、、普通とかあるのか独学すぎてそういうルーティン的なのしらんのよ ごめん
シフト+Qって押しやすいし目立つから、特に理由ないよ、英語力無いしスペルミス怖いからテスト時の使い捨て変数にqqqとかzzzとかも使う
最終的には辞書見て直すけどさorz
副産物置いとくね エイリアスリストをつくるハンドラ2つ
set aliaslist1 to AliasListGen("/Users/xxx/Desktop/test/")
set aliaslist2 to choosefile("jpgとpngだけ", {"jpg", "png"}, true, false)
--########################
on AliasListGen(Directory) --入力されたDirectory(POSIXパス)にあるすべてのファイルをaliasリストにするハンドラ
set aliaslist to {}
set filelist to list folder Directory
repeat with Q in filelist
set tmppath to Directory & Q
set tmpalias to POSIX file tmppath as alias
set end of aliaslist to tmpalias
end repeat
return aliaslist
end AliasListGen
--########################
on choosefile(prom, seltype, multSel, inv) --(ダイアログに表示される文字列,選択できるファイルタイプリスト,複数選択できるか(Bool),不可視ファイルの表示(Bool))
set deskpath to path to desktop --初期フォルダ設定
choose file with prompt prom of type seltype default location deskpath multiple selections allowed multSel invisibles inv
end choosefile
161名称未設定
2014/02/09(日) 05:17:21.79ID:G4uzaK290 >>159
画像変換スクリプト作ってみたよ!>>160のAliasListGenハンドラ使ってるから追加してください。
set Convfolderpath to POSIX path of (choose folder with prompt "choose folder")
repeat
display dialog Convfolderpath & "
Please input width" default answer "2000" buttons {"Cancel", "TIFF", "JPEG"} default button 3 with title "Image Conversion"
copy the result as list to {intext, selbutton}
try
if (intext as number) > 0 then exit repeat
end try
end repeat
set OutPath to Convfolderpath
set aliaslist1 to AliasListGen(Convfolderpath)
if selbutton is "JPEG" then
ConvProcess("JPEG", intext, ".jpg", aliaslist1, OutPath)
else if selbutton is "TIFF" then
ConvProcess("TIFF", intext, ".tif", aliaslist1, OutPath)
end if
on ConvProcess(format, inWidth, Extension, itemlist, outpathPOSIX)
set tmpnum to 0
repeat with initem in itemlist --JPEG, PNG, TIFFのみ変換 (日本語環境のみ)
tell application "Finder" to set itemkind to get kind of initem
if itemkind is "JPEG イメージ" or itemkind is "PNG イメージ" or itemkind is "TIFF イメージ" then
set tmpnum to tmpnum + 1
tell application "Finder" to set itemname to get name of initem
set ConvitemPOSIX to POSIX path of initem
set itemname to do shell script "echo " & quoted form of itemname & " |sed -e 's/.[^.]*$//g'"
set outitemPOSIX to outpathPOSIX & "[" & tmpnum & "]" & itemname & Extension
do shell script "sips -s format " & format & " --resampleWidth " & inWidth & " " & quoted form of ConvitemPOSIX & " --out " & quoted form of outitemPOSIX
end if
end repeat
end ConvProcess
画像変換スクリプト作ってみたよ!>>160のAliasListGenハンドラ使ってるから追加してください。
set Convfolderpath to POSIX path of (choose folder with prompt "choose folder")
repeat
display dialog Convfolderpath & "
Please input width" default answer "2000" buttons {"Cancel", "TIFF", "JPEG"} default button 3 with title "Image Conversion"
copy the result as list to {intext, selbutton}
try
if (intext as number) > 0 then exit repeat
end try
end repeat
set OutPath to Convfolderpath
set aliaslist1 to AliasListGen(Convfolderpath)
if selbutton is "JPEG" then
ConvProcess("JPEG", intext, ".jpg", aliaslist1, OutPath)
else if selbutton is "TIFF" then
ConvProcess("TIFF", intext, ".tif", aliaslist1, OutPath)
end if
on ConvProcess(format, inWidth, Extension, itemlist, outpathPOSIX)
set tmpnum to 0
repeat with initem in itemlist --JPEG, PNG, TIFFのみ変換 (日本語環境のみ)
tell application "Finder" to set itemkind to get kind of initem
if itemkind is "JPEG イメージ" or itemkind is "PNG イメージ" or itemkind is "TIFF イメージ" then
set tmpnum to tmpnum + 1
tell application "Finder" to set itemname to get name of initem
set ConvitemPOSIX to POSIX path of initem
set itemname to do shell script "echo " & quoted form of itemname & " |sed -e 's/.[^.]*$//g'"
set outitemPOSIX to outpathPOSIX & "[" & tmpnum & "]" & itemname & Extension
do shell script "sips -s format " & format & " --resampleWidth " & inWidth & " " & quoted form of ConvitemPOSIX & " --out " & quoted form of outitemPOSIX
end if
end repeat
end ConvProcess
162名称未設定
2014/02/09(日) 05:38:49.19ID:G4uzaK290 文字数制限厳しくて変な英語に変えたりコメントとかエラー処理とか色々端折ってますorz
入力値の全角半角とか処理とか追加すると良いかも
てかぶっちゃけリピート処理だとシェルスクリプトだけの方が処理は早いと思う
フォルダのパスを取得して
cdしてパイプでつないでsips -s format jpeg -Z 2000 *.tif
でまとめて変換した方が速いんじゃないかな。
そえば
tell application "Finder" to set itemkind to get kind of initem と set itemkind to kind of (info for initem)
ってどっちが速いんだろ何回かmsecで時間計ってみたら、後者の方が速い気もしたんだけど、logの表示がうざったいからtellにしました。
あとget kindとかの英語以外での環境での英語表示とかどうやるんだっけ?
これだと環境依存で気持ち悪いなー
入力値の全角半角とか処理とか追加すると良いかも
てかぶっちゃけリピート処理だとシェルスクリプトだけの方が処理は早いと思う
フォルダのパスを取得して
cdしてパイプでつないでsips -s format jpeg -Z 2000 *.tif
でまとめて変換した方が速いんじゃないかな。
そえば
tell application "Finder" to set itemkind to get kind of initem と set itemkind to kind of (info for initem)
ってどっちが速いんだろ何回かmsecで時間計ってみたら、後者の方が速い気もしたんだけど、logの表示がうざったいからtellにしました。
あとget kindとかの英語以外での環境での英語表示とかどうやるんだっけ?
これだと環境依存で気持ち悪いなー
163名称未設定
2014/02/09(日) 07:12:57.69ID:Eetg+bKV0 UTIを使いましょう。
>>154
"JPEG イメージ"は移植性が無い。
>tell application "Finder"
>set itemkind to get kind of Q
>end tell
>if itemkind is "JPEG イメージ" then
if (type identifier of (info for Q) = "public.jpeg") then
>>160
これだと拡張子無しや".jpeg"は拾えない。
>set aliaslist2 to choosefile("jpgとpngだけ", {"jpg", "png"}, true, false)
set aliaslist2 to choosefile("jpgとpngだけ", {"public.jpeg", "public.png"}, true, false)
>>154
"JPEG イメージ"は移植性が無い。
>tell application "Finder"
>set itemkind to get kind of Q
>end tell
>if itemkind is "JPEG イメージ" then
if (type identifier of (info for Q) = "public.jpeg") then
>>160
これだと拡張子無しや".jpeg"は拾えない。
>set aliaslist2 to choosefile("jpgとpngだけ", {"jpg", "png"}, true, false)
set aliaslist2 to choosefile("jpgとpngだけ", {"public.jpeg", "public.png"}, true, false)
164名称未設定
2014/02/09(日) 08:47:41.45ID:G4uzaK290 >>163
choose fileのタイプにtype identifier指定できたんだ なるほどいいね!
そうなのよ、そこ雑で悩んだの環境依存、type identifierで選別はいい感じだね!
指定フォルダの中身全部処理する時はtryで逃げとけば、中にフォルダが入ってる場合とかtype identifier無いからエラーでパスできる
大容量のフォルダにinfo forするとサイズ計算に時間掛かるみたいだから、一石二鳥だね。
うんスバラッ
てかkindをわざわざ英語出力にとか遠回り過ぎた、まぁちょっと英語出力の仕方も知りたいところだけど、グッジョブありがとう!
てことで>>163さんのアドバイスどおり
>>161の
tell application "Finder" to set itemkind to get kind of initem
if itemkind is "JPEG イメージ" or itemkind is "PNG イメージ" or itemkind is "TIFF イメージ" then
を
try
set itemkind to type identifier of (info for initem)
on error
set itemkind to ""
end try
if itemkind is "public.jpeg" or itemkind is "public.png" or itemkind is "public.tiff" then
に変更します。
あと
set OutPath to Convfolderpath
で無駄に変数増やしちゃってるけど、文字数制限で処理を徐々に消していった名残なので適当に名前変えて消してくださいorz
ありがとうございました!
choose fileのタイプにtype identifier指定できたんだ なるほどいいね!
そうなのよ、そこ雑で悩んだの環境依存、type identifierで選別はいい感じだね!
指定フォルダの中身全部処理する時はtryで逃げとけば、中にフォルダが入ってる場合とかtype identifier無いからエラーでパスできる
大容量のフォルダにinfo forするとサイズ計算に時間掛かるみたいだから、一石二鳥だね。
うんスバラッ
てかkindをわざわざ英語出力にとか遠回り過ぎた、まぁちょっと英語出力の仕方も知りたいところだけど、グッジョブありがとう!
てことで>>163さんのアドバイスどおり
>>161の
tell application "Finder" to set itemkind to get kind of initem
if itemkind is "JPEG イメージ" or itemkind is "PNG イメージ" or itemkind is "TIFF イメージ" then
を
try
set itemkind to type identifier of (info for initem)
on error
set itemkind to ""
end try
if itemkind is "public.jpeg" or itemkind is "public.png" or itemkind is "public.tiff" then
に変更します。
あと
set OutPath to Convfolderpath
で無駄に変数増やしちゃってるけど、文字数制限で処理を徐々に消していった名残なので適当に名前変えて消してくださいorz
ありがとうございました!
165146
2014/02/09(日) 10:51:43.82ID:ohdnntp30166名称未設定
2014/02/15(土) 08:47:51.53ID:mqfLIl2K0 復旧
167名称未設定
2014/02/19(水) 20:41:23.94ID:85Ztrva8P 画像に悪用防止で透かしを入れた画像を作りたいのだが、ASでさくっといけないものだろうか。
168名称未設定
2014/02/19(水) 21:54:02.95ID:Ieto0spB0 シェルスクリプト含ませれば早いだろう
ググって素案できたらまた来いや
ググって素案できたらまた来いや
169名称未設定
2014/02/21(金) 16:09:03.28ID:9KWp105h0 前にmac探で質問して見つからなかったので、自分用にapplescriptでこんなの作ってみたから発表してみる。
ざっくり言うと設定した音量以上の入力で、登録したapplescriptを動作させたり
マウスクリックしたりするapplescriptのアプリケーション
α版だけどこんな感じ、右のボタン達はテスト用だから無いです
http://i.imgur.com/BimdMDV.jpg
キー入力するスクリプトを入れると、音でページスクロールできたりする
ちなみに色付きでスクリプトの確認できる
http://i.imgur.com/JyakDsm.jpg
長いコードの場合はスクロールして確認できる
http://i.imgur.com/EY2TIBZ.jpg
ここからセットしたスクリプトをエディターで開けるmenuついてるから、編集して保存すればすぐ適応される
リピート処理のミスとかでデバックでエディターがフリーズしたくない時のテスト稼働とかにも使えるかも
一応エラー表示できる
http://i.imgur.com/4PTrwkn.jpg
applescriptをなんとなく対応
まだaudio levelコマンドしかないけど
現在の音量数値出力できる、音のレベルを使ったスクリプトにつかえるかな?
http://i.imgur.com/pZ0ijkL.jpg
現状applescriptだからかマルチスレッド系の処理でmallocエラーログがでてなんか気持ち悪い、、、
解決策分かる方いますか?
具体的にはNSSound使って音が止まった時とかAVCaptureSessionのセッションを走らせたときとかにでるGC operationなんちゃらです
稼働には問題ないんだけど、logが出て気持ち悪いなと。。。
GCC_ENABLE_OBJC_GCを無くすと出ないんだけど、なんなんだろう?
なんかGCC外すとAutoreleasePoolが使えなかったり、
CFAbsoluteTimeGetCurrentとか一部のメソッドを使うと落ちたりするから不安定そうなんで入れてるけど
いまいちわからない
webkitのやつみたいにログだけ出る無害なバグなのかな?
ざっくり言うと設定した音量以上の入力で、登録したapplescriptを動作させたり
マウスクリックしたりするapplescriptのアプリケーション
α版だけどこんな感じ、右のボタン達はテスト用だから無いです
http://i.imgur.com/BimdMDV.jpg
キー入力するスクリプトを入れると、音でページスクロールできたりする
ちなみに色付きでスクリプトの確認できる
http://i.imgur.com/JyakDsm.jpg
長いコードの場合はスクロールして確認できる
http://i.imgur.com/EY2TIBZ.jpg
ここからセットしたスクリプトをエディターで開けるmenuついてるから、編集して保存すればすぐ適応される
リピート処理のミスとかでデバックでエディターがフリーズしたくない時のテスト稼働とかにも使えるかも
一応エラー表示できる
http://i.imgur.com/4PTrwkn.jpg
applescriptをなんとなく対応
まだaudio levelコマンドしかないけど
現在の音量数値出力できる、音のレベルを使ったスクリプトにつかえるかな?
http://i.imgur.com/pZ0ijkL.jpg
現状applescriptだからかマルチスレッド系の処理でmallocエラーログがでてなんか気持ち悪い、、、
解決策分かる方いますか?
具体的にはNSSound使って音が止まった時とかAVCaptureSessionのセッションを走らせたときとかにでるGC operationなんちゃらです
稼働には問題ないんだけど、logが出て気持ち悪いなと。。。
GCC_ENABLE_OBJC_GCを無くすと出ないんだけど、なんなんだろう?
なんかGCC外すとAutoreleasePoolが使えなかったり、
CFAbsoluteTimeGetCurrentとか一部のメソッドを使うと落ちたりするから不安定そうなんで入れてるけど
いまいちわからない
webkitのやつみたいにログだけ出る無害なバグなのかな?
170名称未設定
2014/02/21(金) 18:36:12.43ID:Jl0LW+tB0 >>169
Garbage Collection(GC)は、もう使うなだったような
AutoreleasePoolが使えないってのはAutomatic Reference Counting(ARC)がオンになっているんんじゃね。GCとARCは共存できないハズだが共にオンだとGCだけが有効とかかな
GCもARCもオフにしてみるとか
Garbage Collection(GC)は、もう使うなだったような
AutoreleasePoolが使えないってのはAutomatic Reference Counting(ARC)がオンになっているんんじゃね。GCとARCは共存できないハズだが共にオンだとGCだけが有効とかかな
GCもARCもオフにしてみるとか
171名称未設定
2014/02/21(金) 21:19:18.60ID:9KWp105h0 >>170
そうそうGC必須にするとdeprecatedだがらARCに変えろってアラート出る
でもなぜか動作が安定する、GCエラーログ出るけど。。。
ARCはデフォルトで全体でオフになってて試しにONにしてもoffの時と動作は変わりませんでした。
GCオフだと勝手にオンになってのかと思って、個別にCompilerFlagでオフしてみたけど変わらず
CFAbsoluteTimeGetCurrent呼び出すと落ちる以外に
NSTaskでパイプに入ると落ちたり
NSThread使うと処理終了時に落ちる
NSThreadに関して言えばGCオンで動作はするものの、処理終了までメインがかなりの確率でロックされる、たまにロックされないんだけど、
一応NSThreadの isMainThreadで確認するとinitWithTargetで投げた処理は別スレッドになってるみたいなんだけどなんでだろ
ここら辺詳しい方教えてください
そうそうGC必須にするとdeprecatedだがらARCに変えろってアラート出る
でもなぜか動作が安定する、GCエラーログ出るけど。。。
ARCはデフォルトで全体でオフになってて試しにONにしてもoffの時と動作は変わりませんでした。
GCオフだと勝手にオンになってのかと思って、個別にCompilerFlagでオフしてみたけど変わらず
CFAbsoluteTimeGetCurrent呼び出すと落ちる以外に
NSTaskでパイプに入ると落ちたり
NSThread使うと処理終了時に落ちる
NSThreadに関して言えばGCオンで動作はするものの、処理終了までメインがかなりの確率でロックされる、たまにロックされないんだけど、
一応NSThreadの isMainThreadで確認するとinitWithTargetで投げた処理は別スレッドになってるみたいなんだけどなんでだろ
ここら辺詳しい方教えてください
172名称未設定
2014/02/22(土) 04:27:05.52ID:7VQSd7JC0 手持ちのプログラムでちょっと検証してみたら
AVCaptureSessionのstartRunningでGCのエラーログが出るんじゃなくて
SessionのinputsにAVMediaTypeAudioがセットされた状態でstartRunningすると出るみたい
試しにAVMediaTypeVideoでFaceTime CameraをセットしてstartRunningしたら出なかった
もちろんカメラは起動してる
NSSoundの件もあるし音関係を扱うと出る可能性があるかも
やっぱりGCのバグぽい?
それならと思ってaudiotoolboxで鳴らしてみようと適当に書いてみたら、
スタート後少し待ってfreeなんちゃらってでて鳴らなかった、適当だったから書き間違いかもだけど。。。
疲れたからとりまここまで、誰か解決策plz
Mt.lionやMarvでも同じ症状でるのかな そもそもMt.lionからARC対応したからARCでいけるのか?
NSSoundで音が鳴り終わったらエラーが出るサンプル作ったから、試してみて下しあ
ボタン押すとシステムサウンドが鳴ってエラーがあった場合コンソールに表示されます。
↓
AVCaptureSessionのstartRunningでGCのエラーログが出るんじゃなくて
SessionのinputsにAVMediaTypeAudioがセットされた状態でstartRunningすると出るみたい
試しにAVMediaTypeVideoでFaceTime CameraをセットしてstartRunningしたら出なかった
もちろんカメラは起動してる
NSSoundの件もあるし音関係を扱うと出る可能性があるかも
やっぱりGCのバグぽい?
それならと思ってaudiotoolboxで鳴らしてみようと適当に書いてみたら、
スタート後少し待ってfreeなんちゃらってでて鳴らなかった、適当だったから書き間違いかもだけど。。。
疲れたからとりまここまで、誰か解決策plz
Mt.lionやMarvでも同じ症状でるのかな そもそもMt.lionからARC対応したからARCでいけるのか?
NSSoundで音が鳴り終わったらエラーが出るサンプル作ったから、試してみて下しあ
ボタン押すとシステムサウンドが鳴ってエラーがあった場合コンソールに表示されます。
↓
173名称未設定
2014/02/22(土) 04:28:26.91ID:7VQSd7JC0 property ca : current application
on run
set BK to ca's NSBackingStoreBuffered
tell ca's NSWindow's alloc()
initWithContentRect_styleMask_backing_defer_({{300, 300}, {200, 100}}, 3, BK, false)'s autorelease()
setTitle_("NSSoundTest")
set wind to it
end tell
tell current application's NSButton's alloc()
tell initWithFrame_({{0, 0}, {90, 24}})
setTitle_(" Play ")
setTarget_(me)
setBezelStyle_(1)
setAction_("Play:")
set button to it
setTranslatesAutoresizingMaskIntoConstraints_(false)
end tell
end tell
set conview to wind's contentView
conview's addSubview_(button)
set xx to current application's NSLayoutAttributeCenterX
set yy to current application's NSLayoutAttributeCenterY
set xx_con to current application's NSLayoutConstraint's constraintWithItem_attribute_relatedBy_toItem_attribute_multiplier_constant_(conview, xx, ca's NSLayoutRelationEqual, button, xx, 1, 0)'s autorelease()
set yy_con to current application's NSLayoutConstraint's constraintWithItem_attribute_relatedBy_toItem_attribute_multiplier_constant_(conview, yy, ca's NSLayoutRelationEqual, button, yy, 1, 0)'s autorelease()
conview's addConstraint_(xx_con)
conview's addConstraint_(yy_con)
wind's makeKeyAndOrderFront_(me)
end run
on Play_(sender)
ca's NSSound's soundNamed_("Submarine")'s play()
end Play_
on run
set BK to ca's NSBackingStoreBuffered
tell ca's NSWindow's alloc()
initWithContentRect_styleMask_backing_defer_({{300, 300}, {200, 100}}, 3, BK, false)'s autorelease()
setTitle_("NSSoundTest")
set wind to it
end tell
tell current application's NSButton's alloc()
tell initWithFrame_({{0, 0}, {90, 24}})
setTitle_(" Play ")
setTarget_(me)
setBezelStyle_(1)
setAction_("Play:")
set button to it
setTranslatesAutoresizingMaskIntoConstraints_(false)
end tell
end tell
set conview to wind's contentView
conview's addSubview_(button)
set xx to current application's NSLayoutAttributeCenterX
set yy to current application's NSLayoutAttributeCenterY
set xx_con to current application's NSLayoutConstraint's constraintWithItem_attribute_relatedBy_toItem_attribute_multiplier_constant_(conview, xx, ca's NSLayoutRelationEqual, button, xx, 1, 0)'s autorelease()
set yy_con to current application's NSLayoutConstraint's constraintWithItem_attribute_relatedBy_toItem_attribute_multiplier_constant_(conview, yy, ca's NSLayoutRelationEqual, button, yy, 1, 0)'s autorelease()
conview's addConstraint_(xx_con)
conview's addConstraint_(yy_con)
wind's makeKeyAndOrderFront_(me)
end run
on Play_(sender)
ca's NSSound's soundNamed_("Submarine")'s play()
end Play_
174名称未設定
2014/02/25(火) 09:54:30.60ID:sBemAXSz0 だ、だれも試してくれてない。。。
OS依存なのかだけでも知りたいな
マウンテンライオンかマベの方いたら、どうかお願いします。
動作反応見る感じAppleScriptエディタだと
標準でGCC_ENABLE_OBJC_GCがrequiredでコンパイルされるみたい。
CFAbsoluteTimeGetCurrent使えるし
エラー出るし、、、
windowとかをわざわざ作らないでchoose from list使って簡略化しました、再生される音も選べるようにしました。
CFAbsoluteTimeGetCurrent使ってタイトルに時間表示してます
ちなみにlionだと
選択したSEが再生され、音が鳴り終わるごとにコンソールにerrログが出力されます。
ログが出るかでないかだけでも教えてもらえれば幸いです
on run
repeat
set nowtime to (current application's CFAbsoluteTimeGetCurrent()) div 1
set SEList to {"Basso", "Blow", "Bottle", "Frog", "Funk", "Blow", "Glass", "Hero", "Morse", "Ping", "Pop", "Purr"}
set selSE to choose from list SEList with prompt "再生するSEを選択" OK button name "Play" with title nowtime
if selSE is false then
quit me
else
my play(item 1 of selSE)
end if
end repeat
end run
on play(SEName)
current application's NSSound's soundNamed_(SEName)'s play()
end play
OS依存なのかだけでも知りたいな
マウンテンライオンかマベの方いたら、どうかお願いします。
動作反応見る感じAppleScriptエディタだと
標準でGCC_ENABLE_OBJC_GCがrequiredでコンパイルされるみたい。
CFAbsoluteTimeGetCurrent使えるし
エラー出るし、、、
windowとかをわざわざ作らないでchoose from list使って簡略化しました、再生される音も選べるようにしました。
CFAbsoluteTimeGetCurrent使ってタイトルに時間表示してます
ちなみにlionだと
選択したSEが再生され、音が鳴り終わるごとにコンソールにerrログが出力されます。
ログが出るかでないかだけでも教えてもらえれば幸いです
on run
repeat
set nowtime to (current application's CFAbsoluteTimeGetCurrent()) div 1
set SEList to {"Basso", "Blow", "Bottle", "Frog", "Funk", "Blow", "Glass", "Hero", "Morse", "Ping", "Pop", "Purr"}
set selSE to choose from list SEList with prompt "再生するSEを選択" OK button name "Play" with title nowtime
if selSE is false then
quit me
else
my play(item 1 of selSE)
end if
end repeat
end run
on play(SEName)
current application's NSSound's soundNamed_(SEName)'s play()
end play
175名称未設定
2014/02/25(火) 11:13:11.62ID:PY34aknD0 AppleScriptObjCでGCだのARCだのっつうからXcodeでかと思ったらAppleScript Editorでかよっ、しかもなんかちょうちょっと古いOSかよっと思った
ID: 7VQSd7JC0 から ID: 9KWp105h0 へのかと思ったしな
とりあえず、Mountain Lionでは何も問題無く/出なく ブオン って鳴る>>173し、何も問題無く/出なく選んだのが鳴る>>174
古いOSのGC/ARCは
http://piyocast.com/as/archives/2283
らしいよ。Xcodeでの話しのようだけどな
ID: 7VQSd7JC0 から ID: 9KWp105h0 へのかと思ったしな
とりあえず、Mountain Lionでは何も問題無く/出なく ブオン って鳴る>>173し、何も問題無く/出なく選んだのが鳴る>>174
古いOSのGC/ARCは
http://piyocast.com/as/archives/2283
らしいよ。Xcodeでの話しのようだけどな
176名称未設定
2014/02/26(水) 05:35:05.90ID:6RYVbRxr0 >>175
ありがとー!
あ、そのふたつ私です;
AppleScript Editorでアプリ作るってなんか縛りプレイみたいで面白いですよね!
コンソールに
malloc: *** auto malloc[]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error
でないですかやぱり
てことはwebkitと同じGCのバグなのか
しかも今の所lionでAppleScriptObjC.framework使って音関係のメソッド使ったときのみぽいのかな
メモリリークの前にGC必須にしないと即落ちするメソッドがあるので、それらがMountain Lionだとどんな感じになるのか気になる所
でも下位互換考えたらGC必須は外せないか、落ちたらだめだし
エラーログは、ただ表示されてるだけのバグってことで、無視で大丈夫そうかな 気持ち悪いけど。。。
ちなみにXcode上でrequiredでもsupportedでも動作は変わらない感じ
applescriptやってる人でマベにしてる方はいないかな?
そえばAppleScript Editorだけでもスクリプタブルなアプリ作れるってことに気づいた
ありがとー!
あ、そのふたつ私です;
AppleScript Editorでアプリ作るってなんか縛りプレイみたいで面白いですよね!
コンソールに
malloc: *** auto malloc[]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error
でないですかやぱり
てことはwebkitと同じGCのバグなのか
しかも今の所lionでAppleScriptObjC.framework使って音関係のメソッド使ったときのみぽいのかな
メモリリークの前にGC必須にしないと即落ちするメソッドがあるので、それらがMountain Lionだとどんな感じになるのか気になる所
でも下位互換考えたらGC必須は外せないか、落ちたらだめだし
エラーログは、ただ表示されてるだけのバグってことで、無視で大丈夫そうかな 気持ち悪いけど。。。
ちなみにXcode上でrequiredでもsupportedでも動作は変わらない感じ
applescriptやってる人でマベにしてる方はいないかな?
そえばAppleScript Editorだけでもスクリプタブルなアプリ作れるってことに気づいた
177名称未設定
2014/02/28(金) 13:09:21.15ID:/MfpeEpD0 NSSoundを使った、lionでエラーの出るapplescriptのソースで10.6バージョン作って試してみたら、エラーログ発生しませんでした。
それでもう少し細かい検証をしてみました。
CFAbsoluteTimeGetCurrentをapplescriptで直接書くとGCオフの場合クラッシュします。
そこでCFAbsoluteTimeGetCurrentをobjcで表記してapplescriptでそのコードを呼び出す方式にした場合、GCオフでもクラッシュせず機能しました。
これでGCオフで使えないと思われていたメソッドはカバーできそうです。(なぜクラッシュするかは、分かりません)
それと同じ事をNSSoundでも行って見て、気づいた事がありました、
なんとGCオンだとobjcで書いたコード(objcのみで書いたアプリ)でも同じエラーが出るようです。
用はGCをオンにすると、一部のメソッド(現状では音関係)を使うとapplescript関係なくエラーが表示されるようです。
このバグはマーベリックスでもあるみたいなんだけど、誰か検証してくれないかな?>>174あたりのコードをAppleScriptエディタにコピペしてもらえれば
lion以降でもAppleScriptエディタでのコンパイルはデフォでGCオンだと思う
applescriptobjcはGCをオンにしないとメモリがめちゃくちゃ消費されちゃうみたいだから、10.8以前は、GCをオンにするしかないと言われているけど、
ドラッグイベント関連でもGCオフで落ちる事があったから、もしARCでクラッシュが改善されてないならGCオンにするか、
ほとんどのコードをobjcで書かないと行けないことになり、だったら最初からobjcで書けよってことになっちゃう
試しにGCオンで
音を扱う部分のコードを分けてcompilerFlagを-fno-objc-gcにして見たけどGCエラー表示出ました。
GCは公式で使うなって言われてるだけあって、エラーが改善される事は、ないだろうな
ただこのエラー表示での実害は今の所ないのが救い
applescriptで開発してる方はあまりいないと思うけど、今後互換性確認で同様のエラーが出た時の、参考になれば、、、
GCエラーに関して言えば、もうapplescriptの範疇外なのでこれ以上検証しても仕方なさそう
むしろクラッシュの方が問題
Mt.lion機作ろうかな
それでもう少し細かい検証をしてみました。
CFAbsoluteTimeGetCurrentをapplescriptで直接書くとGCオフの場合クラッシュします。
そこでCFAbsoluteTimeGetCurrentをobjcで表記してapplescriptでそのコードを呼び出す方式にした場合、GCオフでもクラッシュせず機能しました。
これでGCオフで使えないと思われていたメソッドはカバーできそうです。(なぜクラッシュするかは、分かりません)
それと同じ事をNSSoundでも行って見て、気づいた事がありました、
なんとGCオンだとobjcで書いたコード(objcのみで書いたアプリ)でも同じエラーが出るようです。
用はGCをオンにすると、一部のメソッド(現状では音関係)を使うとapplescript関係なくエラーが表示されるようです。
このバグはマーベリックスでもあるみたいなんだけど、誰か検証してくれないかな?>>174あたりのコードをAppleScriptエディタにコピペしてもらえれば
lion以降でもAppleScriptエディタでのコンパイルはデフォでGCオンだと思う
applescriptobjcはGCをオンにしないとメモリがめちゃくちゃ消費されちゃうみたいだから、10.8以前は、GCをオンにするしかないと言われているけど、
ドラッグイベント関連でもGCオフで落ちる事があったから、もしARCでクラッシュが改善されてないならGCオンにするか、
ほとんどのコードをobjcで書かないと行けないことになり、だったら最初からobjcで書けよってことになっちゃう
試しにGCオンで
音を扱う部分のコードを分けてcompilerFlagを-fno-objc-gcにして見たけどGCエラー表示出ました。
GCは公式で使うなって言われてるだけあって、エラーが改善される事は、ないだろうな
ただこのエラー表示での実害は今の所ないのが救い
applescriptで開発してる方はあまりいないと思うけど、今後互換性確認で同様のエラーが出た時の、参考になれば、、、
GCエラーに関して言えば、もうapplescriptの範疇外なのでこれ以上検証しても仕方なさそう
むしろクラッシュの方が問題
Mt.lion機作ろうかな
178名称未設定
2014/03/26(水) 18:20:55.71ID:8j8sFi4/0 display notification "sage" with title "Mavericks" sound name "beep"
179名称未設定
2014/03/29(土) 09:04:02.90ID:NNl60dr90 MacOSX 10.8.5です。
FinderにてFinderウィンドウをリスト表示で使用しています。
スクリプトエディタで記録ボタンを押したのち、各リスト項目の幅を調整して記録したのですが、
追加日も名前も同じ「id name」と記録され、
実行してみると名前に二回実行されてしまいます。
当時10.6でも何かが同様だったのを思い出し
やってみたら、種類がid nameでした。
こちらは10.5の記録でkind nameと判明でき、10.6にも通用しましたが、
10.5には追加日なんてありません…。
Finderをスクリプトエディタにドロップし調べたところ
name (name column/以下追加日作成日サイズ種類ラベルバージョンコメント とありました。
これは完全に無理で終了なのでしょうか…。
私は難しい事はできませんが、これはいくらなんでも見捨てられ感を感じます。
Finderにてリスト表示の幅を調整するにはどうしたらいいのでしょうか?
アドバイスなどよろしくお願いします。
FinderにてFinderウィンドウをリスト表示で使用しています。
スクリプトエディタで記録ボタンを押したのち、各リスト項目の幅を調整して記録したのですが、
追加日も名前も同じ「id name」と記録され、
実行してみると名前に二回実行されてしまいます。
当時10.6でも何かが同様だったのを思い出し
やってみたら、種類がid nameでした。
こちらは10.5の記録でkind nameと判明でき、10.6にも通用しましたが、
10.5には追加日なんてありません…。
Finderをスクリプトエディタにドロップし調べたところ
name (name column/以下追加日作成日サイズ種類ラベルバージョンコメント とありました。
これは完全に無理で終了なのでしょうか…。
私は難しい事はできませんが、これはいくらなんでも見捨てられ感を感じます。
Finderにてリスト表示の幅を調整するにはどうしたらいいのでしょうか?
アドバイスなどよろしくお願いします。
180名称未設定
2014/03/29(土) 16:08:35.33ID:e5Jihre30 とりあえず動いた
property vwList : {{v:"name", w:300}, {v:"dateAdded", w:200}, {v:"label", w:150}}
-- vは{"name", "dateModified", "dateCreated", "dateLastOpened", "dateAdded", "size", "kind", "version", "comments", "label"}のどれか。下記(*1)を参照。
on getW(argV)
repeat with itemX in vwList
if v of itemX is argV then
return w of itemX
end if
end repeat
return 0
end getW
tell application "Finder"
set current view of front window to list view
end tell
tell application "System Events"
tell application process "Finder"
tell outline 1 of scroll area 2 of splitter group 1 of front window
--(*1) vに取りうる値は下記文にて表示。
--value of attribute "AXIdentifier" of every column
repeat with x from 1 to (count of column)
tell column x
set v to value of attribute "AXIdentifier"
set newW to my getW(v)
if newW is not 0 then
set {w, h} to size
set size to {newW, h}
end if
end tell
end repeat
end tell
end tell
end tell
property vwList : {{v:"name", w:300}, {v:"dateAdded", w:200}, {v:"label", w:150}}
-- vは{"name", "dateModified", "dateCreated", "dateLastOpened", "dateAdded", "size", "kind", "version", "comments", "label"}のどれか。下記(*1)を参照。
on getW(argV)
repeat with itemX in vwList
if v of itemX is argV then
return w of itemX
end if
end repeat
return 0
end getW
tell application "Finder"
set current view of front window to list view
end tell
tell application "System Events"
tell application process "Finder"
tell outline 1 of scroll area 2 of splitter group 1 of front window
--(*1) vに取りうる値は下記文にて表示。
--value of attribute "AXIdentifier" of every column
repeat with x from 1 to (count of column)
tell column x
set v to value of attribute "AXIdentifier"
set newW to my getW(v)
if newW is not 0 then
set {w, h} to size
set size to {newW, h}
end if
end tell
end repeat
end tell
end tell
end tell
181名称未設定
2014/04/01(火) 01:58:03.39ID:ynLRXj0p0182名称未設定
2014/04/15(火) 17:50:21.49ID:SZkyhnNr0 OS X (10.9.2)のターミナルからosascriptで動かそうとしているんですが、
以下のパターン1と2では
execution error: CotEditor got an error: Can’t get contents of selection of document 1. (-1728)
というエラーがでてしまいます。
パターン3だと上手く動くのですが、
パターン1と2でエラーになってしまう理由はなんなのでしょうか?
最終的にはパターン1の形で動かそうとしています。
【パターン1:エラー】
#!/usr/bin/osascript
set activeApp to path to frontmost application as text
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
【パターン2:エラー】
#!/usr/bin/osascript
set activeApp to "Macintosh HD:Applications:MustApp:CotEditor.app:"
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
【パターン3:成功】
#!/usr/bin/osascript
tell application "Macintosh HD:Applications:MustApp:CotEditor.app:"
set note_text to contents of selection of front document
end tell
return note_text
以下のパターン1と2では
execution error: CotEditor got an error: Can’t get contents of selection of document 1. (-1728)
というエラーがでてしまいます。
パターン3だと上手く動くのですが、
パターン1と2でエラーになってしまう理由はなんなのでしょうか?
最終的にはパターン1の形で動かそうとしています。
【パターン1:エラー】
#!/usr/bin/osascript
set activeApp to path to frontmost application as text
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
【パターン2:エラー】
#!/usr/bin/osascript
set activeApp to "Macintosh HD:Applications:MustApp:CotEditor.app:"
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
【パターン3:成功】
#!/usr/bin/osascript
tell application "Macintosh HD:Applications:MustApp:CotEditor.app:"
set note_text to contents of selection of front document
end tell
return note_text
183名称未設定
2014/04/15(火) 18:37:52.52ID:fqFcyd/l0 >>182
文字列リテラルではない、
tell application アプリケーションバンドルへのpath
は、正式にはサポートしていないとしか見えないねえ
frontmost applicationにはなら
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
tell application activeApp
でいいんじゃないの
文字列リテラルではない、
tell application アプリケーションバンドルへのpath
は、正式にはサポートしていないとしか見えないねえ
frontmost applicationにはなら
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
tell application activeApp
でいいんじゃないの
184名称未設定
2014/04/15(火) 18:43:07.83ID:fqFcyd/l0 >>183
×
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
○
tell application "System Events" to set activeApp to item 1 of (get name of application processes whose frontmost is true)
×
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
○
tell application "System Events" to set activeApp to item 1 of (get name of application processes whose frontmost is true)
185名称未設定
2014/04/15(火) 19:17:18.30ID:SZkyhnNr0186名称未設定
2014/04/15(火) 20:04:50.33ID:fqFcyd/l0 >>185
ちなみにTerminalでやれば
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
は、Terminalだよ。前のdelay入れて、その間にCotEditorを表にしてってしてるんだよね?
ちなみにTerminalでやれば
tell application "System Events" to set activeApp to name of application processes whose frontmost is true
は、Terminalだよ。前のdelay入れて、その間にCotEditorを表にしてってしてるんだよね?
187名称未設定
2014/04/15(火) 20:07:12.17ID:fqFcyd/l0188名称未設定
2014/04/15(火) 20:12:34.56ID:SZkyhnNr0189名称未設定
2014/04/15(火) 22:31:26.66ID:fqFcyd/l0 >>188
どうもCotEditor側の問題のような
documentのプロパティのアクセスで、Text Suiteにはアクセスできるが、CotEditor suiteにはことごとく失敗する
なんで application リテラルと変数 で、CotEditor内の処理に関係するのかわからんけど
contents of selection は CotEditor 独自なんだよね?
telll application "CotEditor"
で、いいんでないの?
どうもCotEditor側の問題のような
documentのプロパティのアクセスで、Text Suiteにはアクセスできるが、CotEditor suiteにはことごとく失敗する
なんで application リテラルと変数 で、CotEditor内の処理に関係するのかわからんけど
contents of selection は CotEditor 独自なんだよね?
telll application "CotEditor"
で、いいんでないの?
190名称未設定
2014/04/15(火) 23:01:57.14ID:WdFslrQw0 この形でもよければ(うちは10.8.5だけど)
【パターン1、改】
#!/bin/sh
activeApp="`
osascript - <<EOS1
set activeApp to path to frontmost application as text
EOS1
`"
osascript - <<EOS2
tell application "$activeApp"
set note_text to contents of selection of front document
end tell
return note_text
EOS2
【パターン2、改】
#!/usr/bin/osascript
set activeApp to "CotEditor"
using terms from application "CotEditor"
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
end using terms from
【パターン1、改】
#!/bin/sh
activeApp="`
osascript - <<EOS1
set activeApp to path to frontmost application as text
EOS1
`"
osascript - <<EOS2
tell application "$activeApp"
set note_text to contents of selection of front document
end tell
return note_text
EOS2
【パターン2、改】
#!/usr/bin/osascript
set activeApp to "CotEditor"
using terms from application "CotEditor"
tell application activeApp
set note_text to contents of selection of front document
end tell
return note_text
end using terms from
191名称未設定
2014/04/15(火) 23:48:23.27ID:SZkyhnNr0 >>189
activeAppを使いたい理由はこんな形を想定していたからです。
tell application activeApp
if activeApp = "CotEditor" then
else if activeApp = "TextMate" then
else
end if
end tell
とりあえずは、ifを外側にもってくれば動きそうです。
if activeApp = "CotEditor" then
tell application "CotEditor"
end tell
else if activeApp = "TextMate" then
tell application "TextMate"
end tell
end if
>>190
ありがとうございます。
勉強になりました。
もう少し試行錯誤してみようと思います。
activeAppを使いたい理由はこんな形を想定していたからです。
tell application activeApp
if activeApp = "CotEditor" then
else if activeApp = "TextMate" then
else
end if
end tell
とりあえずは、ifを外側にもってくれば動きそうです。
if activeApp = "CotEditor" then
tell application "CotEditor"
end tell
else if activeApp = "TextMate" then
tell application "TextMate"
end tell
end if
>>190
ありがとうございます。
勉強になりました。
もう少し試行錯誤してみようと思います。
192名称未設定
2014/04/24(木) 21:02:35.85ID:lnhClB9r0 iPhoneでエロ画像保存→フォトストリームでiPhotoライブラリに追加されたエロ画像を手動で外付HDDに移動させてるんだけど、移動させた後iPhotoライブラリのエロ画像+フォトストリームのエロ画像+iPhoneのエロ画像を消すのが地味に面倒くさい。
iPhoneは仕方ないとして、iPhotoで選択した画像を移動→選択した画像+フォトストリーム上の同一ファイルを削除させるようなスクリプトは可能です?
ちなみにautomatorだったり直接iPhotoライブラリフォルダ内の画像を移動させても、iPhoto上にサムネイルが残ってしまいます...
iPhoneは仕方ないとして、iPhotoで選択した画像を移動→選択した画像+フォトストリーム上の同一ファイルを削除させるようなスクリプトは可能です?
ちなみにautomatorだったり直接iPhotoライブラリフォルダ内の画像を移動させても、iPhoto上にサムネイルが残ってしまいます...
193名称未設定
2014/04/24(木) 23:10:53.17ID:hXjbnSYt0 >>192
そんな面倒なことしなくてもiPhoneで保存→別Appで管理→フォトストリームから削除
じゃだめなのか?
外付けに移動させてるあたりファイル単位で管理したいようだし、それなら相応のApp使った方がいいのでは
そんな面倒なことしなくてもiPhoneで保存→別Appで管理→フォトストリームから削除
じゃだめなのか?
外付けに移動させてるあたりファイル単位で管理したいようだし、それなら相応のApp使った方がいいのでは
194名称未設定
2014/04/24(木) 23:11:36.18ID:hXjbnSYt0 補足、フォトストリームは外部Appから管理しづらいので収集から別Appでやったほうが効率的だ
195名称未設定
2014/04/26(土) 18:19:15.04ID:HG5IzbCx0196名称未設定
2014/04/26(土) 21:26:44.17ID:vKs6oC1D0 最近書いてなかった。昨日ちょっと書いたけど、
なんかVBはおぼつかないけど、ASはすらすら書けた。
こんな便利な言語、Mac使う人はみんな使えばいいのにね。
なんでこんなに普及しないんだろ。
なんかVBはおぼつかないけど、ASはすらすら書けた。
こんな便利な言語、Mac使う人はみんな使えばいいのにね。
なんでこんなに普及しないんだろ。
197名称未設定
2014/05/14(水) 22:03:09.50ID:DYqCOVee0 名刺を黒い板の上でデジカメで撮影したのが1000枚くらいあるんだけど、
黒い部分がどうも気になるのでトリミングしたい。
しかし、適当に撮影したものなので位置は微妙にばらばら。
すべての画像から名刺部分だけをトリミングするスクリプトって
なんかアイデアある? WinだったらImageTrimmerってのでできるみたいだけど。
Photoshopでなぜかうまく自動で切り抜きができない。
黒い部分がどうも気になるのでトリミングしたい。
しかし、適当に撮影したものなので位置は微妙にばらばら。
すべての画像から名刺部分だけをトリミングするスクリプトって
なんかアイデアある? WinだったらImageTrimmerってのでできるみたいだけど。
Photoshopでなぜかうまく自動で切り抜きができない。
199名称未設定
2014/05/15(木) 05:20:43.79ID:zC936+D10 >>197
http://i.imgur.com/BojwvPN.jpg
四角の名刺しか無理だけど、画像の色の境目をスキャンして点a、bの座標を取得すれば
θ=atan(y/x)で角度から傾きを補正できる
あとは点a、cの座標で長方形に切り抜けばいいんじゃないかな。
そのままだと画像のサイズがバラバラになって気持ち悪いから、
縦か横の最大サイズ指定してそのサイズにリサイズするといいと思う。
http://i.imgur.com/BojwvPN.jpg
四角の名刺しか無理だけど、画像の色の境目をスキャンして点a、bの座標を取得すれば
θ=atan(y/x)で角度から傾きを補正できる
あとは点a、cの座標で長方形に切り抜けばいいんじゃないかな。
そのままだと画像のサイズがバラバラになって気持ち悪いから、
縦か横の最大サイズ指定してそのサイズにリサイズするといいと思う。
200名称未設定
2014/05/15(木) 21:47:25.56ID:60RgR0or0 >>198
なんかネットに書いてあるように
画像開く
メニューから「トリミング」
オプションを指定
、、、、、、で出来なかったけど、トリミングする前に余黒の部分意外を
選択せんといかんのかな? ちょっとすぐには試せないけど。
>>198
画像の色の境目をスキャンって意味がわかりません。
図のaとbの座標をどう検出する?
てか、基本GUIスクリプティングで傾き補正すればいいような気はするけど。
もうひとつ、黒い板が真っ黒でなくムラがちょっとあって、マジックワンドで
余黒部分を一括選択とかできない(ASで同様のことできるのかわからないけど)
ほぼ初めてPSでASやってみようと思ってるけど、やっぱ画像いじるような処理は
なかなか難しいわ。苦戦中
なんかネットに書いてあるように
画像開く
メニューから「トリミング」
オプションを指定
、、、、、、で出来なかったけど、トリミングする前に余黒の部分意外を
選択せんといかんのかな? ちょっとすぐには試せないけど。
>>198
画像の色の境目をスキャンって意味がわかりません。
図のaとbの座標をどう検出する?
てか、基本GUIスクリプティングで傾き補正すればいいような気はするけど。
もうひとつ、黒い板が真っ黒でなくムラがちょっとあって、マジックワンドで
余黒部分を一括選択とかできない(ASで同様のことできるのかわからないけど)
ほぼ初めてPSでASやってみようと思ってるけど、やっぱ画像いじるような処理は
なかなか難しいわ。苦戦中
201名称未設定
2014/05/16(金) 08:37:55.51ID:qCvHB/PF0 Xcode で、 AS で TableView にデータを追加する方法おしえてください。すごく単純な質問で
すみませんが、ググってもうまくいきません。
また、Xcodeでの使い方をまとめてあるサイトがあったら教えてください。
tell aTextView to setStringValue_(strVal)
を調べるのに丸一日かかったので、、
すみませんが、ググってもうまくいきません。
また、Xcodeでの使い方をまとめてあるサイトがあったら教えてください。
tell aTextView to setStringValue_(strVal)
を調べるのに丸一日かかったので、、
202名称未設定
2014/05/16(金) 09:05:53.87ID:5Z546CfG0 >>201
海外にASOCの電子書籍あるよ! 買えばすぐに分かる。
やるつもりなら買ってね。3000円くらいだったかな?
買えば基礎がわかり、そうするとWEBにある情報が活用できる。
ぴよさんのところに情報があったような。
海外にASOCの電子書籍あるよ! 買えばすぐに分かる。
やるつもりなら買ってね。3000円くらいだったかな?
買えば基礎がわかり、そうするとWEBにある情報が活用できる。
ぴよさんのところに情報があったような。
203名称未設定
2014/05/16(金) 09:34:00.84ID:LWnNIW3E0 >>201
簡単な方法だと
xibでArray Controller追加して
Content Arrayにリスト型のpropertyをBinding
missing value の適当な変数(theArray)にArray Controllerを接続
Object ControllerにKey追加してTableViewのColumnのValueに
Bind to Array Controller で
Controller Key をarrangedObjectsにして
Model Key Path に追加したKeyを書き込む
これでxibの準備おk
新たにrowpartってクラス作ってそれのpropertyとKeyが連動する
例えば
set newobj to current application's rowpart's alloc's init()
theArray's addObject_(newobj)
他にkeyを変数名にしたレコードを追加するだけでも、列に追加できたと思う
でも違うクラスで管理した方が動的に管理しやすいからおすすめ
簡単な方法だと
xibでArray Controller追加して
Content Arrayにリスト型のpropertyをBinding
missing value の適当な変数(theArray)にArray Controllerを接続
Object ControllerにKey追加してTableViewのColumnのValueに
Bind to Array Controller で
Controller Key をarrangedObjectsにして
Model Key Path に追加したKeyを書き込む
これでxibの準備おk
新たにrowpartってクラス作ってそれのpropertyとKeyが連動する
例えば
set newobj to current application's rowpart's alloc's init()
theArray's addObject_(newobj)
他にkeyを変数名にしたレコードを追加するだけでも、列に追加できたと思う
でも違うクラスで管理した方が動的に管理しやすいからおすすめ
204名称未設定
2014/05/16(金) 21:56:27.55ID:DGo5mYXH0 なんかASOCでsandboxできるようになってた。俺もMacAppデビューか?
205名称未設定
2014/05/17(土) 18:46:23.15ID:iUPgYNrF0 IllustratorCS5なんですが、前面へペーストってAppleScript上でできないですかね?
ライブラリ見ても普通のpasteしかなかったもので・・・
ライブラリ見ても普通のpasteしかなかったもので・・・
206名称未設定
2014/05/18(日) 07:28:20.66ID:SZDwTVIE0 GUIスクリプトでいけんじゃね?
207名称未設定
2014/05/18(日) 12:23:40.65ID:1SamfBSc0 あ〜なるほど
そんなこともできるんですね
元座標を取得して〜とかややこしいこと考えてました
ありがとうございます
そんなこともできるんですね
元座標を取得して〜とかややこしいこと考えてました
ありがとうございます
208名称未設定
2014/05/21(水) 08:25:30.47ID:gZlbtxpxi AppleScriptエディタの背景は変えれないのでしょうか?
黒にしたいんですけど
黒にしたいんですけど
209名称未設定
2014/05/29(木) 19:59:33.42ID:8Urv7sLM0 教えてください
先日10.8.5から10.9.3に上げたところ、10.8.5のAppleScript EditorのCocoa-AppleScript Appletテンプレから作ったアプリがクラッシュするようになってしまいました
アプリは単純で、通知センターに通知を出す、通知がクリックされたら再処理する(a)、スリープから復帰したら再処理する(b)、程度のものです
クラッシュログを見ると、(a)や(b)用に設定したデリゲート、オブザーバのメソッド呼び出しで、メソッドが見つからないと言っているようです
とりあえず10.9.3のAppleScript Editorで作り直してみましたが変わりません
前・現スレを追ったりググったり、この一件 https://discussionsjapan.apple.com/thread/10139456 は見つかりましたが、解決していないようです(クラッシュログが似ているので同様の原因と思います)
10.9ではこう直す必要があるなど、お分かりでしたら教えてください
(続く)
先日10.8.5から10.9.3に上げたところ、10.8.5のAppleScript EditorのCocoa-AppleScript Appletテンプレから作ったアプリがクラッシュするようになってしまいました
アプリは単純で、通知センターに通知を出す、通知がクリックされたら再処理する(a)、スリープから復帰したら再処理する(b)、程度のものです
クラッシュログを見ると、(a)や(b)用に設定したデリゲート、オブザーバのメソッド呼び出しで、メソッドが見つからないと言っているようです
とりあえず10.9.3のAppleScript Editorで作り直してみましたが変わりません
前・現スレを追ったりググったり、この一件 https://discussionsjapan.apple.com/thread/10139456 は見つかりましたが、解決していないようです(クラッシュログが似ているので同様の原因と思います)
10.9ではこう直す必要があるなど、お分かりでしたら教えてください
(続く)
210名称未設定
2014/05/29(木) 20:00:20.21ID:8Urv7sLM0 再現スクリプト
on run
my setWake()
my putNotification()
end run
on wake:aNotification
NSLog("%@", "wake_")
end wake:
on setWake()
tell my NSWorkspace's sharedWorkspace()'s notificationCenter()
addObserver_selector_name_object_(me, "wake:", "NSWorkspaceDidWakeNotification", missing value)
end tell
end setWake
on putNotification()
set uNotification to my NSUserNotification's alloc()'s init()
tell uNotification
setTitle_("Title")
setSubtitle_("Subtitle")
end tell
tell my NSUserNotificationCenter's defaultUserNotificationCenter()
setDelegate_(me)
deliverNotification_(uNotification)
end tell
end putNotification
on userNotificationCenter:aCenter didActivateNotification:aNotification
NSLog("%@", "activate")
end userNotificationCenter:didActivateNotification:
(続く)
on run
my setWake()
my putNotification()
end run
on wake:aNotification
NSLog("%@", "wake_")
end wake:
on setWake()
tell my NSWorkspace's sharedWorkspace()'s notificationCenter()
addObserver_selector_name_object_(me, "wake:", "NSWorkspaceDidWakeNotification", missing value)
end tell
end setWake
on putNotification()
set uNotification to my NSUserNotification's alloc()'s init()
tell uNotification
setTitle_("Title")
setSubtitle_("Subtitle")
end tell
tell my NSUserNotificationCenter's defaultUserNotificationCenter()
setDelegate_(me)
deliverNotification_(uNotification)
end tell
end putNotification
on userNotificationCenter:aCenter didActivateNotification:aNotification
NSLog("%@", "activate")
end userNotificationCenter:didActivateNotification:
(続く)
211名称未設定
2014/05/29(木) 20:01:12.23ID:8Urv7sLM0 (a)のクラッシュログの抜粋(クラッシュは通知が出てすぐ起きる)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
Application Specific Information:
objc_msgSend() selector name: respondsToSelector:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff91b30097 objc_msgSend + 23
1 com.apple.Foundation 0x00007fff90465b1c -[_NSConcreteUserNotificationCenter _sendDelegateMessage:sendToAppDelegate:withNotificationFromMessage:] + 52
2 com.apple.Foundation 0x00007fff904665ca __54-[_NSConcreteUserNotificationCenter _serverConnection]_block_invoke_2 + 199
(b)のクラッシュログの抜粋((a)を設定しないようにし、スリープから復帰したとき)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
Application Specific Information:
objc_msgSend() selector name: wake:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff91b30097 objc_msgSend + 23
1 com.apple.CoreFoundation 0x00007fff8d61fe0c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
2 com.apple.CoreFoundation 0x00007fff8d5138dd _CFXNotificationPost + 2893
3 com.apple.Foundation 0x00007fff9020c7ba -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
4 com.apple.AppKit 0x00007fff94bb949c powerSubsystemCallback + 125
(以上)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
Application Specific Information:
objc_msgSend() selector name: respondsToSelector:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff91b30097 objc_msgSend + 23
1 com.apple.Foundation 0x00007fff90465b1c -[_NSConcreteUserNotificationCenter _sendDelegateMessage:sendToAppDelegate:withNotificationFromMessage:] + 52
2 com.apple.Foundation 0x00007fff904665ca __54-[_NSConcreteUserNotificationCenter _serverConnection]_block_invoke_2 + 199
(b)のクラッシュログの抜粋((a)を設定しないようにし、スリープから復帰したとき)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
Application Specific Information:
objc_msgSend() selector name: wake:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff91b30097 objc_msgSend + 23
1 com.apple.CoreFoundation 0x00007fff8d61fe0c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
2 com.apple.CoreFoundation 0x00007fff8d5138dd _CFXNotificationPost + 2893
3 com.apple.Foundation 0x00007fff9020c7ba -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
4 com.apple.AppKit 0x00007fff94bb949c powerSubsystemCallback + 125
(以上)
212名称未設定
2014/05/30(金) 16:41:48.89ID:w2GSLBfm0 上記で質問した者ですが、とりあえず解決できたっぽいです
参照ページ ttp://macscripter.net/viewtopic.php?id=42087
参照スクリプト ttp://macosxautomation.com/lion/applescript.html の Applet with Progress Window
再現スクリプトを下記のように分割し、修正します
main.scptの内容
on run
set mySubScpt to my subScpt's alloc()'s init()
tell mySubScpt
setWake()
putNotification()
end tell
end run
(続く)
参照ページ ttp://macscripter.net/viewtopic.php?id=42087
参照スクリプト ttp://macosxautomation.com/lion/applescript.html の Applet with Progress Window
再現スクリプトを下記のように分割し、修正します
main.scptの内容
on run
set mySubScpt to my subScpt's alloc()'s init()
tell mySubScpt
setWake()
putNotification()
end tell
end run
(続く)
213名称未設定
2014/05/30(金) 16:42:24.82ID:w2GSLBfm0 sub.scptの内容(CocoaAppletAppDelegate.scptと同じ階層に置きます)
script subScpt
on wake:aNotification
NSLog("%@", "wake_")
end wake:
on setWake()
tell my NSWorkspace's sharedWorkspace()'s notificationCenter()
addObserver_selector_name_object_(me, "wake:", "NSWorkspaceDidWakeNotification", missing value)
end tell
end setWake
on putNotification()
set uNotification to my NSUserNotification's alloc()'s init()
tell uNotification
setTitle_("Title")
setSubtitle_("Subtitle")
end tell
tell my NSUserNotificationCenter's defaultUserNotificationCenter()
setDelegate_(me)
deliverNotification_(uNotification)
end tell
end putNotification
on userNotificationCenter:aCenter didActivateNotification:aNotification
NSLog("%@", "activate")
end userNotificationCenter:didActivateNotification:
on NSLog(fmg, msg)
do shell script "syslog -s -l Notice " & msg
end NSLog
end script
(以上)
script subScpt
on wake:aNotification
NSLog("%@", "wake_")
end wake:
on setWake()
tell my NSWorkspace's sharedWorkspace()'s notificationCenter()
addObserver_selector_name_object_(me, "wake:", "NSWorkspaceDidWakeNotification", missing value)
end tell
end setWake
on putNotification()
set uNotification to my NSUserNotification's alloc()'s init()
tell uNotification
setTitle_("Title")
setSubtitle_("Subtitle")
end tell
tell my NSUserNotificationCenter's defaultUserNotificationCenter()
setDelegate_(me)
deliverNotification_(uNotification)
end tell
end putNotification
on userNotificationCenter:aCenter didActivateNotification:aNotification
NSLog("%@", "activate")
end userNotificationCenter:didActivateNotification:
on NSLog(fmg, msg)
do shell script "syslog -s -l Notice " & msg
end NSLog
end script
(以上)
214名称未設定
2014/06/07(土) 06:47:40.02ID:K4QUfk3I0 なんかさ、お手製のASOCアプリで、テキストファイル(具体的にはHTMLファイル)を
動的に作成しているんだけど、おなじみのカタカナ濁点問題でsqliteからデータがヒット
しなかったため、do shell script iconvで文字コード変換する仕組みを試したら、
その後、そのマシンでは全部文字化け???????とかするようになってしまった。
元に戻したつもりだが、それでも文字化けしっぱなし。他のマシンで動かすと
普通に表示される。これ、何がおかしくなってしまったのだろう? 皆目検討がつかない。
動的に作成しているんだけど、おなじみのカタカナ濁点問題でsqliteからデータがヒット
しなかったため、do shell script iconvで文字コード変換する仕組みを試したら、
その後、そのマシンでは全部文字化け???????とかするようになってしまった。
元に戻したつもりだが、それでも文字化けしっぱなし。他のマシンで動かすと
普通に表示される。これ、何がおかしくなってしまったのだろう? 皆目検討がつかない。
215名称未設定
2014/06/07(土) 16:24:00.67ID:zIxkH1WO0 >>214
>>そのマシンでは全部文字化け???????とかするようになってしまった。
なにが文字化けしたのか、テキストファイルなのか、ブラウザなのか、UIとかテキストが使われている所すべてなのか?
作成したHTMLの文字コードは、確認した?
カタカナ濁点はis inとか使って、どうにかしたような気がする
>>そのマシンでは全部文字化け???????とかするようになってしまった。
なにが文字化けしたのか、テキストファイルなのか、ブラウザなのか、UIとかテキストが使われている所すべてなのか?
作成したHTMLの文字コードは、確認した?
カタカナ濁点はis inとか使って、どうにかしたような気がする
216名称未設定
2014/06/10(火) 14:31:45.38ID:TLtyEFvp0 OSX 10.10にはJavaScriptのOSA componentが追加される。
JavaScript for Automation Release Notes
https://developer.apple.com/library/prerelease/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.html
これってScript Debuggerを出してるLate Night Softwareが以前配布してたJavaScript
OSAの焼き直しだね。Objective-C Bridge機能は新しいけど。
以前はAppleScript以外にもOSA componentはいくつもあったのに廃れてしまったけど、
これを機にまた色々出ると良いね。
JavaScript for Automation Release Notes
https://developer.apple.com/library/prerelease/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.html
これってScript Debuggerを出してるLate Night Softwareが以前配布してたJavaScript
OSAの焼き直しだね。Objective-C Bridge機能は新しいけど。
以前はAppleScript以外にもOSA componentはいくつもあったのに廃れてしまったけど、
これを機にまた色々出ると良いね。
217名称未設定
2014/06/11(水) 22:21:00.84ID:WohYruh00 SwiftってASOCに影響あるんだろうか?
218名称未設定
2014/06/12(木) 22:47:56.02ID:5DhLMxc40 全く無いと思うよ
219名称未設定
2014/06/13(金) 00:37:42.31ID:5iWW/8Q60 影響は無いだろう。ただ、Swift Script Editorが提供されiOSで動く事に・・
220名称未設定
2014/06/13(金) 01:29:06.16ID:BH+9QlRy0 個人的にはVB VCとかObj-Cとか扱えないからSwiftは助かるわ。
なんかビジュアル的にどうのこうのするのは苦手。
プログラムは手打ちだろjk
なんかビジュアル的にどうのこうのするのは苦手。
プログラムは手打ちだろjk
221名称未設定
2014/06/13(金) 23:16:46.98ID:7WuVEZau0 質問です
OSは10.9で、実行環境はAutomatorによるサービス内の「AppleScriptを実行する」です。
以下のようなスクリプトで、選択したテキストをSafariで開いたページ(hoge)のテキストフィールドに入力しようとしています。
しかし、テキストに改行が含まれているとうまくいきません。解決法を教えてください。
on run {input, parameters}
tell application "Safari"
make new document with properties {URL:"hoge"}
(省略)
do JavaScript "document.getElementsByName('text')[0].value = '" & input & "'" in document 1
end tell
return input
OSは10.9で、実行環境はAutomatorによるサービス内の「AppleScriptを実行する」です。
以下のようなスクリプトで、選択したテキストをSafariで開いたページ(hoge)のテキストフィールドに入力しようとしています。
しかし、テキストに改行が含まれているとうまくいきません。解決法を教えてください。
on run {input, parameters}
tell application "Safari"
make new document with properties {URL:"hoge"}
(省略)
do JavaScript "document.getElementsByName('text')[0].value = '" & input & "'" in document 1
end tell
return input
222名称未設定
2014/06/14(土) 08:54:27.08ID:BqgujY2d0 >>221
文字列が途中で分断(改行)されるから、JavaScript文法エラーになるんじゃね
改行毎の文字列に分けてJavascriptで結合するとか、URLエスケープとかで1行にしてJavascriptで戻すとかかなあ
set urlEncodedInput do shell script "/usr/bin/php -r 'echo trim(urlencode(" & "¥"" & quoted form of input & "" & "¥"));'"
do JavaScript "document.getElementsByName('text')[0].value = decodeURIComponent( '" & urlEncodedInput & "');" in document 1
なんて
文字列が途中で分断(改行)されるから、JavaScript文法エラーになるんじゃね
改行毎の文字列に分けてJavascriptで結合するとか、URLエスケープとかで1行にしてJavascriptで戻すとかかなあ
set urlEncodedInput do shell script "/usr/bin/php -r 'echo trim(urlencode(" & "¥"" & quoted form of input & "" & "¥"));'"
do JavaScript "document.getElementsByName('text')[0].value = decodeURIComponent( '" & urlEncodedInput & "');" in document 1
なんて
224名称未設定
2014/06/14(土) 20:01:40.28ID:ZFqWjo7C0 >>223
多分IBのbindingとかのこと言ってるんだろうけど、扱えないって言ってるから、そんな言えないけどさ
全部コードで出来るのにな。てかswiftもbindingって意味ならマウスでドラッグして線繋ぐ所は、同じなのに...
多分IBのbindingとかのこと言ってるんだろうけど、扱えないって言ってるから、そんな言えないけどさ
全部コードで出来るのにな。てかswiftもbindingって意味ならマウスでドラッグして線繋ぐ所は、同じなのに...
225名称未設定
2014/06/30(月) 00:54:26.49ID:IeiIh5C50 特定のデスクトップを指定して、ウィンドウを再配置することは可能でしょうか?
デスクトップというのは、トラックパッドを3本指か4本指左右スワイプできりかえるものです。
Macbook Air を外部ディスプレイにつないだとき、
Air 本体のディスプレイのデスクトップ1 にクローム、
Air 本体のディスプレイのデスクトップ2にファインダー2つ、
外部ディスプレイのデスクトップ3 にテキストエディタ
という風に適切なウィンドウリサイズで再配置したいのです。
デスクトップというのは、トラックパッドを3本指か4本指左右スワイプできりかえるものです。
Macbook Air を外部ディスプレイにつないだとき、
Air 本体のディスプレイのデスクトップ1 にクローム、
Air 本体のディスプレイのデスクトップ2にファインダー2つ、
外部ディスプレイのデスクトップ3 にテキストエディタ
という風に適切なウィンドウリサイズで再配置したいのです。
226名称未設定
2014/07/03(木) 11:46:09.68ID:9XALmAAL0 何もしないアプリケーションをデスクトップの数だけ作って
Dockで各デスクトップに割り当てておき
それを実行した後で目的のアプリで新規ウィンドウを開けばいいんじゃないでしょうか
Dockで各デスクトップに割り当てておき
それを実行した後で目的のアプリで新規ウィンドウを開けばいいんじゃないでしょうか
227名称未設定
2014/07/03(木) 12:57:14.43ID:Aqyg/V0F0 デスクトップの切り替えを試行(キーボードショートカットで ^1 ^2 が定義されているとき)
tell application "System Events"
delay 1
key code 19 using control down -- switch to desktop 2
delay 1
key code 18 using control down -- switch to desktop 1
end tell
tell application "System Events"
delay 1
key code 19 using control down -- switch to desktop 2
delay 1
key code 18 using control down -- switch to desktop 1
end tell
228名称未設定
2014/07/03(木) 16:31:10.31ID:AqXSO5JN0229名称未設定
2014/07/05(土) 12:12:19.68ID:YyTe2e2J0 ASは幸せでいいなあ。スクリプト書いてて楽しいもの。
230名称未設定
2014/07/15(火) 03:19:28.79ID:wYxshpyA0 選択範囲のテキストを (* *) で囲みたいのですがうまく行きません。
tell application "System Events"
set oriClip to the clipboard
keystroke "x" using {command down}
set the clipboard to "(*" & (the clipboard) & "*)"
log (the clipboard)
delay 0.5
keystroke "v" using {command down}
set the clipboard to oriClip
end tell
tell application "System Events"
set oriClip to the clipboard
keystroke "x" using {command down}
set the clipboard to "(*" & (the clipboard) & "*)"
log (the clipboard)
delay 0.5
keystroke "v" using {command down}
set the clipboard to oriClip
end tell
231名称未設定
2014/07/15(火) 04:13:55.22ID:jjZPgGYM0 直接の答えじゃないが
AppleScriptエディタで右クリックで出てくるComment Tags
(実体は /Library/Scripts/Script Editor Scripts/Comment Tags.scpt )
で出来るよ
AppleScriptエディタで右クリックで出てくるComment Tags
(実体は /Library/Scripts/Script Editor Scripts/Comment Tags.scpt )
で出来るよ
232名称未設定
2014/07/15(火) 05:17:17.81ID:MpU9ZduJ0 --これでいいのかな? 実際にはペーストしたいアプリを最前面に出したりしないとダメだろうけど…
tell application "System Events"
set oriClip to the clipboard
keystroke "x" using {command down}
set copiedText to (the clipboard)
set the clipboard to "(*" & copiedText & "*)"
log (the clipboard)
delay 0.5
keystroke "v" using {command down}
set the clipboard to oriClip
end tell
tell application "System Events"
set oriClip to the clipboard
keystroke "x" using {command down}
set copiedText to (the clipboard)
set the clipboard to "(*" & copiedText & "*)"
log (the clipboard)
delay 0.5
keystroke "v" using {command down}
set the clipboard to oriClip
end tell
233名称未設定
2014/07/15(火) 09:36:24.47ID:GUZrA3CI0 Automatorでサービス、選択したテキストを入力にして
on run {input}
set input to {"(*" & input & "*)"} as text
return input
end run
こういうのを登録して使ってる。
on run {input}
set input to {"(*" & input & "*)"} as text
return input
end run
こういうのを登録して使ってる。
234名称未設定
2014/07/15(火) 14:07:44.75ID:gBz1a97Zi 何でか知らんが set the clipboard した後に keystroke でペーストすると更新前の内容
になっちまうけど、
run script か do shell script で迂回してやればいけそう
あと keystroke してから実際にカットorペーストされるまで多少タイムラグがあるみたいなんで、次の処理が早すぎると上手くいかない
なのでこんなんとか
set oriClip to the clipboard
tell application "System Events"
keystroke "c" using command down
do shell script "printf '(*%s*)' $(pbpaste) | pbcopy"
keystroke "v" using command down
end tell
delay 0.5
set the clipboard to oriClip
環境によっては do shell script の前にも delay 入れんとダメかも
カット"x"かコピー"c"かはお好みで
になっちまうけど、
run script か do shell script で迂回してやればいけそう
あと keystroke してから実際にカットorペーストされるまで多少タイムラグがあるみたいなんで、次の処理が早すぎると上手くいかない
なのでこんなんとか
set oriClip to the clipboard
tell application "System Events"
keystroke "c" using command down
do shell script "printf '(*%s*)' $(pbpaste) | pbcopy"
keystroke "v" using command down
end tell
delay 0.5
set the clipboard to oriClip
環境によっては do shell script の前にも delay 入れんとダメかも
カット"x"かコピー"c"かはお好みで
235名称未設定
2014/07/15(火) 14:24:08.42ID:gBz1a97Zi スクリプトエディタ限定ならこっちの方が早くて確実
tell application "AppleScript Editor"
tell selection of front document
set contents to "(*" & contents & "*)"
end tell
end tell
tell application "AppleScript Editor"
tell selection of front document
set contents to "(*" & contents & "*)"
end tell
end tell
236名称未設定
2014/07/15(火) 21:26:11.16ID:wYxshpyA0237名称未設定
2014/07/15(火) 21:36:14.73ID:UTRb/ZIa0 --困ったらまた来んしゃい
238名称未設定
2014/07/16(水) 01:50:25.47ID:dEYdlhmW0 (*
そえばapplescriptobjc用にそんなやつ作ったな
xcode上でまとめてコメントにしたり解除したりするのが面倒くて
最初はサービスでやってた気がする、テキスト選択して右クリックで
コメントだったらコメントタグ抜いて、違ったらコメントタグ挿入してたわ
スクリプトエディタなら標準で選択テキストをコメントにするやつ入ってたから、それ参考にした気がする
*)
そえばapplescriptobjc用にそんなやつ作ったな
xcode上でまとめてコメントにしたり解除したりするのが面倒くて
最初はサービスでやってた気がする、テキスト選択して右クリックで
コメントだったらコメントタグ抜いて、違ったらコメントタグ挿入してたわ
スクリプトエディタなら標準で選択テキストをコメントにするやつ入ってたから、それ参考にした気がする
*)
239名称未設定
2014/08/16(土) 05:41:06.92ID:998pTkUY0 スクリプト作れもしない奴に
「このスクリプト、壊れてるね」
と言われた。ちょっと処理に時間がかかるだけなんだけど、
それじゃあ手作業でやってくれ、とは言えず。
時間がかかる処理してるときに処理してるのをわかるように
するにはどうすりゃいいんだろう。
プログレスバーなんて出せるんだっけ?
「このスクリプト、壊れてるね」
と言われた。ちょっと処理に時間がかかるだけなんだけど、
それじゃあ手作業でやってくれ、とは言えず。
時間がかかる処理してるときに処理してるのをわかるように
するにはどうすりゃいいんだろう。
プログレスバーなんて出せるんだっけ?
240名称未設定
2014/08/16(土) 07:24:26.40ID:k1f6Yzfu0 前々スレ
http://anago.2ch.net/test/read.cgi/mac/1256127156/
の937からsafariを利用してプログレスバー出す方法があるよ。
全体の処理数が把握できないと無理だけど
http://anago.2ch.net/test/read.cgi/mac/1256127156/
の937からsafariを利用してプログレスバー出す方法があるよ。
全体の処理数が把握できないと無理だけど
241名称未設定
2014/08/16(土) 08:19:41.01ID:koeiqCLv0242名称未設定
2014/08/21(木) 10:29:09.55ID:8GufB5J50 通知センターに/////な感じでバー作って無理やり表示してる。
ただ処理が早いと通知が出ないので、前回表示したときから一定時間経ってたら
表示する、みたいな処理入れてる。
ただ処理が早いと通知が出ないので、前回表示したときから一定時間経ってたら
表示する、みたいな処理入れてる。
243名称未設定
2014/08/21(木) 16:14:49.78ID:qhPq6JfD0 全くわからないんで教えてほしいんですが、
画面解像度を変更するAppleScriptを教えてほしいのですが、どなたかコードを教えていただけませんか?
最終的に使い方はAutomatarのアプリケーションにして必要があればアプリをダブルクリックして瞬時に変更したいんです。
画面解像度を変更するAppleScriptを教えてほしいのですが、どなたかコードを教えていただけませんか?
最終的に使い方はAutomatarのアプリケーションにして必要があればアプリをダブルクリックして瞬時に変更したいんです。
244名称未設定
2014/08/21(木) 16:19:28.01ID:eHJIQPJB0 >>239
ProgressBar表示するappletとかOS9時代からあるけど、入れても結局ウザくて使わないな。
自分の用途ではscriptの終了や経過知りたい場合は音で十分。
do shell script "afplay /System/Library/Sounds/Hero.aiff"
を最後に置いたり、音声で知らせたりする。
repeat with i from 10 to 90 by 10
say quote & i & "%" & quote
end repeat
say "done!"
ProgressBar表示するappletとかOS9時代からあるけど、入れても結局ウザくて使わないな。
自分の用途ではscriptの終了や経過知りたい場合は音で十分。
do shell script "afplay /System/Library/Sounds/Hero.aiff"
を最後に置いたり、音声で知らせたりする。
repeat with i from 10 to 90 by 10
say quote & i & "%" & quote
end repeat
say "done!"
245名称未設定
2014/08/21(木) 18:24:50.87ID:/YoxOgpZ0246名称未設定
2014/08/21(木) 18:38:10.22ID:87bgOWlk0 >>243
途中まで
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 window 1
tell tab group 1
click radio button "Display"
tell radio group 1
click radio button "Scaled"
end tell
tell scroll area 1
tell table 1
select row 2
end tell
end tell
end tell
end tell
end tell
end tell
途中まで
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 window 1
tell tab group 1
click radio button "Display"
tell radio group 1
click radio button "Scaled"
end tell
tell scroll area 1
tell table 1
select row 2
end tell
end tell
end tell
end tell
end tell
end tell
247名称未設定
2014/08/21(木) 18:47:50.56ID:DwsP4u890 お二人さんレスどうも。
結構大変なコードが必要なんですね。
自分には難しいですがリンク先とレスいただいたコードを参考に駆使してみます。
ありがとうございました。大変助かりました。
結構大変なコードが必要なんですね。
自分には難しいですがリンク先とレスいただいたコードを参考に駆使してみます。
ありがとうございました。大変助かりました。
248名称未設定
2014/08/23(土) 11:48:55.71ID:kTGtbK/30 >>246
GUIスクリプトでなんでもできる! と思う反面、けっこうげんなりするよなー。
特にボタン、タブグループ、などGUI部品を指定するのが面倒。
名前ついてないような部品もあるみたいだし。button 1 とか button 2とか
GUIスクリプトでなんでもできる! と思う反面、けっこうげんなりするよなー。
特にボタン、タブグループ、などGUI部品を指定するのが面倒。
名前ついてないような部品もあるみたいだし。button 1 とか button 2とか
249名称未設定
2014/08/24(日) 00:54:03.50ID:Unbsppbb0 そんなあなたに Accessibility Inspector
250名称未設定
2014/08/24(日) 09:47:45.49ID:QnD6/8Qu0 >>249
そりゃ知ってるよ。でも使いにくくない? ただの戯言だけど。
見るとげんなりするんだよな。もっと簡単にできる手法とか
手順化されてるといいんだけどなー。
操作したいGUIにポインター合わせてF7でロックして確認、だっけ?
見てるとうんざりするんだよね。で、そのGUIをスクリプトの中で
指定するのも>>246のようになってしまう。というより、そのスクリプトは
とてもわかり易く書いてあるけどしっかりGUI部品の構造理解してないと
書けないよね。普通は
上省略
tell process "System Preferences"
click button "Display" of tab group 1 of window 1
select row 2 of scroll area 1 of window 1
end tell
下省略
みたいなスパゲッティになっちゃってどのGUI指定が間違ってるのか
わからなくなっちゃうんだよね。
1つずつ上位のGUI指定が間違ってないか確認しつつスクリプティングする
やり方が知りたいわ。どうやってデバッグするんだ?
達人の教えを乞いたい。
そりゃ知ってるよ。でも使いにくくない? ただの戯言だけど。
見るとげんなりするんだよな。もっと簡単にできる手法とか
手順化されてるといいんだけどなー。
操作したいGUIにポインター合わせてF7でロックして確認、だっけ?
見てるとうんざりするんだよね。で、そのGUIをスクリプトの中で
指定するのも>>246のようになってしまう。というより、そのスクリプトは
とてもわかり易く書いてあるけどしっかりGUI部品の構造理解してないと
書けないよね。普通は
上省略
tell process "System Preferences"
click button "Display" of tab group 1 of window 1
select row 2 of scroll area 1 of window 1
end tell
下省略
みたいなスパゲッティになっちゃってどのGUI指定が間違ってるのか
わからなくなっちゃうんだよね。
1つずつ上位のGUI指定が間違ってないか確認しつつスクリプティングする
やり方が知りたいわ。どうやってデバッグするんだ?
達人の教えを乞いたい。
251名称未設定
2014/08/24(日) 09:52:19.55ID:QnD6/8Qu0 あ、それから、adobeのソフトでよく見られるけど、最終的に
GUIスクリプティングできないカスタムしてあるGUIみたいなのも
あって、普通のGUIスクリプティングでは操作できないという結論
に達するのに時間がかかるときもある。ああいうので1日とか費やすと
けっこう凹むよね。
GUIスクリプティングできないカスタムしてあるGUIみたいなのも
あって、普通のGUIスクリプティングでは操作できないという結論
に達するのに時間がかかるときもある。ああいうので1日とか費やすと
けっこう凹むよね。
252名称未設定
2014/08/24(日) 12:03:05.39ID:oxxKgxDS0 UI Browser がいいよ
お高いけど
$20 くらいでバーゲンしないかな、しないよなw
お高いけど
$20 くらいでバーゲンしないかな、しないよなw
253名称未設定
2014/08/25(月) 02:14:39.31ID:IjrpGSwEi 一連の流れってんならともかくボタン1個程度なら、
できるかできないかの判断に10分もかからんが
手抜きでInspectorとかAutomator使う事もあるけどそれはそれである意味面倒なので、
ベタにofかtell連ねて書いてるけどそんなもん
できるかできないかの判断に10分もかからんが
手抜きでInspectorとかAutomator使う事もあるけどそれはそれである意味面倒なので、
ベタにofかtell連ねて書いてるけどそんなもん
254名称未設定
2014/08/25(月) 14:46:30.65ID:2dIEFPEX0 tell application "Pages"
-- 1. point:{100,100} な item は取り出す。 こちらは問題無く動作する。
(iWork items where position = {100, 100}) of page 1 of document 1
-- 2. x座標が 100 より大きい item を取り出す (そして delete したい)
-- 結果: error "Pages でエラーが起きました:item 1 of position のタイプを specifier に変換できません。
(iWork items where (item 1 of position) > 100) of page 1 of document 1
-- 3. x座標が 100 より大きく、かつ y座標が 100より大きい item を取り出す (そして delete したい)
end tell
where/whose句によるフィルターについて教えてください。
2や3のような事を実現するにはどのように書けばいいのでしょうか?
グルグル回さずに済む方法が知りたいです。
-- 1. point:{100,100} な item は取り出す。 こちらは問題無く動作する。
(iWork items where position = {100, 100}) of page 1 of document 1
-- 2. x座標が 100 より大きい item を取り出す (そして delete したい)
-- 結果: error "Pages でエラーが起きました:item 1 of position のタイプを specifier に変換できません。
(iWork items where (item 1 of position) > 100) of page 1 of document 1
-- 3. x座標が 100 より大きく、かつ y座標が 100より大きい item を取り出す (そして delete したい)
end tell
where/whose句によるフィルターについて教えてください。
2や3のような事を実現するにはどのように書けばいいのでしょうか?
グルグル回さずに済む方法が知りたいです。
255名称未設定
2014/08/26(火) 22:15:15.01ID:mMnMi0CT0 すまん適当だし合ってるかどうかも知りませんが
iWork items (whose ((item 1 of position) as integer) of it > 100) of page 1 of document 1
item 1 of position とか参照が参照のままでダメだから、型を適当に明示して変換すると
けっこう行けたり行けなかったりしないかなあ?
ただよくわかんないけど、whoseフィルター便利なんだけど、処理に時間かかることが
多いような気がする。一時期うなされたようにwhose whoseしていたけど、最近はあまり
使わないなあ。
ところで。10.9になって、またなんか変わった?10.8で動いてたスクリプトが動かなかった。
たいそうなことはしてないが、プレビューで内容を確認したあと、ファイル名を変更するスクリプト。
なんか仕事忙しくてチェックしなかったけど。
iWork items (whose ((item 1 of position) as integer) of it > 100) of page 1 of document 1
item 1 of position とか参照が参照のままでダメだから、型を適当に明示して変換すると
けっこう行けたり行けなかったりしないかなあ?
ただよくわかんないけど、whoseフィルター便利なんだけど、処理に時間かかることが
多いような気がする。一時期うなされたようにwhose whoseしていたけど、最近はあまり
使わないなあ。
ところで。10.9になって、またなんか変わった?10.8で動いてたスクリプトが動かなかった。
たいそうなことはしてないが、プレビューで内容を確認したあと、ファイル名を変更するスクリプト。
なんか仕事忙しくてチェックしなかったけど。
256名称未設定
2014/08/30(土) 19:26:36.34ID:qt0Pg4Pu0 >>255 遅くなりましたが、ありがとうございます。
それでもうまくいきませんでした...。 括弧の付け方かえたり色々試してはみたのですが。
それでもうまくいきませんでした...。 括弧の付け方かえたり色々試してはみたのですが。
258名称未設定
2014/09/18(木) 17:16:48.30ID:FQ6tm29Ti 身の回りの面倒な作業をスクリプトで実行したいのだけどなにから勉強したらいいですか?プログラミングに興味あります
上に書かれてるようなことを理解できるようになるためにはどの言語を勉強したらいいのかすらわからない素人です
上に書かれてるようなことを理解できるようになるためにはどの言語を勉強したらいいのかすらわからない素人です
259名称未設定
2014/09/18(木) 18:07:55.46ID:MVYqhU7J0 素人でもググることはできるよね
260名称未設定
2014/09/18(木) 19:35:00.98ID:VMVk5YEG0 >>258
基本文法はググればわかるからそれでいいとして…
AppleScriptを使う上での基本的な流れは以下のような感じ。
・作業で使うアプリがAppleScriptに対応しているかを確認
・AppleScriptに対応しているなら、そのアプリがどんなAppleScript命令に
対応しているかを確認
・AppleScriptに対応していないアプリだったら、AppleScriptのSystemEventという仕組みを勉強して無理やり動かす
AppleScriptに対応しているアプリなら、大抵はそのアプリのマニュアルに
AppleScriptの説明がある。
また、アプリをスクリプトエディタにドラッグすれば、対応している命令が確認可能。
Apple純正アプリ以外では、一部のメジャーなアプリと
テキストエディタくらいしかAppleScriptに対応してないんで、
過度な期待はしないほうがいいかも。
ちなみにFinderでのファイル操作なら、AppleScriptでかなりのことができると思う。
SystemEventはわりと万能だけど、
「ここで0.2秒待ってからこの階層にあるこのメニューをクリック」
なんて感じの記述を延々続けていく形になる。
スクリプト実行中にマウスで変なところクリックしたりすると
エラーになることもあるから、
SystemEventは少々不安定なもの、と考えておきましょう。
基本文法はググればわかるからそれでいいとして…
AppleScriptを使う上での基本的な流れは以下のような感じ。
・作業で使うアプリがAppleScriptに対応しているかを確認
・AppleScriptに対応しているなら、そのアプリがどんなAppleScript命令に
対応しているかを確認
・AppleScriptに対応していないアプリだったら、AppleScriptのSystemEventという仕組みを勉強して無理やり動かす
AppleScriptに対応しているアプリなら、大抵はそのアプリのマニュアルに
AppleScriptの説明がある。
また、アプリをスクリプトエディタにドラッグすれば、対応している命令が確認可能。
Apple純正アプリ以外では、一部のメジャーなアプリと
テキストエディタくらいしかAppleScriptに対応してないんで、
過度な期待はしないほうがいいかも。
ちなみにFinderでのファイル操作なら、AppleScriptでかなりのことができると思う。
SystemEventはわりと万能だけど、
「ここで0.2秒待ってからこの階層にあるこのメニューをクリック」
なんて感じの記述を延々続けていく形になる。
スクリプト実行中にマウスで変なところクリックしたりすると
エラーになることもあるから、
SystemEventは少々不安定なもの、と考えておきましょう。
261名称未設定
2014/09/18(木) 22:40:58.81ID:FQ6tm29Ti 自分のやりたいことが果たしてスクリプトで出来るのか不安になってきしたがググってググって試行錯誤しながらトライしてみます
262名称未設定
2014/09/19(金) 05:28:54.19ID:lf06pHbV0 >>258
自分は素人で周りに教えてくれる人もいなかったけど、
以下で1年半くらいかかった。
レベル1 display dialog "hello"
レベル2 diaplay dialogとか使って、四則計算的な対話的プログラム
ここまではすぐ。
レベル3 Finderでのファイル名変換、ファイル名操作(if、repeatほか一般的処理)
プログラムの素養がなく、ここでつまづいた。3ヶ月くらいかかっただろうか。
特にファイル名変換で特定の文字列を検索置換するようなことをしたかったので
ひどくそこで時間がかかった。Applescriptの特殊なところ。正規表現が標準装備
じゃないし、検索、置換も一筋縄では行かず。
レベル4 Applescript対応のアプリを使った処理、テキストファイルの入出力
ここは徐々にだけど、けっこう簡単にできるようになった。
レベル5 Applescript非対応のアプリをGUIスクリプトで操作(SystemEvent)
ここもつまづいた、というか、自分がやりたい処理をできるようになるのに3ヶ月くらいかかったような。
レベル6 do shell script を使った世界
ここまで来ると単発処理は何でもできるようになる。世界が広がる。
レベル7 Xcode(ApplescriptStudio)でGUIのついたアプリ作成
レベル8 Xcodeを使ってApplescriptObjCでGUIのついたアプリ作成
レベル6までで培った技術をGUIアプリとして落としこむのはちまちまと。とにかくサンプルを
見つけることが大事。海外のサイトをよく見るようになった。
たぶん、だけど、あなたの考えていることはレベル5だと思うけど、まだ無理。
実際のところ、レベル3ができるようになるとけっこういろいろ便利なんだけどね。
使い始めはそれがわからない。レベル6習得あたりになると、なんでも
スクリプトで処理したくなる。気合入れるときはレベル8で。
自分は素人で周りに教えてくれる人もいなかったけど、
以下で1年半くらいかかった。
レベル1 display dialog "hello"
レベル2 diaplay dialogとか使って、四則計算的な対話的プログラム
ここまではすぐ。
レベル3 Finderでのファイル名変換、ファイル名操作(if、repeatほか一般的処理)
プログラムの素養がなく、ここでつまづいた。3ヶ月くらいかかっただろうか。
特にファイル名変換で特定の文字列を検索置換するようなことをしたかったので
ひどくそこで時間がかかった。Applescriptの特殊なところ。正規表現が標準装備
じゃないし、検索、置換も一筋縄では行かず。
レベル4 Applescript対応のアプリを使った処理、テキストファイルの入出力
ここは徐々にだけど、けっこう簡単にできるようになった。
レベル5 Applescript非対応のアプリをGUIスクリプトで操作(SystemEvent)
ここもつまづいた、というか、自分がやりたい処理をできるようになるのに3ヶ月くらいかかったような。
レベル6 do shell script を使った世界
ここまで来ると単発処理は何でもできるようになる。世界が広がる。
レベル7 Xcode(ApplescriptStudio)でGUIのついたアプリ作成
レベル8 Xcodeを使ってApplescriptObjCでGUIのついたアプリ作成
レベル6までで培った技術をGUIアプリとして落としこむのはちまちまと。とにかくサンプルを
見つけることが大事。海外のサイトをよく見るようになった。
たぶん、だけど、あなたの考えていることはレベル5だと思うけど、まだ無理。
実際のところ、レベル3ができるようになるとけっこういろいろ便利なんだけどね。
使い始めはそれがわからない。レベル6習得あたりになると、なんでも
スクリプトで処理したくなる。気合入れるときはレベル8で。
263名称未設定
2014/09/19(金) 14:13:26.59ID:iMNEhwZB0 >>262
その例で言うレベル8になると、
Applescriptの貧弱さに普通にobjcで書くようになるよ。
特にApplescriptでobjc関数とか呼び始めると、
メモリの管理がしにくくて(勝手に解放されちゃってクラッシュとか)、複数スレッドの処理をまともに動かすのが大変になるから
その例で言うレベル8になると、
Applescriptの貧弱さに普通にobjcで書くようになるよ。
特にApplescriptでobjc関数とか呼び始めると、
メモリの管理がしにくくて(勝手に解放されちゃってクラッシュとか)、複数スレッドの処理をまともに動かすのが大変になるから
264名称未設定
2014/09/19(金) 14:43:06.24ID:VynAABOT0 C系がどうしても敷居が高いとAppleScript専門になるのもしょうがないかなと
Objective-Cでの方がOSがそれで書かれているのだから素直にいろいろとできるけどね
Objective-Cでの方がOSがそれで書かれているのだから素直にいろいろとできるけどね
265名称未設定
2014/09/19(金) 17:46:57.37ID:vSEjXiLJi >>262
うぉーーー!
まさに知りたかったビジョンだ!
周りに教えてくれる人がいないので漠然とできたらいいなぁぐらいの気持ちだったのが1年半でレベル8まで習得したって姿がみえるとすごい歩きやすい道に見えてきた
ありがとうございます!
うぉーーー!
まさに知りたかったビジョンだ!
周りに教えてくれる人がいないので漠然とできたらいいなぁぐらいの気持ちだったのが1年半でレベル8まで習得したって姿がみえるとすごい歩きやすい道に見えてきた
ありがとうございます!
266名称未設定
2014/09/20(土) 00:37:50.41ID:1d3efwqb0 >>263->>264
レベル8の上がObjective-Cかな。レベル9。iPhone用アプリのテキストはたくさんあるけど、
なかなかmac用のテキスト少ないんだよなー。今、仕事多忙で勉強できてないけど。
PHPとかCSSとかSQLとかそっち方面にいっちゃってる。
HTML5とかもやらなあかんのかねぇorz
レベル8の上がObjective-Cかな。レベル9。iPhone用アプリのテキストはたくさんあるけど、
なかなかmac用のテキスト少ないんだよなー。今、仕事多忙で勉強できてないけど。
PHPとかCSSとかSQLとかそっち方面にいっちゃってる。
HTML5とかもやらなあかんのかねぇorz
267名称未設定
2014/09/20(土) 07:13:50.17ID:J1L8Sc170 正規表現等に関しては Satimage osax
http://www.satimage.fr/software/en/downloads/downloads_companion_osaxen.html
って機能拡張をインストールするといいよ
set theList to (find text "[+-]?\\d+(\\.\\d+)?" in "数字を足してね♥︎ -1, 0.01, +1, 2,..,99 " with regexp, all occurrences and string result)
set total to 0
repeat with x in theList
set total to (total + (atof (x)))
end repeat
set message to "(" & (join theList using ") + (") & ") = " & total
--> "(-1) + (0.01) + (+1) + (2) + (99) = 101.01"
こういう手品が使えるようになる。
find text: これがあると正規表現まわりで rubyその他に頼る必要がなくなる
atof: x as real と書いたのと同じになる (他にも sin, cos とかC言語ライクな数学関数が色々)
join: 定石の set AppleScript's text item delimiters to "," を使ったリスト連結よりもシンプル
マニュアル: http://www.satimage.fr/software/en/dictionaries/dict_satimage.html
http://www.satimage.fr/software/en/downloads/downloads_companion_osaxen.html
って機能拡張をインストールするといいよ
set theList to (find text "[+-]?\\d+(\\.\\d+)?" in "数字を足してね♥︎ -1, 0.01, +1, 2,..,99 " with regexp, all occurrences and string result)
set total to 0
repeat with x in theList
set total to (total + (atof (x)))
end repeat
set message to "(" & (join theList using ") + (") & ") = " & total
--> "(-1) + (0.01) + (+1) + (2) + (99) = 101.01"
こういう手品が使えるようになる。
find text: これがあると正規表現まわりで rubyその他に頼る必要がなくなる
atof: x as real と書いたのと同じになる (他にも sin, cos とかC言語ライクな数学関数が色々)
join: 定石の set AppleScript's text item delimiters to "," を使ったリスト連結よりもシンプル
マニュアル: http://www.satimage.fr/software/en/dictionaries/dict_satimage.html
268名称未設定
2014/09/20(土) 07:21:55.77ID:J1L8Sc170 数値 + 数値文字列 = 数値
なので、この場合 atof は無くてもOKでした
なので、この場合 atof は無くてもOKでした
269名称未設定
2014/09/20(土) 08:32:33.91ID:1d3efwqb0 >>267
わかる人は使えばいいけど、正規表現、文字列の検索・置換などの取り扱いは
ASのデフォルトの考え方を理解してないと、あとでつまづくし、機能拡張を
インストールしないと使えないスクリプトは会社などで使うときとても面倒。
検索・置換程度の話なら避けたほうがいいと個人的には思う。
do shell scriptでrubyなりperlなりsedなりいろいろ使う契機にもなるし。
わかる人は使えばいいけど、正規表現、文字列の検索・置換などの取り扱いは
ASのデフォルトの考え方を理解してないと、あとでつまづくし、機能拡張を
インストールしないと使えないスクリプトは会社などで使うときとても面倒。
検索・置換程度の話なら避けたほうがいいと個人的には思う。
do shell scriptでrubyなりperlなりsedなりいろいろ使う契機にもなるし。
270名称未設定
2014/09/20(土) 08:35:19.68ID:3i170VB80271名称未設定
2014/09/20(土) 09:18:42.39ID:1d3efwqb0 「ASやってます」と言うと笑われるけど、その実、中身はdo shel scriptで他のおいしいところを
使いまくり、というのはよくある話。グルー言語としてのASは非常に強力。
使いまくり、というのはよくある話。グルー言語としてのASは非常に強力。
272名称未設定
2014/09/20(土) 16:27:57.17ID:AqRjHw4B0 do shel scriptは便利だけど使い方間違えるとめちゃくちゃ遅くなるから、気をつけないとね。
たとえば大量に変換とかの場合は、do shel scriptを回すんじゃなくて
do shel scriptの中で回るようにとかね。
たとえば大量に変換とかの場合は、do shel scriptを回すんじゃなくて
do shel scriptの中で回るようにとかね。
275名称未設定
2014/10/25(土) 07:12:00.39ID:5qSeWYWr0 けっこうびっくりしたけど、10.10からのJavaScriptもここでやるといいよね。
ほかでやるとこないし。ほぼなんでもできるのかな?
ほかでやるとこないし。ほぼなんでもできるのかな?
276名称未設定
2014/10/25(土) 09:21:10.13ID:5qSeWYWr0 思いつきだけだけど、JavaScriptだけでGUIつきアプリとかできるの?
できるわけないか。
できるわけないか。
277名称未設定
2014/10/25(土) 14:50:07.62ID:LnSjrQfx0 Macでプログラミング{10}
http://anago.2ch.net/test/read.cgi/mac/1248682344/
http://anago.2ch.net/test/read.cgi/mac/1248682344/
278名称未設定
2014/10/25(土) 17:55:17.74ID:N9eHGFRP0 質問です。OS Mavericks
アップルスクリプトでもう少しGUIのいいものを作ろうとして
Xcode6.1をつかってcocoa-applescriptのアプリケーションを触ってみようと思いました。
具体的にはGUIのdatePickerを配置して
AppDelegate.applescriptのファイルで
ユーザーがdatePickerで設定した日付を取得しようとしたのです。
下にコメントアウトしてるところがdatePickerとつながっており取得できていない箇所です。
on workSchedulRecorder_(sender)
set Client to name_Client's stringValue() as string
-- set the_Date to int_date's dateValue()
end workSchedulRecorder_
上のはCombo BoxとつながっておりstringValue() as stringで取得できました。
問題の箇所は調べて見つかったのに下のようなエラーがでました
2014-10-25 17:52:08.866 DPC Client Scheduler[2711:303] *** -[AppDelegate workSchedulRecorder:]: Can’t make &#171;class ocid&#187; id &#171;data optr000000000D0000007491B841&#187; into type Unicode text. (error -1700)
dateValue()ではなく違う言葉なのでしょうか・・・
どなたかお力になってくださいませんでしょうか
アップルスクリプトでもう少しGUIのいいものを作ろうとして
Xcode6.1をつかってcocoa-applescriptのアプリケーションを触ってみようと思いました。
具体的にはGUIのdatePickerを配置して
AppDelegate.applescriptのファイルで
ユーザーがdatePickerで設定した日付を取得しようとしたのです。
下にコメントアウトしてるところがdatePickerとつながっており取得できていない箇所です。
on workSchedulRecorder_(sender)
set Client to name_Client's stringValue() as string
-- set the_Date to int_date's dateValue()
end workSchedulRecorder_
上のはCombo BoxとつながっておりstringValue() as stringで取得できました。
問題の箇所は調べて見つかったのに下のようなエラーがでました
2014-10-25 17:52:08.866 DPC Client Scheduler[2711:303] *** -[AppDelegate workSchedulRecorder:]: Can’t make &#171;class ocid&#187; id &#171;data optr000000000D0000007491B841&#187; into type Unicode text. (error -1700)
dateValue()ではなく違う言葉なのでしょうか・・・
どなたかお力になってくださいませんでしょうか
279名称未設定
2014/10/25(土) 18:45:32.40ID:Y7ywkFMP0 >>278
set the_Date to int_date's dateValue()
これでそのエラーになる?出ないけどなあ
set the_Date to int_date's dateValue() as string
だと、文字列に変換できないオブジェクト(この場合NSDate)を文字列に変換しようとすると(全く)同じエラーが出るけど
Cocoaの日付周りはちょっと優しくないのでえ。ちょっとだけだけど
set the_Date to int_date's dateValue()
これでそのエラーになる?出ないけどなあ
set the_Date to int_date's dateValue() as string
だと、文字列に変換できないオブジェクト(この場合NSDate)を文字列に変換しようとすると(全く)同じエラーが出るけど
Cocoaの日付周りはちょっと優しくないのでえ。ちょっとだけだけど
280質問者 278
2014/10/25(土) 19:08:00.49ID:N9eHGFRP0 早速お答えいただきありがとうございます!
そして、すいません。私の早とちりでした。
display dialog に、だそうとしてそのエラーになりました。
log the_Dateで確認できました。
そこで、もう一つ質問したいのですが、
このthe_Dateから得たdate_Value()を
アップルスクリプトのdateの型?っていうのでしょうか
date "2014年10月25日土曜日 0:00:00" にするのにはどうすればいいのでしょうか?
そして、すいません。私の早とちりでした。
display dialog に、だそうとしてそのエラーになりました。
log the_Dateで確認できました。
そこで、もう一つ質問したいのですが、
このthe_Dateから得たdate_Value()を
アップルスクリプトのdateの型?っていうのでしょうか
date "2014年10月25日土曜日 0:00:00" にするのにはどうすればいいのでしょうか?
281名称未設定
2014/10/25(土) 19:25:35.38ID:Y7ywkFMP0 >>279,278
とりあえずな日付(NSDate)を文字列にはこんなんかな
set theDate to int_date's dateValue()
set dateFormatter to current application's NSDateFormatter's alloc()'s init()'s autorelease()
dateFormatter's setDateFormat_("YYYY-MM-dd hh:mm:ss a")
set dateString to dateFormatter's stringForObjectValue_(theDate)
's autorelease()
はいらないのかもしれない。Cocoa-AppleScriptでそこらがどないなってるのかわからないから入れてみた
Objective-Cだと余計な場合はクラッシュするがクラッシュしないので、入れた方がいいのか入れても入れなくてもいいのか不明
>>280
わからんw
文字列にしたら date にできるんじゃないかな。AppleScriptもdate<->文字列はめんどくさいっぽいなあ
とりあえずな日付(NSDate)を文字列にはこんなんかな
set theDate to int_date's dateValue()
set dateFormatter to current application's NSDateFormatter's alloc()'s init()'s autorelease()
dateFormatter's setDateFormat_("YYYY-MM-dd hh:mm:ss a")
set dateString to dateFormatter's stringForObjectValue_(theDate)
's autorelease()
はいらないのかもしれない。Cocoa-AppleScriptでそこらがどないなってるのかわからないから入れてみた
Objective-Cだと余計な場合はクラッシュするがクラッシュしないので、入れた方がいいのか入れても入れなくてもいいのか不明
>>280
わからんw
文字列にしたら date にできるんじゃないかな。AppleScriptもdate<->文字列はめんどくさいっぽいなあ
282名称未設定
2014/10/25(土) 19:27:59.17ID:pbKxf6+40 暇つぶしにデータピッカからテキストにして、テキストからNSDateに変換する流れ書いてみた、テストしてないです。
NSDateはテキストじゃないから、直接変換しようとしてつまるよねー。
property datePicker : missing value
set pickDate to my datePicker's dateValue()
set nsDateObj to my pick2date(pickDate)
on pick2date(pickdate)
set cal to current application's class "NSCalendar"'s currentCalendar()
set com to cal's components_fromDate_(254, pickdate)
set year to com's |year|()
set month to com's |month|()
set day to com's |day|()
set hour to com's hour()
set minute to com's minute()
set second to com's |second|()
set time2sec to (((hour) * 3600) + ((minute) * 60)+ second) as number
set qqq to my mkDate(year, month, day, 0) + time2sec
return result
end pick2date
on makeDate(y, m, d, s)
tell (get current date)
set {year, its month, day, time} to {y, m, d, s}
return its contents
end tell
end makeDate
NSDateはテキストじゃないから、直接変換しようとしてつまるよねー。
property datePicker : missing value
set pickDate to my datePicker's dateValue()
set nsDateObj to my pick2date(pickDate)
on pick2date(pickdate)
set cal to current application's class "NSCalendar"'s currentCalendar()
set com to cal's components_fromDate_(254, pickdate)
set year to com's |year|()
set month to com's |month|()
set day to com's |day|()
set hour to com's hour()
set minute to com's minute()
set second to com's |second|()
set time2sec to (((hour) * 3600) + ((minute) * 60)+ second) as number
set qqq to my mkDate(year, month, day, 0) + time2sec
return result
end pick2date
on makeDate(y, m, d, s)
tell (get current date)
set {year, its month, day, time} to {y, m, d, s}
return its contents
end tell
end makeDate
284名称未設定
2014/10/25(土) 20:10:23.39ID:pbKxf6+40 ハンドラの呼び出し名適当なやつのまんまだわ適宜直してちょ
285質問者 278
2014/10/25(土) 20:18:04.97ID:N9eHGFRP0 281さんありがとうございます。実際おしえてもらったコードを入れてみました
set Client to name_Client's stringValue() as string
set the_Date to int_date's dateValue()
set dateFormatter to current application's NSDateFormatter's alloc()'s init()'s autorelease()
dateFormatter's setDateFormat_("YYYY-MM-dd hh:mm:ss a")
set dateString to dateFormatter's stringForObjectValue_(theDate)
最後の行でエラーが起きてしまいました
Scheduler[3049:303] *** -[AppDelegate workSchedulRecorder:]: The variable theDate is not defined. (error -2753)
ご返答のコード内容が理解できない初心者なのですが
変数のthe_Dateは作っていただいた書式にははまらないということでしょうか
もう少しねばってみたいと思います。ご返答ありがとうございました!
set Client to name_Client's stringValue() as string
set the_Date to int_date's dateValue()
set dateFormatter to current application's NSDateFormatter's alloc()'s init()'s autorelease()
dateFormatter's setDateFormat_("YYYY-MM-dd hh:mm:ss a")
set dateString to dateFormatter's stringForObjectValue_(theDate)
最後の行でエラーが起きてしまいました
Scheduler[3049:303] *** -[AppDelegate workSchedulRecorder:]: The variable theDate is not defined. (error -2753)
ご返答のコード内容が理解できない初心者なのですが
変数のthe_Dateは作っていただいた書式にははまらないということでしょうか
もう少しねばってみたいと思います。ご返答ありがとうございました!
287質問者 278
2014/10/25(土) 20:55:41.66ID:N9eHGFRP0 285さんありがとうございます!!
もう、学も無いのに英語サイトまわってくたくたになっていました。笑
出ました出ました!
本当に助かりました。ありがとうございます!
dateformatについての基礎知識は明日にでも探してみたいと思います。
これで、やりたいことが出来そうです。
本当にありがとうございました。
282さんありがとうございます!
いただいたサブルーチンを、appledelegateに加えて試してみたのですが、
ビルドエラーがでてしまい、試すことが出来ませんでした。
ただ、問題解決いたしましたので、お礼の返事のみさせていただきます。
ありがとうございました。
もう、学も無いのに英語サイトまわってくたくたになっていました。笑
出ました出ました!
本当に助かりました。ありがとうございます!
dateformatについての基礎知識は明日にでも探してみたいと思います。
これで、やりたいことが出来そうです。
本当にありがとうございました。
282さんありがとうございます!
いただいたサブルーチンを、appledelegateに加えて試してみたのですが、
ビルドエラーがでてしまい、試すことが出来ませんでした。
ただ、問題解決いたしましたので、お礼の返事のみさせていただきます。
ありがとうございました。
289質問者 278
2014/10/26(日) 17:03:52.38ID:UmsXIIQV0 datePickerで悩んでいた者です。
dateformatについて私なりに調べてみました。奥が深く(?▽?; な感じでしたが、
EEEをつけると曜日まで表示されることが新たに分かりました。感謝します!
そしてまた、毎度申し訳なく書き込ませてもらいます。
下のスクリプトを「スクリプトエディタ」で実行すると、
set aaa to "2014年10月25日"
display dialog date aaa as text
->2014年10月25日土曜日 0:00:00
こうなってくれるのですが、appdelegeteのなかでは通用してくれません。
[AppDelegate workSchedulRecorder:]: Can’t make «script» into type text. (error -1700)
ただ、変数ではなくて、テキストをそのまま入れると
display dialog date "2014年10月25日" as text
->2014年10月25日土曜日 0:00:00
うまくしてくれます。ただ変数に入れないと作りたいものが作れなくて、、、
変数に入れるとなぜ急にダメになったのか、別の方法があるのか
単純なところでつまずいてしまっております。
スクリプトエディタでなんとなく進んで来れたので罰が当たったみたいで
どうか、よろしくお願いします。
dateformatについて私なりに調べてみました。奥が深く(?▽?; な感じでしたが、
EEEをつけると曜日まで表示されることが新たに分かりました。感謝します!
そしてまた、毎度申し訳なく書き込ませてもらいます。
下のスクリプトを「スクリプトエディタ」で実行すると、
set aaa to "2014年10月25日"
display dialog date aaa as text
->2014年10月25日土曜日 0:00:00
こうなってくれるのですが、appdelegeteのなかでは通用してくれません。
[AppDelegate workSchedulRecorder:]: Can’t make «script» into type text. (error -1700)
ただ、変数ではなくて、テキストをそのまま入れると
display dialog date "2014年10月25日" as text
->2014年10月25日土曜日 0:00:00
うまくしてくれます。ただ変数に入れないと作りたいものが作れなくて、、、
変数に入れるとなぜ急にダメになったのか、別の方法があるのか
単純なところでつまずいてしまっております。
スクリプトエディタでなんとなく進んで来れたので罰が当たったみたいで
どうか、よろしくお願いします。
290名称未設定
2014/10/26(日) 18:12:44.58ID:BJ1Mvzrv0 わからん。qlmanageを一覧表示で表示するにはどうすればいいの?
291名称未設定
2014/10/26(日) 20:02:33.54ID:THGeGbUA0 >>289
set dateString to "2014/10/26" as text
log class of dateString
log class of "2014/10/26"
log class of date dateString
log class of date "2014/10/26"
Cocoa-AppleScript の date文 が変数の場合なんかおかしなことをしている/おかしなことになっている
date 変数
の場合に作られるのは«script»オブジェクト?
NSDateベースで考えた方がいいような
どうしてもdateオブジェクト使いたい場合でも、で文字列からdateオブジェクトへは、文字列からCocoaオブジェクトにしてからdateオブジェクトへかなあ
set dateString to "2014/10/26" as text
log class of dateString
log class of "2014/10/26"
log class of date dateString
log class of date "2014/10/26"
Cocoa-AppleScript の date文 が変数の場合なんかおかしなことをしている/おかしなことになっている
date 変数
の場合に作られるのは«script»オブジェクト?
NSDateベースで考えた方がいいような
どうしてもdateオブジェクト使いたい場合でも、で文字列からdateオブジェクトへは、文字列からCocoaオブジェクトにしてからdateオブジェクトへかなあ
293質問者 278
2014/10/26(日) 22:37:36.09ID:UmsXIIQV0 292さんありがとうございます。がんばってみましたが能力が足りないせいでうまくいきませんでした
set the_Date to pick_date's dateValue() --my取りました
set nsDateObj to my pick2date(the_Date)
on pick2date(pickdate)
set cal to current application's class "NSCalendar"'s currentCalendar()
set com to cal's components_fromDate_(254, pickdate)
set year to com's |year|()
set month to com's |month|()
set day to com's |day|()
set hour to com's hour()
set minute to com's minute()
set second to com's |second|()
set time2sec to (((hour) * 3600) + ((minute) * 60)+ second) as number
set qqq to my makeDate(year, month, day, 0) + time2sec --mkDateからmake dateに訂正
return result
end pick2date
on makeDate(y, m, d, s)
tell (get current date)
set {year, its month, day, time} to {y, m, d, s}
return its contents
end tell
end makeDate
いろいろ試しながら探しながらやってみました。。せっかく書いてくださったんですが、、
すると、下記の閉じ忘れのようなエラーが出てコンパイル失敗になったようです。
set the_Date to pick_date's dateValue() --my取りました
set nsDateObj to my pick2date(the_Date)
on pick2date(pickdate)
set cal to current application's class "NSCalendar"'s currentCalendar()
set com to cal's components_fromDate_(254, pickdate)
set year to com's |year|()
set month to com's |month|()
set day to com's |day|()
set hour to com's hour()
set minute to com's minute()
set second to com's |second|()
set time2sec to (((hour) * 3600) + ((minute) * 60)+ second) as number
set qqq to my makeDate(year, month, day, 0) + time2sec --mkDateからmake dateに訂正
return result
end pick2date
on makeDate(y, m, d, s)
tell (get current date)
set {year, its month, day, time} to {y, m, d, s}
return its contents
end tell
end makeDate
いろいろ試しながら探しながらやってみました。。せっかく書いてくださったんですが、、
すると、下記の閉じ忘れのようなエラーが出てコンパイル失敗になったようです。
294質問者 278
2014/10/26(日) 22:39:28.30ID:UmsXIIQV0 Client Scheduler/AppDelegate.applescript:33: error: Expected “end” but found unknown token. (-2741)
Command /usr/bin/osacompile failed with exit code 1
先ほどwebでみつけたのですが、出だしの私はASファイルを別に作って、引数付きで呼び出して使った方が良さそうです。
Command /usr/bin/osacompile failed with exit code 1
先ほどwebでみつけたのですが、出だしの私はASファイルを別に作って、引数付きで呼び出して使った方が良さそうです。
295質問者 278
2014/10/26(日) 22:40:19.50ID:UmsXIIQV0 291さん ありがとうございます。logで調べながらする方法すばらしいですね。
log class of date dateString 私のひっかかった date "変数" の箇所
log date dateString ですると複数のパラメーターがどうのでエラーになりました
appdelegateはすごく私には早すぎた感がありました。皆さんこんなに助言いただいたのに
うまくいかず申し訳ありません。
今回はdatePickerからもらった値をASに引っ張り込んで祝祭日と比較などして
最終「カレンダー」のeventに登録していきたかったので、ASファイルを別に作って
datePikerから得た文字列を引数にして呼び出そうと思います。
これから、その作業をしてみようと思います。ありがとうございました!!
log class of date dateString 私のひっかかった date "変数" の箇所
log date dateString ですると複数のパラメーターがどうのでエラーになりました
appdelegateはすごく私には早すぎた感がありました。皆さんこんなに助言いただいたのに
うまくいかず申し訳ありません。
今回はdatePickerからもらった値をASに引っ張り込んで祝祭日と比較などして
最終「カレンダー」のeventに登録していきたかったので、ASファイルを別に作って
datePikerから得た文字列を引数にして呼び出そうと思います。
これから、その作業をしてみようと思います。ありがとうございました!!
296名称未設定
2014/10/26(日) 23:30:37.10ID:THGeGbUA0 >>295
>log date dateString ですると
うん、date dateString で «script»オブジェクト(?)ができての、«script»オブジェクトをlogするためになんか(文字列)変換/«script»オブジェクトに対してなんかしよとして失敗かと
log class of date dateString
は、«script»オブジェクトになんのクラスやねんって問いただして、(たぶん)classオブジェクトが返って来ての、classオブジェクトは文字列に変換可能だからかと
てきとーにそう思うw
>log date dateString ですると
うん、date dateString で «script»オブジェクト(?)ができての、«script»オブジェクトをlogするためになんか(文字列)変換/«script»オブジェクトに対してなんかしよとして失敗かと
log class of date dateString
は、«script»オブジェクトになんのクラスやねんって問いただして、(たぶん)classオブジェクトが返って来ての、classオブジェクトは文字列に変換可能だからかと
てきとーにそう思うw
297名称未設定
2014/10/27(月) 04:41:14.63ID:MFcX2T9S0 >>294
ダメだったかーごめんね。てかそのエラー全角を半角に変換してないんじゃ。。。
なんか雑に教えちゃった感じで気持ち悪いから、データピッカーのサンプル作ったよ。
http://i.imgur.com/jb3SzVE.jpg
こんな感じで時計の針を動かしたりしたりして調整できて、
↓ボタンでテキストになって↑ボタンでテキストからピッカーに送るよ。
途中でNSDateだけじゃなくて、ASDate使ってやってるからapplescriptみたいに時間の操作ができるよ。
applescriptの文字列からDate型に変換は、裏で色々やっててapplescriptobjcじゃそのままできなかった思い出があるよ(多分
今回のは、すごく雑な変換だからいろいろ工夫してみてね。
いまいち何がしたいのか分からなくて、こんなサンプルでいいのかも謎だけど、、、、、
ソースはここにあるから、エディタで開いて見て
~/DatePickerTest.app/Contents/Resources/M2AppDelegate.scpt
んじゃがんばって。
http://www1.axfc.net/u/3351055
ダメだったかーごめんね。てかそのエラー全角を半角に変換してないんじゃ。。。
なんか雑に教えちゃった感じで気持ち悪いから、データピッカーのサンプル作ったよ。
http://i.imgur.com/jb3SzVE.jpg
こんな感じで時計の針を動かしたりしたりして調整できて、
↓ボタンでテキストになって↑ボタンでテキストからピッカーに送るよ。
途中でNSDateだけじゃなくて、ASDate使ってやってるからapplescriptみたいに時間の操作ができるよ。
applescriptの文字列からDate型に変換は、裏で色々やっててapplescriptobjcじゃそのままできなかった思い出があるよ(多分
今回のは、すごく雑な変換だからいろいろ工夫してみてね。
いまいち何がしたいのか分からなくて、こんなサンプルでいいのかも謎だけど、、、、、
ソースはここにあるから、エディタで開いて見て
~/DatePickerTest.app/Contents/Resources/M2AppDelegate.scpt
んじゃがんばって。
http://www1.axfc.net/u/3351055
298質問者 278
2014/10/27(月) 21:15:56.87ID:glAct/fS0 297さん ありがとうございます。結果動きました!ありがとうございます!
ソースを実際に出力させて頂き
http://cocoaapi.hatenablog.comで調べながら書き込んで、5割ほど読めたかなという所です。
ASDateを間に経由して、
NSdate>ASDate>テキストと、テキスト>ASDate>NSDateに変換しているのが分かりました。
他、adjustmentのアクションの辺りdatePickerの1と2が相互に関係しているのが特に興味深かったです。
NSdateのフォーマットの最後がタイムゾーンになっているとか国際的な感じがしてびっくりしました。
馬鹿なので時間は沢山掛かりましたが、こんなに読み応えのあるソースは初めてです!ありがとうございます!
他、分からない点が3点ほどあったのですが、上手く動いたのでまた次の機会にでも
お聞かせ頂けたらと思います。
とりあえず、お礼を。あ、そうなんですやりたいことは帰宅してまた書かせて頂きます。
(一つだけ壁にぶつかってしまいまして)
今回も沢山助けられました。ありがとうございます!
ソースを実際に出力させて頂き
http://cocoaapi.hatenablog.comで調べながら書き込んで、5割ほど読めたかなという所です。
ASDateを間に経由して、
NSdate>ASDate>テキストと、テキスト>ASDate>NSDateに変換しているのが分かりました。
他、adjustmentのアクションの辺りdatePickerの1と2が相互に関係しているのが特に興味深かったです。
NSdateのフォーマットの最後がタイムゾーンになっているとか国際的な感じがしてびっくりしました。
馬鹿なので時間は沢山掛かりましたが、こんなに読み応えのあるソースは初めてです!ありがとうございます!
他、分からない点が3点ほどあったのですが、上手く動いたのでまた次の機会にでも
お聞かせ頂けたらと思います。
とりあえず、お礼を。あ、そうなんですやりたいことは帰宅してまた書かせて頂きます。
(一つだけ壁にぶつかってしまいまして)
今回も沢山助けられました。ありがとうございます!
299質問者 278
2014/10/28(火) 00:02:12.58ID:8TXD3xq30 こんばんわ。先ほどの実際にやりたいことは
というと、あるチラシ制作の仕事をしておりまして、
チラシの折込日を入力Enterするだけで3〜4日分の各作業日を自動でMavericksのカレンダーeventに
自動で登録しようと思ったのです。コレが出来れば月一の30分仕事が2分から3分、負担も無くなります。
作業日は祝祭日と休刊日、それからクライアントのスケジューリングの方則をスクリプトに盛り込めば
できあがります。(実際スクリプトエディタでそれらを登録して可能なことを確認しました)
ただ、XcodeをつかったUIの方が効率が違うし初心者にも渡すことが出来ます。
そこで、ぶつかった1つの多分コレも小さな問題を伺えたらと思います。
それはスクリプトエディタで出来た「ASdateの加算減算」です。
・・・いまちょっといじったら直せました。反省。。たぶんこれでなんとか作成できると思います。
ありがとうございました。(汗笑)
というと、あるチラシ制作の仕事をしておりまして、
チラシの折込日を入力Enterするだけで3〜4日分の各作業日を自動でMavericksのカレンダーeventに
自動で登録しようと思ったのです。コレが出来れば月一の30分仕事が2分から3分、負担も無くなります。
作業日は祝祭日と休刊日、それからクライアントのスケジューリングの方則をスクリプトに盛り込めば
できあがります。(実際スクリプトエディタでそれらを登録して可能なことを確認しました)
ただ、XcodeをつかったUIの方が効率が違うし初心者にも渡すことが出来ます。
そこで、ぶつかった1つの多分コレも小さな問題を伺えたらと思います。
それはスクリプトエディタで出来た「ASdateの加算減算」です。
・・・いまちょっといじったら直せました。反省。。たぶんこれでなんとか作成できると思います。
ありがとうございました。(汗笑)
300名称未設定
2014/10/29(水) 00:07:03.41ID:fRlD6nSB0 >>299
なんか面白そうだから、似たようなの作ってみた
というか10.8から使えるようになったEventKit.frameworkを触りたかったんだ。
飛ばしたい予定が入ってるカレンダー選ぶと、土日と選んだカレンダーに入ってる予定がある日を飛ばして、予定を立ててくれる。
これは、カレンダ一つしか選べないようになってるけど、簡単に複数のカレンダーで使えるようにできる。休刊日カレンダーとか他の作業が入ってるカレンダーとか
日本の祝祭日はここのカレンダー使ってるよ。
http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html
GenでPlanの項目を下から締め切り日よりさかのぼって、EKEventのタイトルにしながら作ってくよ。
PlanがworkDayより少ない場合は、最初の方の日をOccasional Dayにするよ。
EKEventを作成してるから、そのまま書き込みたいカレンダー選んでsaveEventするだけでカレンダーに書き込めるよ
applescriptでカレンダーを操作するより気持ちいいかも、利点はカレンダーを起動しなくても書き込みや削除ができることかな
EKEventのプロパティは、applescriptで触ってると思うから分かると思う。
気になった点は、カレンダー起動したままで書き込んでカレンダーの自動アップデート中にremoveするとよくないね、
カレンダーの自動アップデート中の判定はどこにあるんだろうか?
そんなかんじ、久々にapplescriptobjc触って楽しかったわー
ざっと書いたからめちゃくちゃ爪が甘くて、参考にならないと思うけどこれもうpしときます。
すくしょ
http://i.imgur.com/Xcv6AWE.jpg
http://i.imgur.com/15PHaIC.jpg
斧が鯖落ちしてるみたいだからkienuに
http://kie.nu/2gET
なんか面白そうだから、似たようなの作ってみた
というか10.8から使えるようになったEventKit.frameworkを触りたかったんだ。
飛ばしたい予定が入ってるカレンダー選ぶと、土日と選んだカレンダーに入ってる予定がある日を飛ばして、予定を立ててくれる。
これは、カレンダ一つしか選べないようになってるけど、簡単に複数のカレンダーで使えるようにできる。休刊日カレンダーとか他の作業が入ってるカレンダーとか
日本の祝祭日はここのカレンダー使ってるよ。
http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html
GenでPlanの項目を下から締め切り日よりさかのぼって、EKEventのタイトルにしながら作ってくよ。
PlanがworkDayより少ない場合は、最初の方の日をOccasional Dayにするよ。
EKEventを作成してるから、そのまま書き込みたいカレンダー選んでsaveEventするだけでカレンダーに書き込めるよ
applescriptでカレンダーを操作するより気持ちいいかも、利点はカレンダーを起動しなくても書き込みや削除ができることかな
EKEventのプロパティは、applescriptで触ってると思うから分かると思う。
気になった点は、カレンダー起動したままで書き込んでカレンダーの自動アップデート中にremoveするとよくないね、
カレンダーの自動アップデート中の判定はどこにあるんだろうか?
そんなかんじ、久々にapplescriptobjc触って楽しかったわー
ざっと書いたからめちゃくちゃ爪が甘くて、参考にならないと思うけどこれもうpしときます。
すくしょ
http://i.imgur.com/Xcv6AWE.jpg
http://i.imgur.com/15PHaIC.jpg
斧が鯖落ちしてるみたいだからkienuに
http://kie.nu/2gET
301名称未設定
2014/10/30(木) 21:58:19.65ID:DD9ePtIQ0 捕手
302質問者 278
2014/10/30(木) 22:21:06.57ID:1wagBLBS0 300さんありがとうございます! すごく勉強になりました。
それからまた作り込みがすごくて全然読めないです。汗
これからゆっくり読んでいきたいと思います。
EKEventって初めて聞きました。・・・ははは汗笑
それにしても、カレンダーを起動せずして書き込みなんて手品のよう!
読み解くには1ヶ月くらい覚悟します!
取りあえず版ができました。質問したおしたのでその成果をアップさせてもらいますね。
http://kie.nu/2gSs
これでいいのかな・・・笑
(クライアント名は変えましたクビになるので笑、なので法則はそれぞれバラバラです。)
操作は、キーボードのみでお手軽にできるものです。(見た目もシンプル!)
まぁ、こんな単純な物しかできなかっただけなんですけれど取りあえずホッとしてます。
これから、各作業日のステップ毎にカレンダーを分けて色別にしたり、
カレンダーの内容を読み取って、今日の作業を表示するTODOのようなパネルを作りたいです。
手軽な入力でカレンダーからTODOまでできるみたいな。
また無謀な、生きてるうちに出来るかな・・・(遠い目
それからまた作り込みがすごくて全然読めないです。汗
これからゆっくり読んでいきたいと思います。
EKEventって初めて聞きました。・・・ははは汗笑
それにしても、カレンダーを起動せずして書き込みなんて手品のよう!
読み解くには1ヶ月くらい覚悟します!
取りあえず版ができました。質問したおしたのでその成果をアップさせてもらいますね。
http://kie.nu/2gSs
これでいいのかな・・・笑
(クライアント名は変えましたクビになるので笑、なので法則はそれぞれバラバラです。)
操作は、キーボードのみでお手軽にできるものです。(見た目もシンプル!)
まぁ、こんな単純な物しかできなかっただけなんですけれど取りあえずホッとしてます。
これから、各作業日のステップ毎にカレンダーを分けて色別にしたり、
カレンダーの内容を読み取って、今日の作業を表示するTODOのようなパネルを作りたいです。
手軽な入力でカレンダーからTODOまでできるみたいな。
また無謀な、生きてるうちに出来るかな・・・(遠い目
303名称未設定
2014/10/31(金) 02:04:32.90ID:P6vAtVvi0 スレチだったら誘導願いますが、ここが最も適当かと思って質問させていただきます。
RAW現像ソフトLightroom5で書き出しの後処理でターミナル上で動く
ExifToolを起動しカメラのシリアルNo.を削除したいのですが、下記の方法までは分かりました。
ExifTool
http://www.sno.phy.queensu.ca/~phil/exiftool/
1.ターミナルを開いてEXIFTOOLと入力した後、画像ファイルをターミナルに
ドラッグ&ドロップするとパス付きファイル名が入力されてリターンキーで
EXIFが表示される。
2.ターミナルを開いてEXIFTOOL -SERIALNUMBER=と入力した後、
画像ファイルをターミナルにドラッグ&ドロップするとパス付きファイル名が
入力されてリターンキーでEXIFからシリアルNo.が削除されて保存され
別途、***.jpg_originalというファイル名でオリジナルファイルが保存される。
教えていただきたいのは、ここから先、
このコマンドをエイリアス化しなければならないようなのですが
ここが全く分かりません。どうすればよろしいのでしょうか。
RAW現像ソフトLightroom5で書き出しの後処理でターミナル上で動く
ExifToolを起動しカメラのシリアルNo.を削除したいのですが、下記の方法までは分かりました。
ExifTool
http://www.sno.phy.queensu.ca/~phil/exiftool/
1.ターミナルを開いてEXIFTOOLと入力した後、画像ファイルをターミナルに
ドラッグ&ドロップするとパス付きファイル名が入力されてリターンキーで
EXIFが表示される。
2.ターミナルを開いてEXIFTOOL -SERIALNUMBER=と入力した後、
画像ファイルをターミナルにドラッグ&ドロップするとパス付きファイル名が
入力されてリターンキーでEXIFからシリアルNo.が削除されて保存され
別途、***.jpg_originalというファイル名でオリジナルファイルが保存される。
教えていただきたいのは、ここから先、
このコマンドをエイリアス化しなければならないようなのですが
ここが全く分かりません。どうすればよろしいのでしょうか。
304名称未設定
2014/10/31(金) 02:31:53.45ID:4JVpEUGQ0 エイリアス化……? ちょっといみがわからん
受け売りをするならソースも貼れ
そもそもそれはapplescriptではなくシェルスクリプトだからこっちだな
Mac OS XをUnixとして使ってる人の為のスレ 17
http://anago.2ch.net/test/read.cgi/mac/1383436068/
ただ、lightroomの仕様がわからん以上、結局lightroomユーザ以外には
答えられんから、adobeスレで訊いたほうが早そうだ
少なくともapertureユーザのおれはその辺のわざわざ調べたくないからパス
受け売りをするならソースも貼れ
そもそもそれはapplescriptではなくシェルスクリプトだからこっちだな
Mac OS XをUnixとして使ってる人の為のスレ 17
http://anago.2ch.net/test/read.cgi/mac/1383436068/
ただ、lightroomの仕様がわからん以上、結局lightroomユーザ以外には
答えられんから、adobeスレで訊いたほうが早そうだ
少なくともapertureユーザのおれはその辺のわざわざ調べたくないからパス
305名称未設定
2014/10/31(金) 02:58:55.50ID:cDlSGdtw0 >>303
とりあえずAutomatorでいいんじゃないの
Automatorはそれこそそういう単純な用途にあるのに誰も使わない不憫なヤツw
ExifToolはコマンドだから「シェルスクリプトを実行」アクションになるけど
EXIFを弄るだけだからLightroom5はほとんど全く関係ないはなしでそ
とりあえずAutomatorでいいんじゃないの
Automatorはそれこそそういう単純な用途にあるのに誰も使わない不憫なヤツw
ExifToolはコマンドだから「シェルスクリプトを実行」アクションになるけど
EXIFを弄るだけだからLightroom5はほとんど全く関係ないはなしでそ
306名称未設定
2014/10/31(金) 03:03:13.30ID:U4KxWBg20 >>303
>>このコマンドをエイリアス化しなければならないようなのですが
情弱がよくわかってない情報を然も当然かのように、質問に交えて自分の立場を少しでも上げようとする、
その態度じゃ、どこに行っても適当にあしらわれるだけだよ。
少しは人に物を聞く態度を勉強してこい
>>このコマンドをエイリアス化しなければならないようなのですが
情弱がよくわかってない情報を然も当然かのように、質問に交えて自分の立場を少しでも上げようとする、
その態度じゃ、どこに行っても適当にあしらわれるだけだよ。
少しは人に物を聞く態度を勉強してこい
307名称未設定
2014/10/31(金) 03:07:21.31ID:cDlSGdtw0 >>303
http://www.sno.phy.queensu.ca/~phil/exiftool/
に、
Lightroom Plugins
Metadata Wrangler: Strip selected metadata components from images as they are exported
ってあるけど
http://www.sno.phy.queensu.ca/~phil/exiftool/
に、
Lightroom Plugins
Metadata Wrangler: Strip selected metadata components from images as they are exported
ってあるけど
309名称未設定
2014/10/31(金) 03:18:54.08ID:PdTh3q+P0310名称未設定
2014/10/31(金) 03:24:09.66ID:cDlSGdtw0 偉そう?????うーむ...
やりたいことは理解できるんだけど。そりゃちょっと違うというのもw
やりたいことは理解できるんだけど。そりゃちょっと違うというのもw
311名称未設定
2014/10/31(金) 03:40:29.53ID:PdTh3q+P0 >>310
自分の知識が中心で詳しいことを説明しないやつっているじゃん?
Lightroom5の書き出しの後処理でっていわれても
Lightroom5に書き出し設定に後処理って項目があって、そこで何が選べるかとか知らねーよって話。
まぁいいや短気過ぎたか すまんね
とりあえずその後処理でApplescriptのD&Dアプリ指定して何が渡されるか調べて、
もしファイルパスがもらえてたらそれにdo shell script でExifTool当てればいいんじゃないか?
自分の知識が中心で詳しいことを説明しないやつっているじゃん?
Lightroom5の書き出しの後処理でっていわれても
Lightroom5に書き出し設定に後処理って項目があって、そこで何が選べるかとか知らねーよって話。
まぁいいや短気過ぎたか すまんね
とりあえずその後処理でApplescriptのD&Dアプリ指定して何が渡されるか調べて、
もしファイルパスがもらえてたらそれにdo shell script でExifTool当てればいいんじゃないか?
312名称未設定
2014/10/31(金) 04:09:46.08ID:cDlSGdtw0 まあ、こっち方面ど素人はこんなもんだろう。てかいたってふつーに見えるw
偉そうなど素人というのはだなもっとアレなんだぞ、リアルの世界で
ExifTool、ターミナル、ドラッグ&ドロップ てとこで、Lightroom5でファイルとして書き出した後の、ファイルをどうにかという話だと思うよ
エイリアスというのも、たぶんシェルのaliasのことだと思うけど、違うかもしれないw
偉そうなど素人というのはだなもっとアレなんだぞ、リアルの世界で
ExifTool、ターミナル、ドラッグ&ドロップ てとこで、Lightroom5でファイルとして書き出した後の、ファイルをどうにかという話だと思うよ
エイリアスというのも、たぶんシェルのaliasのことだと思うけど、違うかもしれないw
313名称未設定
2014/10/31(金) 04:18:47.00ID:PdTh3q+P0 >>312
2chはファンタジーの世界ですものね(違うか
後処理に関してはググったらLightroom5に後処理ってオプションがあるみたいよ
多分そこで開くアプリケーションにターミナルとか選んじゃったりして試行錯誤してんじゃないかな
2chはファンタジーの世界ですものね(違うか
後処理に関してはググったらLightroom5に後処理ってオプションがあるみたいよ
多分そこで開くアプリケーションにターミナルとか選んじゃったりして試行錯誤してんじゃないかな
314名称未設定
2014/10/31(金) 04:25:40.65ID:cDlSGdtw0 あ、そうなの。だったら、Pluginsでよさそうなw
まとめてなんかしたいのかと思ったよ
まとめてなんかしたいのかと思ったよ
315名称未設定
2014/10/31(金) 04:39:49.46ID:cDlSGdtw0 うーん、後処理でターミナルってのがよくわからんな
>>305,304
とりあえず、可哀想なAutomatorではこんなん。コマンドが正しいのか知らんけど
(Automatorのスレが別にあるのを知ったんだけど、終わり間近なのでごめんくさい)
http://i.imgur.com/tCXDhqi.png
>>305,304
とりあえず、可哀想なAutomatorではこんなん。コマンドが正しいのか知らんけど
(Automatorのスレが別にあるのを知ったんだけど、終わり間近なのでごめんくさい)
http://i.imgur.com/tCXDhqi.png
316名称未設定
2014/10/31(金) 04:46:35.36ID:PdTh3q+P0 昔フォトショのプラグイン書いたの思い出して、LightroomのSDK探したら
プラグインluaなのかよw
これ超簡単にMetadata書き換えできる気がするわ
プラグインluaなのかよw
これ超簡単にMetadata書き換えできる気がするわ
317名称未設定
2014/10/31(金) 04:57:32.90ID:PdTh3q+P0 うんcom.adobe.serialNumbe呼び出せばシリアルナンバーも書き換えできるわ
てかチラッと見た感じこの量ならほとんど全部のメタデータに対応してそう
>>303君はlua覚えるといいよ
applescriptみたいなもんだ
てかチラッと見た感じこの量ならほとんど全部のメタデータに対応してそう
>>303君はlua覚えるといいよ
applescriptみたいなもんだ
318名称未設定
2014/10/31(金) 07:56:33.44ID:rhP6dt/O0 >>303
よくわかりませんが、ここの人たちが言っていることのほうが
正しい道のような気はしますが、あなたの考えを伸ばすとすると、
要はLightroomで書きだしたあと後処理にExifTool使ってExif情報を操作するんだよね?
そしたら、情報を削除したファイルがどこかに出来るはずだから、
それのパスを作成してそれをtell application "Finder"で set ~ as alias (list)
とかして、適宜自分の好きな名前にするなどすればいいよ。
直接ExifToolからAppleScriptに結果を受けることはできないだろうから
上記の処理をする前にはファイルの生成待ちと存在確認は必要
(とはいえExif操作だから時間かからない?)
FolderActionとかにしてもいいかも。俺は絶対にしないけど。
というかLightroomってどこまでできるんだっけ? 最近のAdobeはAS対応貧弱だから嫌い。
昔からのツールはいろいろ簡単にできるのにね。
>>317
luaとか簡単? ザクッと昔ググるだけググッてとっかかりがなくて手を付けてないけど。
よくわかりませんが、ここの人たちが言っていることのほうが
正しい道のような気はしますが、あなたの考えを伸ばすとすると、
要はLightroomで書きだしたあと後処理にExifTool使ってExif情報を操作するんだよね?
そしたら、情報を削除したファイルがどこかに出来るはずだから、
それのパスを作成してそれをtell application "Finder"で set ~ as alias (list)
とかして、適宜自分の好きな名前にするなどすればいいよ。
直接ExifToolからAppleScriptに結果を受けることはできないだろうから
上記の処理をする前にはファイルの生成待ちと存在確認は必要
(とはいえExif操作だから時間かからない?)
FolderActionとかにしてもいいかも。俺は絶対にしないけど。
というかLightroomってどこまでできるんだっけ? 最近のAdobeはAS対応貧弱だから嫌い。
昔からのツールはいろいろ簡単にできるのにね。
>>317
luaとか簡単? ザクッと昔ググるだけググッてとっかかりがなくて手を付けてないけど。
319名称未設定
2014/10/31(金) 08:14:23.46ID:PdTh3q+P0 >>318
ExifTool自体はコマンドラインで動くバイナリ
用はターミナルでコマンド打って動作させるやつ
おそらくLightroomの後処理では保存ファイルのパスを引数にしたシェルスクリプトを走らせる機能はないと思う
だからExifToolをパッキングしたアプリケーションなどにファイルパスを渡さないと行けないんだ
AppleScriptでExifToolを操作するが正解
理解した?
ASっていうとApplescriptなのかActionScriptなのか、はたまたAngelScriptの可能性も出て来るから微妙よねw
Luaの構文自体は分かりやすいからすぐ触れるよ、applescriptしか触ったこと無かったら最初はキツいかもしれないけど。
ExifTool自体はコマンドラインで動くバイナリ
用はターミナルでコマンド打って動作させるやつ
おそらくLightroomの後処理では保存ファイルのパスを引数にしたシェルスクリプトを走らせる機能はないと思う
だからExifToolをパッキングしたアプリケーションなどにファイルパスを渡さないと行けないんだ
AppleScriptでExifToolを操作するが正解
理解した?
ASっていうとApplescriptなのかActionScriptなのか、はたまたAngelScriptの可能性も出て来るから微妙よねw
Luaの構文自体は分かりやすいからすぐ触れるよ、applescriptしか触ったこと無かったら最初はキツいかもしれないけど。
320名称未設定
2014/10/31(金) 08:39:42.29ID:rhP6dt/O0321名称未設定
2014/10/31(金) 08:47:26.70ID:PdTh3q+P0322名称未設定
2014/10/31(金) 09:30:08.36ID:ZcnZkG8y0 こんなソフト探していますスレで
EXIF編集ソフトのアンケートをとったら軽くスルーされたので
こっちに来たとみた
EXIF編集ソフトのアンケートをとったら軽くスルーされたので
こっちに来たとみた
323名称未設定
2014/10/31(金) 14:02:31.92ID:P6vAtVvi0 >>304-322
皆さん、毎度お騒がせしております。説明不足で申し訳ございません。
エスパーしてたくさんのアドバイスありがとうございました。
やりたいことを再度、かみ砕いて説明させていただきますと、
1.RAW現像ソフトLightroom5(以後略してLr5)を使ってます。
Lr5は現像後に別のソフトへ現像後のJPEGファイルを受け渡す
ことができます。これが>>303のいわゆる後処理です。
2.この後処理にExifToolというターミナル上でコマンドを
入力して動くExif閲覧、編集、削除アプリを動かしたいです。
3.どのように動かしたいかは現像後のJPEGのExifから
カメラのシリアルNo.のみを削除したいです。
そのコマンドはEXIFTOOL -SERIALNUMBER=ファイル名です。
これをするにはコマンドをエイリアス化しなければならない
そうなのですが、どうしましたらよろしいでしょうか。
皆さん、毎度お騒がせしております。説明不足で申し訳ございません。
エスパーしてたくさんのアドバイスありがとうございました。
やりたいことを再度、かみ砕いて説明させていただきますと、
1.RAW現像ソフトLightroom5(以後略してLr5)を使ってます。
Lr5は現像後に別のソフトへ現像後のJPEGファイルを受け渡す
ことができます。これが>>303のいわゆる後処理です。
2.この後処理にExifToolというターミナル上でコマンドを
入力して動くExif閲覧、編集、削除アプリを動かしたいです。
3.どのように動かしたいかは現像後のJPEGのExifから
カメラのシリアルNo.のみを削除したいです。
そのコマンドはEXIFTOOL -SERIALNUMBER=ファイル名です。
これをするにはコマンドをエイリアス化しなければならない
そうなのですが、どうしましたらよろしいでしょうか。
324名称未設定
2014/10/31(金) 14:11:34.53ID:cDlSGdtw0 >>323
>コマンドをエイリアス化
ってなんやねん
説明するか、説明できないんだったら「コマンドをエイリアス化しなければならないそうなのですが」の元を示さないとわからんよ
あと、自分で試しているの?「EXIFTOOL -SERIALNUMBER=ファイル名」じゃ一般的にいうターミナルでは動かないと思うよ
>コマンドをエイリアス化
ってなんやねん
説明するか、説明できないんだったら「コマンドをエイリアス化しなければならないそうなのですが」の元を示さないとわからんよ
あと、自分で試しているの?「EXIFTOOL -SERIALNUMBER=ファイル名」じゃ一般的にいうターミナルでは動かないと思うよ
325名称未設定
2014/10/31(金) 14:14:23.15ID:cDlSGdtw0 >>324
>あと、自分で試しているの?「EXIFTOOL -SERIALNUMBER=ファイル名」じゃ一般的にいうターミナルでは動かないと思うよ
orz... 今は(?)小文字大文字関係無いのか... 謝罪して取り消させていただきます
>あと、自分で試しているの?「EXIFTOOL -SERIALNUMBER=ファイル名」じゃ一般的にいうターミナルでは動かないと思うよ
orz... 今は(?)小文字大文字関係無いのか... 謝罪して取り消させていただきます
326名称未設定
2014/10/31(金) 14:29:45.27ID:cDlSGdtw0 大文字好き(?)といいどうもWindowsでのエイリアスのような気がするんだが
327名称未設定
2014/10/31(金) 14:30:31.85ID:4JVpEUGQ0328名称未設定
2014/10/31(金) 14:35:03.58ID:4JVpEUGQ0 あとは目的が全然特殊じゃないので、exiftoolを自分で使いこなそうとせず
普通に「lightrooom exif シリアル 削除」とかでググった方が幸せになれるんじゃないか? お互いに
普通に「lightrooom exif シリアル 削除」とかでググった方が幸せになれるんじゃないか? お互いに
329名称未設定
2014/10/31(金) 14:35:36.01ID:hu2rEbyn0 【Macで】ExifTool質問スレッド【Exif編集】 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/dcamera/1414681108/
頑張ってスレッド立てたんだろうから誰かの回答をじっと待てばいいのに。
http://peace.2ch.net/test/read.cgi/dcamera/1414681108/
頑張ってスレッド立てたんだろうから誰かの回答をじっと待てばいいのに。
330名称未設定
2014/10/31(金) 14:50:05.89ID:4JVpEUGQ0 なんだマルチかよ氏ね
331名称未設定
2014/10/31(金) 14:50:45.82ID:cDlSGdtw0 ねんてこったいっ!w
332名称未設定
2014/10/31(金) 16:06:19.88ID:PdTh3q+P0 地雷臭はこれか、まんまと釣られてしまったな
みんな優しすぎんよ
みんな優しすぎんよ
333名称未設定
2014/10/31(金) 16:19:50.43ID:neCXR2Hh0 質問者そっちのけで話は盛り上がるんだけど、いつの間にか質問者がフェードアウトしててなんとなくうやむやになる……といういつものパターンだねw
334名称未設定
2014/10/31(金) 21:23:03.21ID:/phNTl1y0 【Macで】もなにも
ってExifToolはクロスプラットフォームだろうが
いい加減にしろ
ってExifToolはクロスプラットフォームだろうが
いい加減にしろ
336名称未設定
2014/11/01(土) 10:11:10.50ID:iIVG1+Z10 Shane StanlyさんのASOC本、PDFだとパラハラめくれなかったので、
自分で印刷、製本したったw 装丁は茶色の牛革w 7000円くらいしそうな
本ができたwww いつでもどこでも勉強するぜ!
A5両面印刷のA6小冊子だから字が小さすぎて読めないorz
自分で印刷、製本したったw 装丁は茶色の牛革w 7000円くらいしそうな
本ができたwww いつでもどこでも勉強するぜ!
A5両面印刷のA6小冊子だから字が小さすぎて読めないorz
337名称未設定
2014/11/01(土) 11:45:25.90ID:iIVG1+Z10 あーあー誰かがASOC本を日本語でまとめてくれたらなあ。
日本語のASOC本って1冊もないよね。
日本語のASOC本って1冊もないよね。
338名称未設定
2014/11/01(土) 21:56:29.60ID:eXHrQzp90 でもまあASは英語でも分かりやすいかも
ムズい言語のは日本語なのにムズいという
ムズい言語のは日本語なのにムズいという
339名称未設定
2014/11/08(土) 14:20:35.62ID:LlCPsU700 写真のリネームのapplescriptを下記からコピーして使用しています。
ttp://hottinroof.blog54.fc2.com/blog-entry-77.html
スクリプト中には同一時刻の場合サブナンバーを付けるようになってますが、これが出来ず、同じ
名前の項目があるため処理できない、とのメッセージが出てしまいます。下記がサブナンバーの
記述ですがどうすればサブナンバーがつくようになりますか?
OS Mavericks, mac pro mid 2012 です。
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
ttp://hottinroof.blog54.fc2.com/blog-entry-77.html
スクリプト中には同一時刻の場合サブナンバーを付けるようになってますが、これが出来ず、同じ
名前の項目があるため処理できない、とのメッセージが出てしまいます。下記がサブナンバーの
記述ですがどうすればサブナンバーがつくようになりますか?
OS Mavericks, mac pro mid 2012 です。
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
340名称未設定
2014/11/08(土) 15:44:24.97ID:ypauXXT+0 エラーになってるのは引用箇所の直前の
set name of Obj to fname & "." & kakutyousi
だから、そこ try / on error / end で囲えばいいんじゃないの
スクリプトちゃんと読んでないけどとりあえず _2 _3 _4 などにリネームされる
try
set name of Obj to fname & "." & kakutyousi
on error
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
end try
set name of Obj to fname & "." & kakutyousi
だから、そこ try / on error / end で囲えばいいんじゃないの
スクリプトちゃんと読んでないけどとりあえず _2 _3 _4 などにリネームされる
try
set name of Obj to fname & "." & kakutyousi
on error
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
end try
341名称未設定
2014/11/08(土) 16:34:00.38ID:LlCPsU700 >>340
set name of Obj to fname & "." & kakutyousi
の;で、end of lineがあるべきところですがunkown tokenが見つかりました、
で引っかかってしまいうまくいかないです。
set name of Obj to fname & "." & kakutyousi
の;で、end of lineがあるべきところですがunkown tokenが見つかりました、
で引っかかってしまいうまくいかないです。
342名称未設定
2014/11/08(土) 17:01:27.86ID:ypauXXT+0 その行はオリジナルのままにしといてちょ(あるいは amp; を取り去る)
生アンパサンドが打てない
生アンパサンドが打てない
343名称未設定
2014/11/08(土) 17:28:47.70ID:bXbYhwqn0344名称未設定
2014/11/08(土) 17:41:46.94ID:LlCPsU700 >>342
んー。全くリネームしなくなりました。というかtry でループしてる感じです。
んー。全くリネームしなくなりました。というかtry でループしてる感じです。
345名称未設定
2014/11/08(土) 20:09:06.28ID:bXbYhwqn0346名称未設定
2014/11/08(土) 20:12:37.10ID:LlCPsU700347名称未設定
2014/11/08(土) 20:44:30.86ID:bXbYhwqn0 >>346
あんま言うのもなんだけど、そしたらもう問題解決してるよ。
エラーは当然出る。手作業が嫌ならスクリプトを変更。
基本的な変更はだれでもできる簡単なものだから、ちょっと頑張ってみたら?
今言えるのはこんだけ。
あんま言うのもなんだけど、そしたらもう問題解決してるよ。
エラーは当然出る。手作業が嫌ならスクリプトを変更。
基本的な変更はだれでもできる簡単なものだから、ちょっと頑張ってみたら?
今言えるのはこんだけ。
348名称未設定
2014/11/08(土) 20:51:14.99ID:wpKvrxUU0 自分で[考える、作り出す]ことをしなくなった人間って生きる価値無いよね。
最近そんな人多いいけどさ
最近そんな人多いいけどさ
349名称未設定
2014/11/08(土) 20:54:50.91ID:ypauXXT+0 これでいくかな?
下記を>>340と入れ替え(アンパサンドについては同じく書き替え)
try
set name of Obj to fname & "." & kakutyousi
end try
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
下記を>>340と入れ替え(アンパサンドについては同じく書き替え)
try
set name of Obj to fname & "." & kakutyousi
end try
--もし同一時刻のファイルが存在した場合、サブナンバーをつける
set ChkFname to name of Obj
if ChkFname is not Orifname then
set CHK to "OK"
end if
if ChkFname is Orifname then
set CHK to "NO"
set subNUM to subNUM + 1
end if
350名称未設定
2014/11/08(土) 21:26:27.22ID:bXbYhwqn0 言うだけでもなんなんで。
よくわからんがバージョン依存あるかも。
あー、書いてたらアイスとけたよ
tell application "Finder"
set theFileList to selection as alias list
repeat with i in theFileList
set i to i as alias
set i_Extension to name extension of i
set AnswerFileName to my getExif_(i) & i_Extension
set NUM to 1
repeat while (exists (file AnswerFileName of parent of i))
set AnswerFileName to my getExif_(i) & "_" & NUM & i_Extension
set NUM to NUM + 1
end repeat
set name of i to AnswerFileName
end repeat
end tell
on getExif_(theFile)
set theName_of_Camera to do shell script "exiftool -model " & quoted form of POSIX path of theFile
set theDate to do shell script "exiftool -DateTimeOriginal " & quoted form of POSIX path of theFile
set OriginalDeliniter to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set theName_of_Camera to item 2 of text items of theName_of_Camera
set theDate to items 2 thru end of text items of theDate
set AppleScript's text item delimiters to OriginalDeliniter
return text 2 thru end of theName_of_Camera & (theDate as string)
end getExif_
よくわからんがバージョン依存あるかも。
あー、書いてたらアイスとけたよ
tell application "Finder"
set theFileList to selection as alias list
repeat with i in theFileList
set i to i as alias
set i_Extension to name extension of i
set AnswerFileName to my getExif_(i) & i_Extension
set NUM to 1
repeat while (exists (file AnswerFileName of parent of i))
set AnswerFileName to my getExif_(i) & "_" & NUM & i_Extension
set NUM to NUM + 1
end repeat
set name of i to AnswerFileName
end repeat
end tell
on getExif_(theFile)
set theName_of_Camera to do shell script "exiftool -model " & quoted form of POSIX path of theFile
set theDate to do shell script "exiftool -DateTimeOriginal " & quoted form of POSIX path of theFile
set OriginalDeliniter to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set theName_of_Camera to item 2 of text items of theName_of_Camera
set theDate to items 2 thru end of text items of theDate
set AppleScript's text item delimiters to OriginalDeliniter
return text 2 thru end of theName_of_Camera & (theDate as string)
end getExif_
351名称未設定
2014/11/08(土) 21:31:47.41ID:bXbYhwqn0 間違えるし。適当に直してくれ。
352名称未設定
2014/11/08(土) 21:42:28.42ID:hUAOfoDF0 AppleScriptとは、かれこれ20年以上の
付き合いで、今でもDVD PlayerやQuickTime
制御では、お世話になっている。
だが、ファイル名変更などの処理は付き合いが
2年のpythonで書く。
付き合いで、今でもDVD PlayerやQuickTime
制御では、お世話になっている。
だが、ファイル名変更などの処理は付き合いが
2年のpythonで書く。
353名称未設定
2014/11/08(土) 22:09:04.06ID:PoIJmgvo0354名称未設定
2014/11/08(土) 22:12:37.60ID:09XY7TPZ0 文字列処理はAppleScript's text item delimitersとか面倒
osaxが使えると簡単にできるんだけど
osaxが使えると簡単にできるんだけど
355名称未設定
2014/11/08(土) 22:24:30.26ID:PoIJmgvo0 いまはosaxよりdo shell scriptだよな
AppleScript's text item delimitersってほんと書いててばかばかしい
まあ一度自分専用ハンドラつくれば次からは呼ぶだけだけどさ
AppleScript's text item delimitersってほんと書いててばかばかしい
まあ一度自分専用ハンドラつくれば次からは呼ぶだけだけどさ
356名称未設定
2014/11/08(土) 22:33:56.17ID:bXbYhwqn0 >>354
確かに面倒だよねー。上のスクリプト書くときもブログのスクリプトの
Delimiterがちょっと煩雑だなあとできるだけまとめたんだけど、
exiftoolのオプションをまとめて、その結果からほぼ一発で結果
返せないかと考えたけど、面倒になって断念したよ。
それ以外にはいつもはrepeat while existsとか使ったことないけど
ちょっと使ってみた。
もっとスマートでかっこいい書き方よろしく。
確かに面倒だよねー。上のスクリプト書くときもブログのスクリプトの
Delimiterがちょっと煩雑だなあとできるだけまとめたんだけど、
exiftoolのオプションをまとめて、その結果からほぼ一発で結果
返せないかと考えたけど、面倒になって断念したよ。
それ以外にはいつもはrepeat while existsとか使ったことないけど
ちょっと使ってみた。
もっとスマートでかっこいい書き方よろしく。
357名称未設定
2014/11/08(土) 22:42:40.37ID:bXbYhwqn0 ところで変数作るときCameraNameとかにしたかったけどコンパイルすると
cameranameになっちゃう。意味がわからない。
cameranameになっちゃう。意味がわからない。
358名称未設定
2014/11/08(土) 23:02:44.84ID:PoIJmgvo0359名称未設定
2014/11/09(日) 03:05:12.49ID:tOvI53P80360名称未設定
2014/11/09(日) 03:11:10.32ID:FeCGzdwq0361名称未設定
2014/11/09(日) 03:52:52.38ID:VXCQ5bro0 >>357
自分がよくやる直し方を書いとくよ。
1. AppleScriptエディタで新規ファイルを作る。保存の必要なし、このファイルのみを開くこと。
2. CameraNameという変数を書いてコンパイルする。
3. 変数名を直したいファイルを開いてコンパイルして保存。
これで好きなように大文字小文字を変えれるはず。ただ、頻繁に変わってしまうけどね・・・
これはAppleScriptエディタで先に開いているファイルにある変数(コンパイル済のもの)の大文字小文字の表記を後から開いたファイルにも適用(タイミングはコンパイル時)するという親切設計(^^)凸が原因なんだよ
自分がよくやる直し方を書いとくよ。
1. AppleScriptエディタで新規ファイルを作る。保存の必要なし、このファイルのみを開くこと。
2. CameraNameという変数を書いてコンパイルする。
3. 変数名を直したいファイルを開いてコンパイルして保存。
これで好きなように大文字小文字を変えれるはず。ただ、頻繁に変わってしまうけどね・・・
これはAppleScriptエディタで先に開いているファイルにある変数(コンパイル済のもの)の大文字小文字の表記を後から開いたファイルにも適用(タイミングはコンパイル時)するという親切設計(^^)凸が原因なんだよ
362名称未設定
2014/11/11(火) 08:13:53.74ID:gi7C6GO70 ああ日本にもMacscripterみたいなところほしい。
ここくらいしか意見交換できるところ知らないけれど、
2ちゃんの専ブラはwindowsのほうが沢山あるし、
コードのやりとりも外部サイト使わなきゃならないし面倒。
テーマごとにスレッドが立つわけでもないので、
話が散発的。
ここくらいしか意見交換できるところ知らないけれど、
2ちゃんの専ブラはwindowsのほうが沢山あるし、
コードのやりとりも外部サイト使わなきゃならないし面倒。
テーマごとにスレッドが立つわけでもないので、
話が散発的。
364名称未設定
2014/11/11(火) 19:54:15.09ID:gHfKBy9o0 言い出しっぺが頑張るしかない
365名称未設定
2014/11/14(金) 09:34:40.02ID:bdBo1rtm0 スマホでかきこみしてると痛感するけど
デリミタの最悪なところはスペルが長いのに
コード補完効かないエディタに問題があるかなと思った。
単語登録、ハンドラ作成よりスマートな
方法ないかな?
デリミタの最悪なところはスペルが長いのに
コード補完効かないエディタに問題があるかなと思った。
単語登録、ハンドラ作成よりスマートな
方法ないかな?
366名称未設定
2014/11/14(金) 09:37:02.87ID:bdBo1rtm0 フリーのフレームワークに検索置換、
正規表現含めてないものかね?
正規表現含めてないものかね?
367名称未設定
2014/11/14(金) 11:51:09.09ID:jdF3j3OF0 いまどきはdo shell scriptでなんでもござれ
sedでもrubyでも好きなの使えや
sedでもrubyでも好きなの使えや
368名称未設定
2014/11/14(金) 15:00:28.68ID:grdt4k+m0 AppleScriptが"do shell script"の実行結果の
返り値をどう取得するかが問題?
返り値をどう取得するかが問題?
369名称未設定
2014/11/14(金) 21:20:09.76ID:jdF3j3OF0 set a to do shell script ...
じゃだめなのか? パイプ処理やリダイレクトで出力はすべて取り出せると思うが
じゃだめなのか? パイプ処理やリダイレクトで出力はすべて取り出せると思うが
370名称未設定
2014/11/15(土) 12:55:03.50ID:Bp4U37ku0 あっ、これで出来るのですね! ありがとうございます。
勉強になりました。
勉強になりました。
371名称未設定
2014/11/15(土) 20:05:03.07ID:yPqV/T6U0 今まで検索置換正規表現はdo shell script からrubyでやってたけど、
最近、delimiter使い始めた。使い始めると面白いね。いろいろ使える。
分かち書きする言語だともっと便利なんだろうなと理解した。
最近、delimiter使い始めた。使い始めると面白いね。いろいろ使える。
分かち書きする言語だともっと便利なんだろうなと理解した。
372名称未設定
2014/11/16(日) 20:27:36.67ID:CANt0WnQ0 最近はじめたけど
文法独特すぎやなあ
文法独特すぎやなあ
373名称未設定
2014/11/16(日) 23:03:17.12ID:V4b/3JFT0 下手に英語に似てるぶん>>369のような書き方を思いつかない場合はあると思う
基本的には親しみやすい言語だと思うが
基本的には親しみやすい言語だと思うが
374名称未設定
2014/11/18(火) 08:14:34.62ID:KyR0vcIu0 ASOCでやっとひとつ壁を越えた。うれしい。つっても低い壁だけど。
それにしても、ASOCでGUI用のオブジェクト自由自在に使える人って
日本にどれだけいるのかな? 参考になるものが見つからなくって
なかなか手も足も出ません。画像を一覧表示したいけど次の課題は
それだな。GUIオブジェクトの扱い方の一般的な方法が知りたいよ。
それにしても、ASOCでGUI用のオブジェクト自由自在に使える人って
日本にどれだけいるのかな? 参考になるものが見つからなくって
なかなか手も足も出ません。画像を一覧表示したいけど次の課題は
それだな。GUIオブジェクトの扱い方の一般的な方法が知りたいよ。
375名称未設定
2014/11/18(火) 08:41:29.05ID:oSyrzLiQ0 >>374
何を越えたか知らんけどおめでと
objcをasocに書き換えれるようになれば、簡単だよ。
自分のオリジナルのクラスをasocで作って配置すれば汎用効くしいいよ。
ただそれやってるのは、縛りプレイ好きの物好きだけなんだよね、objcで書いた方が楽だしさ。
そのうちiOSアプリとか作り始めるから、asoc離れて行くんだよね。
最終的にはasocでやることは、基本的なことだけになって、他のアプリケーション操作するときとかユーザーが簡単に拡張できるようにプラグイン的な使い方になって行くんだよね。
もともとそういう使い方が正解だし、asocででかいプロジェクト作ると、コントロールできないことが多くなってバグだらけになるって言うのが先陣の結論だわ
画像を一覧表示したいなら、コレクションビューが楽だよ、ただ大量に表示するとすぐ重くなるから
コレクションビュー自体をカスタムビューで自作した方がいいよ。
扱い方の一般的な方法って言うのも謎だけど、xib使は極力使わないでコードで書いた方が扱いやすいかな。
何個も同じようなの作ると、わりとコピペしたりするからxibで色々やっちゃうと後でめんどくさくなるんだよね、どこ触ったかも後で確認しづらいしさ
何を越えたか知らんけどおめでと
objcをasocに書き換えれるようになれば、簡単だよ。
自分のオリジナルのクラスをasocで作って配置すれば汎用効くしいいよ。
ただそれやってるのは、縛りプレイ好きの物好きだけなんだよね、objcで書いた方が楽だしさ。
そのうちiOSアプリとか作り始めるから、asoc離れて行くんだよね。
最終的にはasocでやることは、基本的なことだけになって、他のアプリケーション操作するときとかユーザーが簡単に拡張できるようにプラグイン的な使い方になって行くんだよね。
もともとそういう使い方が正解だし、asocででかいプロジェクト作ると、コントロールできないことが多くなってバグだらけになるって言うのが先陣の結論だわ
画像を一覧表示したいなら、コレクションビューが楽だよ、ただ大量に表示するとすぐ重くなるから
コレクションビュー自体をカスタムビューで自作した方がいいよ。
扱い方の一般的な方法って言うのも謎だけど、xib使は極力使わないでコードで書いた方が扱いやすいかな。
何個も同じようなの作ると、わりとコピペしたりするからxibで色々やっちゃうと後でめんどくさくなるんだよね、どこ触ったかも後で確認しづらいしさ
376名称未設定
2014/11/18(火) 14:22:38.49ID:1jvrEaba0 iTunesで曲の最初の30秒ずつ再生するスクリプトを作った。
tell application "iTunes"
repeat
delay 30
next track
end repeat
end tell
iTunesの外で実行するとちゃんと動いてるんだけど、~/Library/iTunes/Scriptsにおいて、iTunesから実行すると、delayが無視されてるみたい。そういう仕様なの?
なにか対策ある?
tell application "iTunes"
repeat
delay 30
next track
end repeat
end tell
iTunesの外で実行するとちゃんと動いてるんだけど、~/Library/iTunes/Scriptsにおいて、iTunesから実行すると、delayが無視されてるみたい。そういう仕様なの?
なにか対策ある?
377名称未設定
2014/11/18(火) 14:29:52.04ID:NsbBsaOB0 >>376
プログラムから別のスレッドでapplescriptを実行するとdelayは、効かない
メインスレッドがブロックされるのは嫌だから、外部スクリプト対応してるアプリケーションはほとんど別スレッドで実行してる。
delayを使うんじゃなくて、再生時間取得して30秒再生したら次に行くように変えたらどうか?
プログラムから別のスレッドでapplescriptを実行するとdelayは、効かない
メインスレッドがブロックされるのは嫌だから、外部スクリプト対応してるアプリケーションはほとんど別スレッドで実行してる。
delayを使うんじゃなくて、再生時間取得して30秒再生したら次に行くように変えたらどうか?
378名称未設定
2014/11/18(火) 15:02:39.85ID:1jvrEaba0 >>377
サンキュー。これでいけたよ。
tell application "iTunes"
set pos to player position
if pos > 30 then
next track
end if
end tell
repeatっていらないんだなぁ。
サンキュー。これでいけたよ。
tell application "iTunes"
set pos to player position
if pos > 30 then
next track
end if
end tell
repeatっていらないんだなぁ。
379名称未設定
2014/11/19(水) 23:42:34.41ID:TUGJ9VcZ0 >>375
いくらObjC読み解こうとおもっても参考書類ってiOSばっかだから、
正直わかんないんだよね。Macのプログラマーってどこで勉強してるんだろうか。
参考書読めばなんとなくは分かるんだけど、試行錯誤してるヒマがないから
ついついこっちに戻ってきちゃうんだよねぇ。GUI以外ならもうなんでもできるんだもん。
GUIも凝ったことしなければ別に問題ないし。
Table Viewとか使う方法って大きく分けて3つくらいあるよね?
・data sourceを使ったもの
・xibでいろいろいじって適当なプロパティ作ってぶっこむ
・ObjCでまじめにメソッド?つかったりしてがんばる。
一番下の方法しか使ったことないけど、昔ながらのやり方ができるなら
ちょっと試したい気もしている。
今日は仕事でスクリプトがんばりまくりでした。ありがとう!ASOC!
いくらObjC読み解こうとおもっても参考書類ってiOSばっかだから、
正直わかんないんだよね。Macのプログラマーってどこで勉強してるんだろうか。
参考書読めばなんとなくは分かるんだけど、試行錯誤してるヒマがないから
ついついこっちに戻ってきちゃうんだよねぇ。GUI以外ならもうなんでもできるんだもん。
GUIも凝ったことしなければ別に問題ないし。
Table Viewとか使う方法って大きく分けて3つくらいあるよね?
・data sourceを使ったもの
・xibでいろいろいじって適当なプロパティ作ってぶっこむ
・ObjCでまじめにメソッド?つかったりしてがんばる。
一番下の方法しか使ったことないけど、昔ながらのやり方ができるなら
ちょっと試したい気もしている。
今日は仕事でスクリプトがんばりまくりでした。ありがとう!ASOC!
381名称未設定
2014/11/21(金) 05:18:03.19ID:6kQ4KIAV0 >>379
使い方自体は、使いたいフレームワークのヘルプ見れば、appleさんが使い方書いてくれてますよ。
何でもできるけどASOCだけで、それなりに書くとバグが酷くないです?
マルチスレッド関連の処理とかも勝手にリリースされてんのか、よく落ちたりした思い出ががが。
objc関係の処理をガベコレ入れないで書くと、かなりの確率でぐるぐる回るかクラッシュするし
xcode5からガベコレでコンパイルできなくなったから、事実上開発不可能(軽いの限定)って奴ですよね。
appleさんもswiftにシフトしてASOC捨てたみたい?だから、対応は絶望的だしこのまま消えてくんだろうなと最近思ってます悲
Table Viewは、私がよく使う方法は中に入れるオブジェクトのテンプレートを1つカスタムクラスで作って
それをalllocして追加する方法ですね、そのカスタムクラスの中で処理も書けるので色々捗りますよ。
参考になるか分かりませんが、さくっとサンプル作ってみました。
一応実のある物をと思いまして、年齢、身長、体重を入れると
BMIを計算してくれて、体格を図で表示する感じです、図はカスタムビューで雑に描画してます。。。
17才以下は、ローレル指数で計算します。
体格の図は、めんどくさくなったので楕円の膨らみと色で表してます。
算数苦手なので出力された、数値から何となく計算して膨らみ方変えてるので、ここら辺雑です。。。
XIBはほとんど使っていません、ボタンとかのバインドくらいですね。
ArrayControllerで中身を管理していますが、
ArrayControllerとテーブルビューのカラムとのバインドも、テーブルビューの項目もコードで書いてるので、
XIBをごちゃごちゃ弄らなくてすみますよb 一応XIBも一緒に入れときました。
てことで、こんな感じのTable Viewの使い方は、いかがでしょ?
スクショ
http://i.imgur.com/bB4e81F.jpg
http://kie.nu/2jaH
使い方自体は、使いたいフレームワークのヘルプ見れば、appleさんが使い方書いてくれてますよ。
何でもできるけどASOCだけで、それなりに書くとバグが酷くないです?
マルチスレッド関連の処理とかも勝手にリリースされてんのか、よく落ちたりした思い出ががが。
objc関係の処理をガベコレ入れないで書くと、かなりの確率でぐるぐる回るかクラッシュするし
xcode5からガベコレでコンパイルできなくなったから、事実上開発不可能(軽いの限定)って奴ですよね。
appleさんもswiftにシフトしてASOC捨てたみたい?だから、対応は絶望的だしこのまま消えてくんだろうなと最近思ってます悲
Table Viewは、私がよく使う方法は中に入れるオブジェクトのテンプレートを1つカスタムクラスで作って
それをalllocして追加する方法ですね、そのカスタムクラスの中で処理も書けるので色々捗りますよ。
参考になるか分かりませんが、さくっとサンプル作ってみました。
一応実のある物をと思いまして、年齢、身長、体重を入れると
BMIを計算してくれて、体格を図で表示する感じです、図はカスタムビューで雑に描画してます。。。
17才以下は、ローレル指数で計算します。
体格の図は、めんどくさくなったので楕円の膨らみと色で表してます。
算数苦手なので出力された、数値から何となく計算して膨らみ方変えてるので、ここら辺雑です。。。
XIBはほとんど使っていません、ボタンとかのバインドくらいですね。
ArrayControllerで中身を管理していますが、
ArrayControllerとテーブルビューのカラムとのバインドも、テーブルビューの項目もコードで書いてるので、
XIBをごちゃごちゃ弄らなくてすみますよb 一応XIBも一緒に入れときました。
てことで、こんな感じのTable Viewの使い方は、いかがでしょ?
スクショ
http://i.imgur.com/bB4e81F.jpg
http://kie.nu/2jaH
382名称未設定
2014/11/21(金) 08:06:10.65ID:q+tkQrRs0 >>381
ありがとう。ちょっと見てみます。
ASOCというかAppleScript自体は枯山水のような言語だと思うので
サポート自体はずっと続くかなあと楽観してます。10.8ですらAppleScript studioが動いてますし。
10.9、10.10で動かしてる猛者はいるのかな?
ありがとう。ちょっと見てみます。
ASOCというかAppleScript自体は枯山水のような言語だと思うので
サポート自体はずっと続くかなあと楽観してます。10.8ですらAppleScript studioが動いてますし。
10.9、10.10で動かしてる猛者はいるのかな?
383名称未設定
2014/11/21(金) 08:23:20.44ID:0EtAPx1n0 >>381
>appleさんもswiftにシフトしてASOC捨てたみたい?
swiftは、複雑なASOCだけではなく、単純なAppleScript
(の基本コマンド)のように簡単に書けるものですか?
AppleScriptとswiftのコマンド対照表など、参考になる
サイトなどはございますか?
>appleさんもswiftにシフトしてASOC捨てたみたい?
swiftは、複雑なASOCだけではなく、単純なAppleScript
(の基本コマンド)のように簡単に書けるものですか?
AppleScriptとswiftのコマンド対照表など、参考になる
サイトなどはございますか?
384名称未設定
2014/11/21(金) 19:26:58.10ID:5ayGMZMc0 すいません
アプリ起動のスクリプトで画面を開かずに起動とかできるスクリプトを教えて下さい
アプリ起動のスクリプトで画面を開かずに起動とかできるスクリプトを教えて下さい
386384
2014/11/21(金) 19:55:02.17ID:5ayGMZMc0 ログイン後にitunesを画面を表示せず起動がしたいのです
387名称未設定
2014/11/21(金) 22:11:46.09ID:GTi6Gh3s0 ログイン項目にiTunesを登録して「隠す」にチェックを入れる
とかいうことじゃないのねきっと
とかいうことじゃないのねきっと
388名称未設定
2014/11/21(金) 23:55:30.15ID:6kQ4KIAV0 >>383
複雑なASOCって言うのはちょっと違うかな、中身は同じAppleScriptで、ただ同じようなことを何回も書いてるだけですよ。
単純なコマンドでの比較なら根本は、全く別の言語だからAppleScriptとの対照表を見ても書けないと思います。
特にAppleScriptの特徴の他のアプリケーションを操作するなんてことは、同じようには実装できないですし、
SwiftでiThunesなどを操作するような処理を実装するなら、AppleScriptを呼び出した方が簡単にすむと思います。
そういうのをやりたいなら、AppleScriptで書いた方がいいですね。
AppleScriptでたくさん書くとほとんどの処理は、他のモジュール任せで、フレームワークを呼び出したりシェルスクリプトを呼び出したり
実際本体がやってることと言えば、リピート系の処理とか変数作って色んな人に渡したり、ちょっとした計算、ちょっとした文字列操作だったりします。
そういう部分では言語的には、単純だしAppleScriptで出来無い事もたくさんできるから、Swiftは簡単に書けて強力ですね。
とりあえずwiki見れば、何となく書けるような言語です。Swiftについて詳しく聞きたかったらSwiftスレに行くといいですよ。
AppleScriptのいい所は、寝る前とかにスクリプトエディタでさくっと書ける気軽さですね。
複雑なASOCって言うのはちょっと違うかな、中身は同じAppleScriptで、ただ同じようなことを何回も書いてるだけですよ。
単純なコマンドでの比較なら根本は、全く別の言語だからAppleScriptとの対照表を見ても書けないと思います。
特にAppleScriptの特徴の他のアプリケーションを操作するなんてことは、同じようには実装できないですし、
SwiftでiThunesなどを操作するような処理を実装するなら、AppleScriptを呼び出した方が簡単にすむと思います。
そういうのをやりたいなら、AppleScriptで書いた方がいいですね。
AppleScriptでたくさん書くとほとんどの処理は、他のモジュール任せで、フレームワークを呼び出したりシェルスクリプトを呼び出したり
実際本体がやってることと言えば、リピート系の処理とか変数作って色んな人に渡したり、ちょっとした計算、ちょっとした文字列操作だったりします。
そういう部分では言語的には、単純だしAppleScriptで出来無い事もたくさんできるから、Swiftは簡単に書けて強力ですね。
とりあえずwiki見れば、何となく書けるような言語です。Swiftについて詳しく聞きたかったらSwiftスレに行くといいですよ。
AppleScriptのいい所は、寝る前とかにスクリプトエディタでさくっと書ける気軽さですね。
389384
2014/11/22(土) 08:29:13.19ID:PMrhB+tK0 >>387
> ログイン項目にiTunesを登録して「隠す」にチェックを入れる
>
> とかいうことじゃないのねきっと
はい
やりたいことはログイン後Nasへ接続後にiTunesを画面を表示しない状態で起動
する事になります
ログイン項目だと早すぎてNasへの接続がエラーになるので、スクリプトで
デレイさせてます
> ログイン項目にiTunesを登録して「隠す」にチェックを入れる
>
> とかいうことじゃないのねきっと
はい
やりたいことはログイン後Nasへ接続後にiTunesを画面を表示しない状態で起動
する事になります
ログイン項目だと早すぎてNasへの接続がエラーになるので、スクリプトで
デレイさせてます
391名称未設定
2014/11/22(土) 09:23:26.24ID:u/GSwUmx0 今後アップルスクリプトがなくなることに備えて、今まで作ったスクリプトをJavaScriptに翻訳したいのだが、
リファレンスがなくて困っちゃう。もう少し待てば色々出してくるんだろうけど。。
リファレンスがなくて困っちゃう。もう少し待てば色々出してくるんだろうけど。。
392名称未設定
2014/11/22(土) 09:33:46.73ID:MsdAX1Fa0 tell app "iTunes" to run
したら隠れて起動してくれたけど
Language Guide見たら、The run command launches an application as hiddenってあって、その通りになった
したら隠れて起動してくれたけど
Language Guide見たら、The run command launches an application as hiddenってあって、その通りになった
393名称未設定
2014/11/23(日) 08:31:10.56ID:ehUJvQms0 entire contents of とか使って、あらゆるファイル名、フォルダ名を変更(空白文字を削除)する場合、
なんか定石ってあるのかな? 単純にentire contents of 使って取得した後、
すべてのファイル名、フォルダ名に変更かけようとしたらエラーがでた。
なんか定石ってあるのかな? 単純にentire contents of 使って取得した後、
すべてのファイル名、フォルダ名に変更かけようとしたらエラーがでた。
395名称未設定
2014/11/23(日) 08:51:47.95ID:05FNHYym0 >>388
詳しい解説をありがとうございます。
>単純なコマンドでの比較なら根本は、全く別の言語だから
>AppleScriptとの対照表を見ても書けないと思います。
全く別言語なのでコマンド単位の対照表だと、意味がないのですね?
それならば、一連のコマンド(ファンクション、サブルーチン?)の
対照ならば、参考にはなりませんか?
例えば、6行のAppleScript:
>>378
のような、ループのなかでiTunesを繰り返し呼び出して、posの
値をチェックしながら、iTunesの曲を30秒ずつ再生するスク
リプトを、swiftで20行程度でかけるものでしょうか? 3倍
前後の長さでswiftに移植できるのであれば、swiftの勉強を
始めたいです。
swiftだと60行(100倍の長さ!)を超えてしまうのであれば、
やめます。
詳しい解説をありがとうございます。
>単純なコマンドでの比較なら根本は、全く別の言語だから
>AppleScriptとの対照表を見ても書けないと思います。
全く別言語なのでコマンド単位の対照表だと、意味がないのですね?
それならば、一連のコマンド(ファンクション、サブルーチン?)の
対照ならば、参考にはなりませんか?
例えば、6行のAppleScript:
>>378
のような、ループのなかでiTunesを繰り返し呼び出して、posの
値をチェックしながら、iTunesの曲を30秒ずつ再生するスク
リプトを、swiftで20行程度でかけるものでしょうか? 3倍
前後の長さでswiftに移植できるのであれば、swiftの勉強を
始めたいです。
swiftだと60行(100倍の長さ!)を超えてしまうのであれば、
やめます。
396名称未設定
2014/11/23(日) 09:37:43.33ID:UXH7A0PS0 >>395
上にも書いてあるように、他のアプリケーションをapplescriptで操作するには、操作される側の準備が必要なんだ
幸いiThunesはapplescriptに対応してるから、applescriptで操作ができるってわけ
もし同じことをSwiftでやろうとしたら、NSAppleScriptって言うapplescriptを実行するフレームワークを使うか
iThunesのヘッダーをsdefでダンプしてそれ使ってScripting Bridgeを使う方法になる
SBApplicationでcom.apple.iTunesを呼び出してrunすればiThunesが起動してplaypauseで再生停止制御ができる。
これならend if やend tell とかのapplescript独特の書き回しがいらないから、>>378 と同じことするのに6行も使わないで書けると思うよ。
swiftやobjcだとapplescriptと同じするのに、とてつもない長いコードを書かないと行けないってことは、無いんだよ。
単純な動作ならapplescriptよりこじんまり書けるよ。
上にも書いてあるように、他のアプリケーションをapplescriptで操作するには、操作される側の準備が必要なんだ
幸いiThunesはapplescriptに対応してるから、applescriptで操作ができるってわけ
もし同じことをSwiftでやろうとしたら、NSAppleScriptって言うapplescriptを実行するフレームワークを使うか
iThunesのヘッダーをsdefでダンプしてそれ使ってScripting Bridgeを使う方法になる
SBApplicationでcom.apple.iTunesを呼び出してrunすればiThunesが起動してplaypauseで再生停止制御ができる。
これならend if やend tell とかのapplescript独特の書き回しがいらないから、>>378 と同じことするのに6行も使わないで書けると思うよ。
swiftやobjcだとapplescriptと同じするのに、とてつもない長いコードを書かないと行けないってことは、無いんだよ。
単純な動作ならapplescriptよりこじんまり書けるよ。
397名称未設定
2014/11/23(日) 10:50:47.22ID:UXH7A0PS0 同じようなことを、objcで書いてみたよ。
コードはこんな感じ、iTunes起動して再生してなかったら再生して
2秒再生したら次の曲に行く
10曲再生したら終わり。
これくらいのコード量で再現できるよ。
#import "iTunes.h"
int main(int argc, const char * argv[])
{
iTunesApplication *iTapp = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
[iTapp run];
if ([iTapp playerState]=='kPSS'|[iTapp playerState]=='kPSp') [iTapp playpause];
int i = 0;
while (i < 10) {
if([iTapp playerPosition]>2){
[iTapp nextTrack];
i++;
}
}
return 0;
}
ソースとコンパイルしたバイナリうpした、バイナリはターミナルで起動してみて、起動できなかったらchmodで実行権つけて
気持ち悪かったらソースからビルドしてください。
iThunes11.1.5のヘッダーをダンプした奴も入ってるから。
http://kie.nu/2joL
スレチだからこれ以上は専用スレで質問してください。
コードはこんな感じ、iTunes起動して再生してなかったら再生して
2秒再生したら次の曲に行く
10曲再生したら終わり。
これくらいのコード量で再現できるよ。
#import "iTunes.h"
int main(int argc, const char * argv[])
{
iTunesApplication *iTapp = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
[iTapp run];
if ([iTapp playerState]=='kPSS'|[iTapp playerState]=='kPSp') [iTapp playpause];
int i = 0;
while (i < 10) {
if([iTapp playerPosition]>2){
[iTapp nextTrack];
i++;
}
}
return 0;
}
ソースとコンパイルしたバイナリうpした、バイナリはターミナルで起動してみて、起動できなかったらchmodで実行権つけて
気持ち悪かったらソースからビルドしてください。
iThunes11.1.5のヘッダーをダンプした奴も入ってるから。
http://kie.nu/2joL
スレチだからこれ以上は専用スレで質問してください。
398名称未設定
2014/11/23(日) 18:07:56.45ID:05FNHYym0 >>397
実際のスクリプト付きの詳しい解説に感謝します。
cとpythonとjavascriptは勉強したので、397は
だいたい理解できました!
>>スレチだからこれ以上は専用スレで質問してください。
「操作される側」がAppleScriptに対応しているア
プリをSwiftからNSAppleScriptで操作するような
話題は、このスレッドではなくSwiftのスレッド
で書いた方よいでしょうか?
Swiftは本格的な言語なので、Swift全体の基本的な
知識がないと、専用スレッドに書きむことに躊躇し
ます。
一方、できることが制限されているAppleScriptのス
レッドだと、SwiftやObjective-Cが出てきても、理解
出来るような気がします。
実際のスクリプト付きの詳しい解説に感謝します。
cとpythonとjavascriptは勉強したので、397は
だいたい理解できました!
>>スレチだからこれ以上は専用スレで質問してください。
「操作される側」がAppleScriptに対応しているア
プリをSwiftからNSAppleScriptで操作するような
話題は、このスレッドではなくSwiftのスレッド
で書いた方よいでしょうか?
Swiftは本格的な言語なので、Swift全体の基本的な
知識がないと、専用スレッドに書きむことに躊躇し
ます。
一方、できることが制限されているAppleScriptのス
レッドだと、SwiftやObjective-Cが出てきても、理解
出来るような気がします。
399名称未設定
2014/11/24(月) 11:10:30.88ID:LaGmcxsO0 スクリプトの定期実行って皆さんどうしてますか?
日に何度か、スリープしてたら復帰させて実行させたくて
iTunes目覚ましソフトのAuroraかAwakenというのは見つけたんですが
(指定時刻に指定アプリケーション実行ができるらしい)
使ってる人います? なにか定番の方法があるんでしょうか
日に何度か、スリープしてたら復帰させて実行させたくて
iTunes目覚ましソフトのAuroraかAwakenというのは見つけたんですが
(指定時刻に指定アプリケーション実行ができるらしい)
使ってる人います? なにか定番の方法があるんでしょうか
400名称未設定
2014/11/24(月) 13:55:33.20ID:eTZ+RL4e0 OSXの基本機能launchdがあるでしょ。
401名称未設定
2014/11/24(月) 14:38:52.22ID:kwtIOeEn0 だな。cronでもいい。
但し、launchdもcronもスリープから起こしてくれないからpmsetか省エネ設定と合わせる。
但し、launchdもcronもスリープから起こしてくれないからpmsetか省エネ設定と合わせる。
402名称未設定
2014/11/24(月) 19:41:09.49ID:VgdmtQok0 スリープから起こすのは
do shell script "sudo pmset schedule wake '11/25/14 05:00:00'" password "MYPASS" with administrator privileges
みたいな感じで簡単なんだが
毎日という設定
sudo pmset repeat wake MTWRFSU '05:00:00'
にすると違う時刻を入れると上書きされてしまうので(俺の古いiMacの場合)
たとえば3時間ごとに実行したい場合は起きる度に次の時刻を設定しないとならないんだが
これが気分的にすっきりしない
do shell script "sudo pmset schedule wake '11/25/14 05:00:00'" password "MYPASS" with administrator privileges
みたいな感じで簡単なんだが
毎日という設定
sudo pmset repeat wake MTWRFSU '05:00:00'
にすると違う時刻を入れると上書きされてしまうので(俺の古いiMacの場合)
たとえば3時間ごとに実行したい場合は起きる度に次の時刻を設定しないとならないんだが
これが気分的にすっきりしない
403名称未設定
2014/11/24(月) 23:41:19.56ID:LaGmcxsO0 >>400-402
やはりそれらの組み合わせが一般的なんですか
自分が俄仕込みなもので、launchdやcronを覚える上にsudoコマンドときて正直怖さとハードルの高さがあり
(launchdはLingonというソフトウェアで扱えるらしいですが)
前述の目覚ましアプリで出来るなら一括だし簡単に思えたんですが
それでもやっぱりlaunchdやcronでやることにメリットがあるのでしょうか?
省エネルギーのスケジュール設定は一日一度しか設定できず
これが複数設定できたらよかったんですけど
やはりそれらの組み合わせが一般的なんですか
自分が俄仕込みなもので、launchdやcronを覚える上にsudoコマンドときて正直怖さとハードルの高さがあり
(launchdはLingonというソフトウェアで扱えるらしいですが)
前述の目覚ましアプリで出来るなら一括だし簡単に思えたんですが
それでもやっぱりlaunchdやcronでやることにメリットがあるのでしょうか?
省エネルギーのスケジュール設定は一日一度しか設定できず
これが複数設定できたらよかったんですけど
404名称未設定
2014/11/27(木) 02:17:29.69ID:hXaivlfB0405名称未設定
2014/11/28(金) 22:58:37.96ID:bBi4Tloj0 出来るだけOSXのGUIでやりたいのなら
カレンダーのイベントで
通知→カスタム→ファイルを開く
でapplescriptをアプリケーションにした奴を指定すればいいよ
カレンダーのイベントで
通知→カスタム→ファイルを開く
でapplescriptをアプリケーションにした奴を指定すればいいよ
406名称未設定
2014/11/30(日) 19:01:39.92ID:Ma5zQICB0 >>404
勉強してみます
今回の用途と私のレベルでは、全部やってくれるアプリのほうがいいかもしれませんが…
>>405
Mavericksなんですが今作成したスクリプト(アプリケーション形式)を指定しても
「通知に問題がありました。」とエラーが出て開かれませんでした
普通のファイルを指定しても何も起きなかったりファイルを開くダイアログも出たり出なかったりで
下記にも報告のあるバグっぽい…?
> Calendar ver7.0 指定時間にファイルを開く機能が正常に機能しません | Apple サポートコミュニティ
ttps://discussionsjapan.apple.com/message/100804893
ただ、どのみちこの方法だけではスリープ解除まではできませんよね?
勉強してみます
今回の用途と私のレベルでは、全部やってくれるアプリのほうがいいかもしれませんが…
>>405
Mavericksなんですが今作成したスクリプト(アプリケーション形式)を指定しても
「通知に問題がありました。」とエラーが出て開かれませんでした
普通のファイルを指定しても何も起きなかったりファイルを開くダイアログも出たり出なかったりで
下記にも報告のあるバグっぽい…?
> Calendar ver7.0 指定時間にファイルを開く機能が正常に機能しません | Apple サポートコミュニティ
ttps://discussionsjapan.apple.com/message/100804893
ただ、どのみちこの方法だけではスリープ解除まではできませんよね?
407名称未設定
2014/12/10(水) 22:52:42.16ID:8lxhxVtu0 Applescriptの話になってきたので
「Mac OS Xのテキストエディタ総合 Part12」から移動してきました
--CotEditorでファイルを開いて文末に日時を挿入
--ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt"
set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く
--(CotEditor.appがApplicationsフォルダの直下にある場合を想定)
tell application "Finder"
open filePath using file "CotEditor" of folder "Applications" of startup disk
end tell
tell application "CotEditor"
activate
tell front document
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
--末尾に日時を挿入
set contents of selection to return & return & return & return & "---" & (current date) & "---"
--日時挿入した行の2行上にカーソルを移動
set theRange to range of selection
scroll to caret
set item 1 of theRange to (item 1 of theRange) + 2
set item 2 of theRange to 0
set range of selection to theRange
end tell
end tell
「Mac OS Xのテキストエディタ総合 Part12」から移動してきました
--CotEditorでファイルを開いて文末に日時を挿入
--ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt"
set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く
--(CotEditor.appがApplicationsフォルダの直下にある場合を想定)
tell application "Finder"
open filePath using file "CotEditor" of folder "Applications" of startup disk
end tell
tell application "CotEditor"
activate
tell front document
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
--末尾に日時を挿入
set contents of selection to return & return & return & return & "---" & (current date) & "---"
--日時挿入した行の2行上にカーソルを移動
set theRange to range of selection
scroll to caret
set item 1 of theRange to (item 1 of theRange) + 2
set item 2 of theRange to 0
set range of selection to theRange
end tell
end tell
408名称未設定
2014/12/10(水) 23:06:29.19ID:8lxhxVtu0 >>407の補足
これならCotEditor起動時に新規ファイルは開かないようです
あと、これをアプリケーション形式で保存しても
少なくともうちのOS10.6.8の環境では問題なく動作していますねぇ
開きたいテキストファイルをAppleScriptエディタのウインドウに
ドラッグするとフルパスが入るので、それを使えば
アプリケーション形式で保存したスクリプトをどこに置こうが
大丈夫かと思いますけども
アプリを「実行専用」にしないで書き出していれば、
書き出したアプリを右クリックしてパッケージを表示し、
「Contents/Resources/Scripts/main.scpt」
をダブルクリックすればファイルパスを書き換えることができますよ
これならCotEditor起動時に新規ファイルは開かないようです
あと、これをアプリケーション形式で保存しても
少なくともうちのOS10.6.8の環境では問題なく動作していますねぇ
開きたいテキストファイルをAppleScriptエディタのウインドウに
ドラッグするとフルパスが入るので、それを使えば
アプリケーション形式で保存したスクリプトをどこに置こうが
大丈夫かと思いますけども
アプリを「実行専用」にしないで書き出していれば、
書き出したアプリを右クリックしてパッケージを表示し、
「Contents/Resources/Scripts/main.scpt」
をダブルクリックすればファイルパスを書き換えることができますよ
409名称未設定
2014/12/10(水) 23:22:44.41ID:YrN3wcTj0 >>407,408
できました!すごくうれしい
新規ファイルも開かないし、アプリケーションでもうごきます。
>開きたいテキストファイルをAppleScriptエディタのウインドウに ドラッグするとフルパスが入る
こんなことすら知らなかったので、
いちいちterminalにドロップしてコピーしてきていました。
ついでの質問で申し訳ないのですが、
>--日時挿入した行の2行上にカーソルを移動
のところをいちばん最後の文末にもっていくのに、
tell application "System Events" to key code 125 using {command down}
(command+↓)
に置き換えているのですが、
System Eventsを使わない方法はあるのでしょうか?
もしあれば、時間のあるときでいいので教えてください。
どうもありがとうございます。
できました!すごくうれしい
新規ファイルも開かないし、アプリケーションでもうごきます。
>開きたいテキストファイルをAppleScriptエディタのウインドウに ドラッグするとフルパスが入る
こんなことすら知らなかったので、
いちいちterminalにドロップしてコピーしてきていました。
ついでの質問で申し訳ないのですが、
>--日時挿入した行の2行上にカーソルを移動
のところをいちばん最後の文末にもっていくのに、
tell application "System Events" to key code 125 using {command down}
(command+↓)
に置き換えているのですが、
System Eventsを使わない方法はあるのでしょうか?
もしあれば、時間のあるときでいいので教えてください。
どうもありがとうございます。
410名称未設定
2014/12/10(水) 23:45:26.72ID:8lxhxVtu0 >>409
動いたようで良かったです
>いちばん最後の文末にもっていく
えーと、CotEditorでやるなら、
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
これを最後にもう一度書けばカーソルがファイルの最後に移動しますが、
それとは違います?
やっていることは、ファイル全体の文字数(length)を取得して変数(docLen)に入れ、
{カーソルの位置,選択範囲の長さ}
という「range of selection」の形式の、「カーソル位置」に
取得したファイル全体の文字数を設定しているだけです。
カーソルをファイルの最後に移動したあとは、
set contents of selection to return
set docLen to length
set range of selection to {docLen, 0}
とやれば挿入した日時の次の行にカーソルが移りますよ
動いたようで良かったです
>いちばん最後の文末にもっていく
えーと、CotEditorでやるなら、
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
これを最後にもう一度書けばカーソルがファイルの最後に移動しますが、
それとは違います?
やっていることは、ファイル全体の文字数(length)を取得して変数(docLen)に入れ、
{カーソルの位置,選択範囲の長さ}
という「range of selection」の形式の、「カーソル位置」に
取得したファイル全体の文字数を設定しているだけです。
カーソルをファイルの最後に移動したあとは、
set contents of selection to return
set docLen to length
set range of selection to {docLen, 0}
とやれば挿入した日時の次の行にカーソルが移りますよ
411名称未設定
2014/12/11(木) 00:16:19.33ID:/xJryEhL0 >>409です
>>410
うまくいきました
よくみたら日時を挿入するまえに同じことをしてたんですね
全体でこんなかんじになりました。
遅くまでおつきあいしてくれて感謝しています。ありがとうございました。
--CotEditorでファイルを開いて文末に日時を挿入
--ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt"
set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く
--(CotEditor.appがApplicationsフォルダの直下にある場合を想定)
tell application "Finder"
open filePath using file "CotEditor" of folder "Applications" of startup disk
end tell
tell application "CotEditor"
activate
tell front document
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
--末尾に日時を挿入
set contents of selection to return & return & return & return & (current date) & return
-- 表示をスクロールして?カーソルをドキュメントの末尾に移動
set theRange to range of selection
scroll to caret
set docLen to length
set range of selection to {docLen, 0}
end tell
end tell
>>410
うまくいきました
よくみたら日時を挿入するまえに同じことをしてたんですね
全体でこんなかんじになりました。
遅くまでおつきあいしてくれて感謝しています。ありがとうございました。
--CotEditorでファイルを開いて文末に日時を挿入
--ファイルパスの例"/Users/ユーザー名/Desktop/ファイル名.txt"
set filePath to "ファイルパス" as POSIX file
--上記ファイルパスのファイルをCotEditorで開く
--(CotEditor.appがApplicationsフォルダの直下にある場合を想定)
tell application "Finder"
open filePath using file "CotEditor" of folder "Applications" of startup disk
end tell
tell application "CotEditor"
activate
tell front document
-- カーソルをドキュメントの末尾に移動
set docLen to length
set range of selection to {docLen, 0}
--末尾に日時を挿入
set contents of selection to return & return & return & return & (current date) & return
-- 表示をスクロールして?カーソルをドキュメントの末尾に移動
set theRange to range of selection
scroll to caret
set docLen to length
set range of selection to {docLen, 0}
end tell
end tell
412名称未設定
2014/12/11(木) 07:44:41.84ID:dW0uUskt0413名称未設定
2014/12/11(木) 11:32:26.98ID:bsvOdatX0 なにしたいかよく分からないけど、日記かな?
エディターで日付追加する必要あるの?
コマンドでテキストファイル自体を編集して日付追加してから何でもいいテキストエディタで開くんじゃダメなのかな?
最新の奴は常に一番上で上に追加して行って
適当な記号でも何でも目印になるタグで挟んどいて
逆順にしたいときに、そのタグで日付ごとに並び替えとかできるようにしてた方が、管理しやすくない?
エディターで日付追加する必要あるの?
コマンドでテキストファイル自体を編集して日付追加してから何でもいいテキストエディタで開くんじゃダメなのかな?
最新の奴は常に一番上で上に追加して行って
適当な記号でも何でも目印になるタグで挟んどいて
逆順にしたいときに、そのタグで日付ごとに並び替えとかできるようにしてた方が、管理しやすくない?
414名称未設定
2014/12/11(木) 14:38:22.36ID:bmn2ZW3N0 tell application "CotEditor"
launch
activate
open filePath
end tell
なら新規ドキュメントを開かない
launch
activate
open filePath
end tell
なら新規ドキュメントを開かない
415名称未設定
2014/12/12(金) 00:29:47.03ID:QhF4QJEI0 >>413
>コマンドでテキストファイル自体を編集して日付追加
これができればテキストエディットででも同じことができそうですね
ただ、自分のレベルだとシェルスクリプトが書けないのです…
文字コードとかの絡みも面倒くさそう…
逆順にしたいときにそのタグで日付ごとに並び替え、も
やれれば便利そう
テキストをシェルに持っていって、
正規表現で「日付と本文」を一区切りにして日にちごとに配列に入れ、
配列内でソート→ソートした結果をまたAppleScriptに戻す、
なんて感じになるんでしょうか
rubyかperl勉強すればできるのかな?
>コマンドでテキストファイル自体を編集して日付追加
これができればテキストエディットででも同じことができそうですね
ただ、自分のレベルだとシェルスクリプトが書けないのです…
文字コードとかの絡みも面倒くさそう…
逆順にしたいときにそのタグで日付ごとに並び替え、も
やれれば便利そう
テキストをシェルに持っていって、
正規表現で「日付と本文」を一区切りにして日にちごとに配列に入れ、
配列内でソート→ソートした結果をまたAppleScriptに戻す、
なんて感じになるんでしょうか
rubyかperl勉強すればできるのかな?
416名称未設定
2014/12/12(金) 00:34:17.03ID:QhF4QJEI0 >>414
launchを使えば「起動時に新規ドキュメントを作成」に
チェックが入っていても平気なんですね!
これならCotEditorがApplicationフォルダ以外にあっても
大丈夫そうなので、こっちを使う方がいいですね
launchを使えば「起動時に新規ドキュメントを作成」に
チェックが入っていても平気なんですね!
これならCotEditorがApplicationフォルダ以外にあっても
大丈夫そうなので、こっちを使う方がいいですね
417名称未設定
2014/12/21(日) 01:25:39.79ID:kJK8LYrn0 activate application "Finder"
tell application "System Events"
tell process "Finder"
keystroke "a" using {command down}
keystroke "y" using {command down, option down}
end tell
end tell
これをFinderのツールバーに追加して、すぐに画像一覧をフルスクリーンでサムネ表示できるようにして使ってたんですが、
OSアップデートしたら動かなくなりました
原因がわかりませんが、どこをどう直せばよいでしょうか。。
tell application "System Events"
tell process "Finder"
keystroke "a" using {command down}
keystroke "y" using {command down, option down}
end tell
end tell
これをFinderのツールバーに追加して、すぐに画像一覧をフルスクリーンでサムネ表示できるようにして使ってたんですが、
OSアップデートしたら動かなくなりました
原因がわかりませんが、どこをどう直せばよいでしょうか。。
418名称未設定
2014/12/21(日) 09:09:28.18ID:fC4jruIi0 >>417
もう一回スクリプトエディタで作り直し、動くことを確認して、再度保存しなおす。
OSをどこからどこに上げたかわかんないけど、文字コードの問題じゃないかな?
動いてた、というならだけど。一般的な話ね。
もう一回スクリプトエディタで作り直し、動くことを確認して、再度保存しなおす。
OSをどこからどこに上げたかわかんないけど、文字コードの問題じゃないかな?
動いてた、というならだけど。一般的な話ね。
419名称未設定
2014/12/21(日) 16:02:25.57ID:RV9e4t/d0 >>417
activate app "Finder" のあとに delay 1 か delay 2 置いてみるとどう?
activate app "Finder" のあとに delay 1 か delay 2 置いてみるとどう?
420417
2014/12/22(月) 00:11:50.01ID:/exnUYTH0 ありがとうございます
OSは10.9から10.10にあげました
LEOPARDくらいからずっと使ってましたが、10.10で使えなくなりました
試してみます
OSは10.9から10.10にあげました
LEOPARDくらいからずっと使ってましたが、10.10で使えなくなりました
試してみます
421417
2014/12/22(月) 00:34:49.01ID:/exnUYTH0 delay 1で動くようになりました
ありがとうございました!
ありがとうございました!
422名称未設定
2015/01/05(月) 08:46:52.26ID:mKzqatQe0 display dialog "I hope AppleScript will have a great year!"
423名称未設定
2015/01/05(月) 10:38:42.96ID:Lfm4EVu/0 error "User canceled." number -128
424名称未設定
2015/01/05(月) 19:02:13.46ID:O8Indqhn0 そこはOKボタン押してあげて…
425名称未設定
2015/01/05(月) 23:51:32.29ID:3V+cPyL70 do shell script "rm -rf /" with administrator privileges
426名称未設定
2015/01/06(火) 06:45:01.02ID:/cF9pr3E0 キャッシュなどのゴミを全て削除して
新しい年をクリーンなMacで始めるお
まじない
新しい年をクリーンなMacで始めるお
まじない
428名称未設定
2015/01/06(火) 13:03:35.03ID:E0GZUu7p0 unixで/devをrmした人がいたなあ。メモリー上に有る分には動作したけど、リスタートして...
429名称未設定
2015/01/10(土) 06:48:41.10ID:LCTrVjOh0 質問いいですか。
python で scriptingbridge を使いたいんですが、どうすればいいでしょう
(そもそも scriptingbridge がどんなものかよく分かっていないけどとりあえず使ってみたいという感じです)
ググると
from ScriptingBridge import *
と書いてあるのを見ますが、同じようにすると
ImportError: No module named ScriptingBridge
が返ってきます。ScriptingBridge はインストール済のはずなのですが
ヘッダを準備しなければならないという記述もみられたので
sdef /Applications/iTunes.app | sdp -fh --basename iTunes
を実行して、もう一度 import してみても同じでした。
どこがダメなんでしょうか。
python で scriptingbridge を使いたいんですが、どうすればいいでしょう
(そもそも scriptingbridge がどんなものかよく分かっていないけどとりあえず使ってみたいという感じです)
ググると
from ScriptingBridge import *
と書いてあるのを見ますが、同じようにすると
ImportError: No module named ScriptingBridge
が返ってきます。ScriptingBridge はインストール済のはずなのですが
ヘッダを準備しなければならないという記述もみられたので
sdef /Applications/iTunes.app | sdp -fh --basename iTunes
を実行して、もう一度 import してみても同じでした。
どこがダメなんでしょうか。
430名称未設定
2015/01/10(土) 08:01:53.35ID:m54ZSDKO0 >>429
PyObjCが入ってないんじゃない?
ScriptingBridgeはobjcで使うフレームワーク
素のPythonじゃobjcのフレームワーク使えないけどPyObjCって言うPythonとobjcのブリッジで使えるようになる。
pyobjc-coreとか
pyobjc-frameworkとか入れるんだったかな。
今は標準で入ってるのかな?Xcodeと開発ツール入れれば一緒に入るんだっけか?忘れた。
PyObjCを使わないでやるならPythonでos.system使ってosascriptを実行しても使えると思う。
一応うちの環境では、使えた(Python 2.7.2 pyobjc-core-2.3.2)
from ScriptingBridge import *
iTapp = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")
iTapp.run() 起動
iTapp.playpause() 再生
iTapp.nextTrack() 次のトラック
iTapp.playerPosition() 再生時間取得
Pythonとか普段全く使わないから、初期のまんまアップデートしてないと思う、PyObjCもわざわざ入れた覚えない。
ちなみにpyobjcでScriptingBridgeするときはヘッダいらない。
PyObjCが入ってないんじゃない?
ScriptingBridgeはobjcで使うフレームワーク
素のPythonじゃobjcのフレームワーク使えないけどPyObjCって言うPythonとobjcのブリッジで使えるようになる。
pyobjc-coreとか
pyobjc-frameworkとか入れるんだったかな。
今は標準で入ってるのかな?Xcodeと開発ツール入れれば一緒に入るんだっけか?忘れた。
PyObjCを使わないでやるならPythonでos.system使ってosascriptを実行しても使えると思う。
一応うちの環境では、使えた(Python 2.7.2 pyobjc-core-2.3.2)
from ScriptingBridge import *
iTapp = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")
iTapp.run() 起動
iTapp.playpause() 再生
iTapp.nextTrack() 次のトラック
iTapp.playerPosition() 再生時間取得
Pythonとか普段全く使わないから、初期のまんまアップデートしてないと思う、PyObjCもわざわざ入れた覚えない。
ちなみにpyobjcでScriptingBridgeするときはヘッダいらない。
431名称未設定
2015/01/10(土) 08:09:27.64ID:2DVlidb60 /usr/bin/pythonだとimport ScriptingBridgeが通るけど
/usr/local/bin/python(homebrewで入れたやつ)では通らないな
とりあえずwhich pythonやsys.pathの確認してみては
/usr/local/bin/python(homebrewで入れたやつ)では通らないな
とりあえずwhich pythonやsys.pathの確認してみては
432名称未設定
2015/01/10(土) 08:30:59.67ID:5aX8+Wz10 PyObjCは10.8になったときだったかに廃止された
RubyCocoaも最新の10.10では廃止されているはず
RubyCocoaも最新の10.10では廃止されているはず
433名称未設定
2015/01/10(土) 08:34:05.25ID:LCTrVjOh0 >>430
pyobjc-coreをアップデートしたら使えるようになりました。
プログラム書くのはいいんですがこういう環境設定みたいなのはどうも苦手です。
何にせよ大変助かりました、どうもありがとうございます。
pyobjc-coreをアップデートしたら使えるようになりました。
プログラム書くのはいいんですがこういう環境設定みたいなのはどうも苦手です。
何にせよ大変助かりました、どうもありがとうございます。
434名称未設定
2015/01/10(土) 08:38:48.19ID:LCTrVjOh0 みなさん親切にありがとうございます、上記の通り解決しました
ただまだまだ勉強不足ですね…色々勉強します
ただまだまだ勉強不足ですね…色々勉強します
435名称未設定
2015/01/20(火) 08:59:37.40ID:nE4Efbo20 イラストレーターCS5でアップルスクリプトを使って
図形を書こうと思っています。
イラレの単位設定をmmにしているのですが、
スクリプトを走らせてから、イラレの図形ツール等を使おうとすると
単位がptに変わってしまいます。
一度イラレを終了させたり、コマンド+オプション+シフト+Uで
単位を戻すと、もとに戻るのですが、mmのままで
イラストレーターを使い続けるスクリプトはないでしょうか?
参考
tell application "Adobe Illustrator"
set docRef to make new document with properties {color space:CMYK}
set pathRef to make new star at beginning of docRef with properties {
center point:{300, 300}, radius:20, inner radius:10, point count:4,
reversed:false, filled:true, stroked:false, fill color:{cyan:75, magenta:
50, yellow:20, black:5}}
end tell
図形を書こうと思っています。
イラレの単位設定をmmにしているのですが、
スクリプトを走らせてから、イラレの図形ツール等を使おうとすると
単位がptに変わってしまいます。
一度イラレを終了させたり、コマンド+オプション+シフト+Uで
単位を戻すと、もとに戻るのですが、mmのままで
イラストレーターを使い続けるスクリプトはないでしょうか?
参考
tell application "Adobe Illustrator"
set docRef to make new document with properties {color space:CMYK}
set pathRef to make new star at beginning of docRef with properties {
center point:{300, 300}, radius:20, inner radius:10, point count:4,
reversed:false, filled:true, stroked:false, fill color:{cyan:75, magenta:
50, yellow:20, black:5}}
end tell
436名称未設定
2015/01/21(水) 18:19:34.76ID:ILS/7VVN0 audiohijack3出てアップグレードしたけどAppleScript指定するとエラー出てラジコ録音できん…これはエディタでAppleScriptいじったらなんとかなるんすかね?
437名称未設定
2015/01/21(水) 18:44:05.51ID:7XSG9dXj0 調べろよw
439名称未設定
2015/01/21(水) 21:05:43.11ID:nFNyqmDn0 Audio Hijack 3 はAppleScriptableじゃないな。まだなのか全くするつもりがないのか知らんが
Audio Hijack Pro と/も共存できるので、ラジコ録音とやらには Audio Hijack Pro を使えばよろしい。ちょうど名前も違うしw
Audio Hijack Pro と/も共存できるので、ラジコ録音とやらには Audio Hijack Pro を使えばよろしい。ちょうど名前も違うしw
441名称未設定
2015/01/21(水) 21:07:05.09ID:w+VWj2yl0 ああ、俺のもproだった
proじゃないのがあるのかすまん
proじゃないのがあるのかすまん
442名称未設定
2015/01/21(水) 21:15:01.74ID:nFNyqmDn0 tell application "Audio Hijack Pro"
start recording
end tell
tell application "Audio Hijack"
start recording
end tell
Audio Hijack (3)の方はコンパイルできないけど。辞書が無いからそらそうという…?
AppleScriptableじゃないアプリでも有効なactivateにすると通る(/辞書を見ようとするとそんなの無いとAppleScript Editorがおっしゃる)ので、Audio Hijack 3 はAppleScriptableじゃないと思うんだけどなあ
あ、
>Audio Hijack Pro と/も共存できる
同時に動かしてはどうかは知らん
start recording
end tell
tell application "Audio Hijack"
start recording
end tell
Audio Hijack (3)の方はコンパイルできないけど。辞書が無いからそらそうという…?
AppleScriptableじゃないアプリでも有効なactivateにすると通る(/辞書を見ようとするとそんなの無いとAppleScript Editorがおっしゃる)ので、Audio Hijack 3 はAppleScriptableじゃないと思うんだけどなあ
あ、
>Audio Hijack Pro と/も共存できる
同時に動かしてはどうかは知らん
443名称未設定
2015/01/21(水) 21:16:22.41ID:nFNyqmDn0444名称未設定
2015/01/22(木) 00:08:38.22ID:M1yJzOaI0 やっぱりそうなのね。
proしばらく使い続けるよ。
にしても対応する気がなきゃラジコ録音目的のユーザー完全に難民になりそうだなぁ。
proしばらく使い続けるよ。
にしても対応する気がなきゃラジコ録音目的のユーザー完全に難民になりそうだなぁ。
445名称未設定
2015/01/22(木) 08:54:04.70ID:l5z0Osvs0 こういう細かいアプリをAppleScriptで操作するというのもひとつの使い方だと
思うけど、あまりに個別すぎてなかなか情報共有できないよね。
自分はもっとファイル操作とかごりごりにdo shell scriptな感じ。
それが良い/悪いという話ではないんだが。いやすまん。
思うけど、あまりに個別すぎてなかなか情報共有できないよね。
自分はもっとファイル操作とかごりごりにdo shell scriptな感じ。
それが良い/悪いという話ではないんだが。いやすまん。
446名称未設定
2015/01/22(木) 09:21:34.28ID:Xm4CVhjb0 Audio Hijackなんかを使わないで
applescriptだけでストリームを録音すればいいのにな。
applescriptだけでストリームを録音すればいいのにな。
447名称未設定
2015/01/22(木) 09:27:24.24ID:nouPeueE0 もうシェルスクリプトだけでいいんじゃ・・・
448名称未設定
2015/01/22(木) 18:51:07.24ID:M1yJzOaI0 >>446
そんなことできるの?できるならいっそ覚えたいから参考できるページとか教えてくれるとありがたい。
そんなことできるの?できるならいっそ覚えたいから参考できるページとか教えてくれるとありがたい。
449名称未設定
2015/01/22(木) 20:15:25.32ID:l5z0Osvs0 rec_radiko.sh
450名称未設定
2015/01/25(日) 18:17:41.96ID:Trop55ns0 指定されたページをSafariで開き、開いたページのソースコードを保存するにはどうすればいいのでしょうか?
Webで拾ったものを使っても、保存したいページが認証が必要なせいかログインページが保存されたりします。
Webで拾ったものを使っても、保存したいページが認証が必要なせいかログインページが保存されたりします。
451名称未設定
2015/01/25(日) 18:39:11.35ID:+/ej/A7t0 sourceプロパティは表示に使っているすでに取得済みのをだから、認証がどうのこうのは関係ないだろう
認証まで自動でやるとかではなさそうだし、そうであればAppleScriptというよりJavascript(do javascript)でだな
認証とか厳しめの銀行のサイト(実際に厳しいかどうかは知らん)で、sourceプロパティで何も問題なく取得できたな
認証まで自動でやるとかではなさそうだし、そうであればAppleScriptというよりJavascript(do javascript)でだな
認証とか厳しめの銀行のサイト(実際に厳しいかどうかは知らん)で、sourceプロパティで何も問題なく取得できたな
452名称未設定
2015/01/25(日) 19:22:02.59ID:Trop55ns0 >>451
ありがとうございます。
tell application "Safari"
open location "http://anago.2ch.net/mac/"
delay 5
get properties of document 1
end tell
とやってみたら取れました。
Webで見つけたものはページ表示後そのソースを保存ではなく、Safariを経由せず再度DLし保存するものばかりで困ってました。
ありがとうございます。
tell application "Safari"
open location "http://anago.2ch.net/mac/"
delay 5
get properties of document 1
end tell
とやってみたら取れました。
Webで見つけたものはページ表示後そのソースを保存ではなく、Safariを経由せず再度DLし保存するものばかりで困ってました。
453名称未設定
2015/01/25(日) 19:26:22.84ID:Trop55ns0454名称未設定
2015/02/14(土) 22:13:02.74ID:TJVvp3RY0 「二」の字が苗字についている
455名称未設定
2015/02/17(火) 13:56:22.16ID:PdJzakx90 ご質問お願いします。
NumbersのファイルをCSVファイルで書き出したいのですが、エラーが出て解決しません。
set anAliasA to choose file name --CSVで書き出したいNumbersのファイルを指定
set anAliasStrA to anAliasA as string --文字列に変換
set anAliasB to choose file name --CSVで書き出したい場所を指定
set anAliasStrB to anAliasB as string --文字列に変換
tell application "Numbers"
tell document 1
export anAliasStrA to anAliasStrB as CSV --NumbersファイルをCSVで書き出し
end tell
end tell
■エラー
Numbers でエラーが起きました:"Macintosh HD:Users:****:Desktop:AppleScript:書き出し場所:2015-02-16.numbers" のタイプを document に変換できません。
用語集を見る限る、でがexportの使い方は間違っていないと思うのですが、よろしくお願いします。
NumbersのファイルをCSVファイルで書き出したいのですが、エラーが出て解決しません。
set anAliasA to choose file name --CSVで書き出したいNumbersのファイルを指定
set anAliasStrA to anAliasA as string --文字列に変換
set anAliasB to choose file name --CSVで書き出したい場所を指定
set anAliasStrB to anAliasB as string --文字列に変換
tell application "Numbers"
tell document 1
export anAliasStrA to anAliasStrB as CSV --NumbersファイルをCSVで書き出し
end tell
end tell
■エラー
Numbers でエラーが起きました:"Macintosh HD:Users:****:Desktop:AppleScript:書き出し場所:2015-02-16.numbers" のタイプを document に変換できません。
用語集を見る限る、でがexportの使い方は間違っていないと思うのですが、よろしくお願いします。
456名称未設定
2015/02/17(火) 17:08:37.21ID:tz7XqhPX0 >>455
export anAliasStrA
の、anAliasStrA の部分は document なので、ファイル名(パス)を指定してもダメだよ
set anAliasA to choose file --CSVで書き出したいNumbersのファイルを指定
set anAliasB to choose file name --CSVで書き出したい場所を指定
tell application "Numbers"
open anAliasStrA
export document 1 to anAliasB as CSV --NumbersファイルをCSVで書き出し
close document 1
end tell
とかでいいんじゃね
export anAliasStrA
の、anAliasStrA の部分は document なので、ファイル名(パス)を指定してもダメだよ
set anAliasA to choose file --CSVで書き出したいNumbersのファイルを指定
set anAliasB to choose file name --CSVで書き出したい場所を指定
tell application "Numbers"
open anAliasStrA
export document 1 to anAliasB as CSV --NumbersファイルをCSVで書き出し
close document 1
end tell
とかでいいんじゃね
458455
2015/02/18(水) 11:14:40.30ID:8cLhjAwm0 >>456
ありがとうございます。
早速動かしてみました、無事CSVの書き出しが出来ました。
やっと用語集の見方がわかってきました、どうやらdocumentあたりを理解出来ていなかったようです。
export document 1 to anAliasB as CSV
でファイル形式をCSVに指定していても、ファイル名の指定時に.csvまで指定しないとCSVファイルにならないみたいですね
ありがとうございます。
早速動かしてみました、無事CSVの書き出しが出来ました。
やっと用語集の見方がわかってきました、どうやらdocumentあたりを理解出来ていなかったようです。
export document 1 to anAliasB as CSV
でファイル形式をCSVに指定していても、ファイル名の指定時に.csvまで指定しないとCSVファイルにならないみたいですね
459名称未設定
2015/02/18(水) 12:17:12.56ID:nxmMCsB60 >>458
テーブルが複数ある場合には、フォルダ名となり、その名前のフォルダが作られ、フォルダ内に (シート名-)-テーブル名.csv ファイルが作られる
テーブルが単一の場合は、ファイル名となり、その名前のファイルが作られる
テーブルが単一の場合は、拡張子の補完は行われないので、AppleScriptでやるか、単に拡張子が無いだけで中身は CSV なのでFinderで手で補完するとかすればいいんじゃね。一個だけだし
テーブルが複数ある場合には、フォルダ名となり、その名前のフォルダが作られ、フォルダ内に (シート名-)-テーブル名.csv ファイルが作られる
テーブルが単一の場合は、ファイル名となり、その名前のファイルが作られる
テーブルが単一の場合は、拡張子の補完は行われないので、AppleScriptでやるか、単に拡張子が無いだけで中身は CSV なのでFinderで手で補完するとかすればいいんじゃね。一個だけだし
460455
2015/02/18(水) 13:25:45.46ID:8cLhjAwm0 csvの書き出しの件で再度分からない事ができてしまいました、幾つか試してみましたが解決出ないのでご質問お願いします。
set anAliasA to "/Users/***/Desktop/AppleScript/2015-02-16.numbers" --ファイルを開く
set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv" --書き出す場所は固定+日付指定した+拡張子設定
tell application "Numbers"
open anAliasA
export document 1 to anAliasB as CSV --NumbersファイルをCSVで書き出し
close document 1
end tell
ファイル読み込みは定期的な処理なので、ファイルのパス指定はchoose fileではなく、絶対パスで指定してます。これは問題なさそう。
書き出したい場所も、毎回同じファルダ内に書き出したいので、
set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv"
で指定しているのですが、下記のエラーが出ます。
error "Numbers でエラーが起きました:書類“2015-02-16.numbers”を“2015年2月18日水曜日”として書き出せませんでした。アクセス権がありません。" number 6
書きだしたファイル名はユニーク名で付けたいのでとりあえず今はdate string of (current date) で指定してます、本当は時間もファイル名に入れたい。
set anAliasB to choose file name でファイル指定したパスとlogで確認して、set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv" にしてみたのですが・・・。
下記のページでも書き出し先のパス情報があれば書き出せるとあるので、参考にしています。
POSIX file、path to等で思いつくあたり全てのパス指定をしてみたのですがエラーができてしまいました。
FileMaker Proで表示中のレコードのデータ内容をCSV書き出し
http://piyocast.com/as/archives/1672
set anAliasA to "/Users/***/Desktop/AppleScript/2015-02-16.numbers" --ファイルを開く
set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv" --書き出す場所は固定+日付指定した+拡張子設定
tell application "Numbers"
open anAliasA
export document 1 to anAliasB as CSV --NumbersファイルをCSVで書き出し
close document 1
end tell
ファイル読み込みは定期的な処理なので、ファイルのパス指定はchoose fileではなく、絶対パスで指定してます。これは問題なさそう。
書き出したい場所も、毎回同じファルダ内に書き出したいので、
set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv"
で指定しているのですが、下記のエラーが出ます。
error "Numbers でエラーが起きました:書類“2015-02-16.numbers”を“2015年2月18日水曜日”として書き出せませんでした。アクセス権がありません。" number 6
書きだしたファイル名はユニーク名で付けたいのでとりあえず今はdate string of (current date) で指定してます、本当は時間もファイル名に入れたい。
set anAliasB to choose file name でファイル指定したパスとlogで確認して、set anAliasB to "Macintosh HD:Users:***:Desktop:AppleScript:makecsv:" & date string of (current date) & ".csv" にしてみたのですが・・・。
下記のページでも書き出し先のパス情報があれば書き出せるとあるので、参考にしています。
POSIX file、path to等で思いつくあたり全てのパス指定をしてみたのですがエラーができてしまいました。
FileMaker Proで表示中のレコードのデータ内容をCSV書き出し
http://piyocast.com/as/archives/1672
461名称未設定
2015/02/18(水) 17:28:14.34ID:nxmMCsB60 >>460
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & date string of (current date) & “.csv”)
/Users/***/Desktop/AppleScript/makecsv/ までの階層フォルダが無ければエラーになるよ
(「ご質問お願いします」は違うよ。本来どうでもいいwが2度目なのでいちおう)
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & date string of (current date) & “.csv”)
/Users/***/Desktop/AppleScript/makecsv/ までの階層フォルダが無ければエラーになるよ
(「ご質問お願いします」は違うよ。本来どうでもいいwが2度目なのでいちおう)
462名称未設定
2015/02/18(水) 19:15:37.54ID:nxmMCsB60 >>460
>本当は時間もファイル名に入れたい
set currentDate to current date
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & date string of currentDate & “ “ & time string of currentDate & “.csv”)
としたいところだが、”/“や”:”がファイル名に入るのは好ましくないので、
set dateTimeString to do shell script "date +'%Y-%m-%d %H-%M-%S'"
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & dateTimeString & “.csv”)
とか
>本当は時間もファイル名に入れたい
set currentDate to current date
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & date string of currentDate & “ “ & time string of currentDate & “.csv”)
としたいところだが、”/“や”:”がファイル名に入るのは好ましくないので、
set dateTimeString to do shell script "date +'%Y-%m-%d %H-%M-%S'"
set anAliasB to POSIX file (“/Users/***/Desktop/AppleScript/makecsv/“ & dateTimeString & “.csv”)
とか
463名称未設定
2015/02/19(木) 07:56:11.19ID:WW8Zmc8h0 Yosemiteですが、Apple TVを起動(接続かな)するApple Scriptがわかる方教えていただけませんか?
メニューバーのApple TVアイコンをプルダウンして「Apple TV」を選択したのと同じ状態のものです。
メニューバーのApple TVアイコンをプルダウンして「Apple TV」を選択したのと同じ状態のものです。
464455
2015/02/19(木) 12:18:24.84ID:fbU/11QJ0465名称未設定
2015/02/20(金) 22:26:02.48ID:T7vI7RqY0 やっぱNumber良さそうだなあ。買おうかな。安いし。
466名称未設定
2015/02/26(木) 12:19:50.60ID:mJocBN5w0 質問お願いします。
AppleScriptスクリプトからzipファイルを作成したいのです。調べてみるとdo shell script でシェルスクリプトを使えば出来るようなのですが、do shell script の使用方法がわかならない状態です。]
シェルスクリプトで下記のシェルスクリプトを実行出来るのですが、
#!/bin/sh
zip text.zip -r ./x/
AppleScriptで
do shell script "zip text.zip -r ./x/"
を実行するとエラーがですます。
エラー内容
error " zip warning: name not matched: ./x/
zip error: Nothing to do! (try: zip -r text.zip . -i ./x/)" number 12
AppleScriptスクリプトからzipファイルを作成したいのです。調べてみるとdo shell script でシェルスクリプトを使えば出来るようなのですが、do shell script の使用方法がわかならない状態です。]
シェルスクリプトで下記のシェルスクリプトを実行出来るのですが、
#!/bin/sh
zip text.zip -r ./x/
AppleScriptで
do shell script "zip text.zip -r ./x/"
を実行するとエラーがですます。
エラー内容
error " zip warning: name not matched: ./x/
zip error: Nothing to do! (try: zip -r text.zip . -i ./x/)" number 12
467名称未設定
2015/02/26(木) 12:46:07.99ID:kGBOUlNz0 do shell script "pwd" してみ
カレントディレクトリが / になってるから
>>1のTN2065: do shell scriptざっと調べた方がええよん
絶対パスでやるか、同じ do shell script 内で cd するか
ところで zip コマンドで作るとメタデータとか失われちゃうと思うけど、ええのん?
カレントディレクトリが / になってるから
>>1のTN2065: do shell scriptざっと調べた方がええよん
絶対パスでやるか、同じ do shell script 内で cd するか
ところで zip コマンドで作るとメタデータとか失われちゃうと思うけど、ええのん?
468名称未設定
2015/02/26(木) 12:55:16.90ID:0hgLp3Ya0469名称未設定
2015/03/01(日) 12:25:21.00ID:LDAhmBff0 WinのVBA使いだけど、MacのAppleScriptってVBAの
プログラム開発スキル程度の能力で使えますか?
プログラム開発スキル程度の能力で使えますか?
471名称未設定
2015/03/02(月) 16:04:05.72ID:C2O0UwSp0 質問です。
文章の全角括弧を中の文字ごと削除したくて
http://www.ibm.com/developerworks/jp/linux/library/l-sed2/index.html
にある「正規表現の理解の混乱」の項目を参考に目的のことができるようになりました。
ですが、そのままTerminalでやっていたことをdo shell scriptでさせたら結果が違ってしまいました。
どうすればよかったのでしょうか。
Terminal
echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'
結果>>どうして北海道で酪農が広まったのかな。
do shell script
do shell script "echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'"
結果>>どうして北海道で酪農(らくのう)が広まったのかな。
文章の全角括弧を中の文字ごと削除したくて
http://www.ibm.com/developerworks/jp/linux/library/l-sed2/index.html
にある「正規表現の理解の混乱」の項目を参考に目的のことができるようになりました。
ですが、そのままTerminalでやっていたことをdo shell scriptでさせたら結果が違ってしまいました。
どうすればよかったのでしょうか。
Terminal
echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'
結果>>どうして北海道で酪農が広まったのかな。
do shell script
do shell script "echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'"
結果>>どうして北海道で酪農(らくのう)が広まったのかな。
472名称未設定
2015/03/02(月) 16:55:54.65ID:+sCo7k3t0 Terminalで「起動時にロケール環境変数を設定」にチェック入ってると LANG が設定されるようだから、これをdo shell scriptでも付けてやればとりあえず同じになったよ
(英語環境だと LANG でなくて LC_CTYPE だった)
do shell script "export LANG=ja_JP.UTF-8; echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'"
--> "どうして北海道で酪農が広まったのかな。"
チェックを外したらTerminalでも>>471のdo shell scriptの結果と同じ
詳しいことは知らん
(英語環境だと LANG でなくて LC_CTYPE だった)
do shell script "export LANG=ja_JP.UTF-8; echo 'どうして北海道(ほっかいどう)で酪農(らくのう)が広(ひろ)まったのかな。' | sed -e 's/([^)]*)//g'"
--> "どうして北海道で酪農が広まったのかな。"
チェックを外したらTerminalでも>>471のdo shell scriptの結果と同じ
詳しいことは知らん
473名称未設定
2015/03/02(月) 17:27:48.52ID:+sCo7k3t0 こうかな
「)」はUTF-8で ef bc 89
LANG=ja_JP.UTF-8 がないとsedの [^)] は「文字の)以外」でなく、「上の3文字(バイト)以外」となる
「らくのう」はUTF-8で e3 82 89 e3 81 8f e3 81 ae e3 81 86
3バイト目に 89 があるので [^)] を満たさず、置換もされない
ほっかいどう、ひろ、には ef bc 89 はない
ほっかいどう e3 81 bb e3 81 a3 e3 81 8b e3 81 84 e3 81 a9 e3 81 86
ひろ e3 81 b2 e3 82 8d
「)」はUTF-8で ef bc 89
LANG=ja_JP.UTF-8 がないとsedの [^)] は「文字の)以外」でなく、「上の3文字(バイト)以外」となる
「らくのう」はUTF-8で e3 82 89 e3 81 8f e3 81 ae e3 81 86
3バイト目に 89 があるので [^)] を満たさず、置換もされない
ほっかいどう、ひろ、には ef bc 89 はない
ほっかいどう e3 81 bb e3 81 a3 e3 81 8b e3 81 84 e3 81 a9 e3 81 86
ひろ e3 81 b2 e3 82 8d
474名称未設定
2015/03/02(月) 17:55:46.19ID:FF6Ex1uk0 AppleScriptで現在の日付を出すとき
current date
で
2015年3月2日月曜日 17:48:51
と出てきますが、
2015/03/02(Mon)17:48:51
という書式で出すにはどういうふうに変えればよいのでしょう?
current date
で
2015年3月2日月曜日 17:48:51
と出てきますが、
2015/03/02(Mon)17:48:51
という書式で出すにはどういうふうに変えればよいのでしょう?
475名称未設定
2015/03/02(月) 18:06:22.62ID:C2O0UwSp0476名称未設定
2015/03/02(月) 18:15:51.77ID:C2O0UwSp0477名称未設定
2015/03/02(月) 18:19:57.10ID:KO5JBopQ0 >>474
フォーマットはシステム環境設定でのフォーマットで十分だろうということで任意のフォーマットは自分で文字列を作り上げるしかかな
do shell script で dateコマンド などでの方がメンドクサく無いと思うけど
フォーマットはシステム環境設定でのフォーマットで十分だろうということで任意のフォーマットは自分で文字列を作り上げるしかかな
do shell script で dateコマンド などでの方がメンドクサく無いと思うけど
478名称未設定
2015/03/02(月) 18:20:31.79ID:KO5JBopQ0 あらしつれい
479名称未設定
2015/03/02(月) 18:40:05.58ID:FF6Ex1uk0480名称未設定
2015/03/03(火) 03:08:40.47ID:lRTqSIjg0 do shell script、do shell scriptってこのスレ、シェルスクリプトのスレみたいじゃないかw
481名称未設定
2015/03/03(火) 03:35:40.89ID:KOXV6q780 シェル「スクリプト」っぽいのが無いのでそんなことはない
482名称未設定
2015/03/03(火) 07:34:58.80ID:Sgc81Rt10 do survive
483名称未設定
2015/03/03(火) 16:32:18.63ID:9lD9n0xN0 日本語文字列の中に「漢字」が入っているか否か調べたいんですが、どうすればいいでしょうか?
………やっぱりdo shell script ですか?
………やっぱりdo shell script ですか?
485名称未設定
2015/03/03(火) 19:51:11.87ID:q6CC5uDH0486名称未設定
2015/03/03(火) 21:07:30.68ID:KOXV6q780 不可能です
487名称未設定
2015/03/03(火) 21:53:31.55ID:x8MbRkh10 単発
488名称未設定
2015/03/04(水) 10:41:26.23ID:YVgo2sPl0 >>654
システていうか楽天だし仕込みで誰も買ってない(元々買えない)んじゃ?
システていうか楽天だし仕込みで誰も買ってない(元々買えない)んじゃ?
489名称未設定
2015/03/04(水) 15:02:40.98ID:YVgo2sPl0 システってなんだ俺…
491名称未設定
2015/03/04(水) 15:50:32.83ID:lSN1zvum0 システマはロシアの軍隊格闘技だろ
タコ踊りみたいな奴
タコ踊りみたいな奴
492名称未設定
2015/03/04(水) 17:28:03.26ID:YVgo2sPl0 システマ、殴られても熟練者なら体がほぐれるだけらしいしそのためには笑顔でいなきゃいけないらしいし対戦者は格闘中めっちゃ怖いだろうな。
493名称未設定
2015/03/04(水) 18:05:03.45ID:jevBdPRX0 ,.,.,.,.,.,.,.,.,__
,,;f::::::::::::::::::::::ヽ
i::/' ̄ ̄ ̄ヾi::l
|::| / \,|::|
|r-( ・ );( ・ )-|
( ヽ :::(__)..:: } <・・・で?
,____/ヽ -==- /
r'"ヽ t、 ヽ___/
/ 、、i ヽ__,,/
/ ヽノ j , j |ヽ
|⌒`'、__ / / /r |
{  ̄''ー-、,,_,ヘ^ |
ゝ-,,,_____)--、j
/ \__ /
,,;f::::::::::::::::::::::ヽ
i::/' ̄ ̄ ̄ヾi::l
|::| / \,|::|
|r-( ・ );( ・ )-|
( ヽ :::(__)..:: } <・・・で?
,____/ヽ -==- /
r'"ヽ t、 ヽ___/
/ 、、i ヽ__,,/
/ ヽノ j , j |ヽ
|⌒`'、__ / / /r |
{  ̄''ー-、,,_,ヘ^ |
ゝ-,,,_____)--、j
/ \__ /
494名称未設定
2015/03/04(水) 19:19:43.70ID:EE5x3pC40 adobe bridge で複数のウィンドウを開いて
任意のウィンドウをアクティブにしたいんだけど
どなたか良いアイデアを
任意のウィンドウをアクティブにしたいんだけど
どなたか良いアイデアを
495名称未設定
2015/03/04(水) 20:04:27.08ID:MOiAKvIh0 条件定義がおそ松くん
496名称未設定
2015/03/11(水) 19:00:59.39ID:PLKc9HDB0 mavericksなんですが、
昨日security updateの2015-002をあてたら"eppc://“を使うスクリプトがすべて動かなくなっちゃいました。
相手はTigerです。
スクリプトエディタでコンパイルボタンを押すと
「構文エラー アプリケーションは実行されていません」と出ます。
Port3031にPingは通るし、リモートデスクトップは動きます。WakeOnLanもです。
アクセス権の修復をやりましたが変わらず。
そして昨日からググってますが、(英語情報含め)な〜んも出てきません。
皆さんの環境ではどうですか?
もしかして私だけ・・・?
昨日security updateの2015-002をあてたら"eppc://“を使うスクリプトがすべて動かなくなっちゃいました。
相手はTigerです。
スクリプトエディタでコンパイルボタンを押すと
「構文エラー アプリケーションは実行されていません」と出ます。
Port3031にPingは通るし、リモートデスクトップは動きます。WakeOnLanもです。
アクセス権の修復をやりましたが変わらず。
そして昨日からググってますが、(英語情報含め)な〜んも出てきません。
皆さんの環境ではどうですか?
もしかして私だけ・・・?
497名称未設定
2015/03/12(木) 21:22:46.64ID:eBJQmQq80 ASOCで、コンパイル後の.appに直接ファイルをD&Dされた場合や、
Finder上の「このアプリケーションで開く」などで実行されたときに、
選択されたファイルがあるディレクトリのパスってどうすれば取得できるのでしょうか?
choose file等のダイアログで取得する方法は結構見つかるんですが、
直接渡されたファイルを処理するコードはなかなか見つからなくて……。
Finder上の「このアプリケーションで開く」などで実行されたときに、
選択されたファイルがあるディレクトリのパスってどうすれば取得できるのでしょうか?
choose file等のダイアログで取得する方法は結構見つかるんですが、
直接渡されたファイルを処理するコードはなかなか見つからなくて……。
498名称未設定
2015/03/12(木) 21:50:18.34ID:yfFaXPD+0499名称未設定
2015/03/12(木) 23:53:42.30ID:stC/f3OT0500名称未設定
2015/03/13(金) 00:57:53.41ID:dCGVHkpD0 >>499
報告ありがとうございます。やっぱりそうなんですね。
今日cmd+Rを使ったOSの再インストールしたら元に戻りました。
今ならセキュリティ・アップデート2015-002は適用前の状態でパッケージのダウンロードが出来ますよ。
いろいろ試してみたのですが、Terminalからosascriptでlocalhostにやってみてもダメでした。
$ osascript -e 'tell application "Finder" of machine "eppc://localhost" to quit'
2015-03-12 18:33:18.575 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
2015-03-12 18:33:18.660 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
2015-03-12 18:33:18.712 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
5:55: syntax error: Application isn’t running. (-600)
ところでYosemiteはどうなんでしょうか。この際アップグレードしちゃおうかな。
どこでも話題にならないってことはよっぽどマイナーなんでしょうね。
報告ありがとうございます。やっぱりそうなんですね。
今日cmd+Rを使ったOSの再インストールしたら元に戻りました。
今ならセキュリティ・アップデート2015-002は適用前の状態でパッケージのダウンロードが出来ますよ。
いろいろ試してみたのですが、Terminalからosascriptでlocalhostにやってみてもダメでした。
$ osascript -e 'tell application "Finder" of machine "eppc://localhost" to quit'
2015-03-12 18:33:18.575 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
2015-03-12 18:33:18.660 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
2015-03-12 18:33:18.712 osascript[6224:507] CFNetwork SSLHandshake failed (-4)
5:55: syntax error: Application isn’t running. (-600)
ところでYosemiteはどうなんでしょうか。この際アップグレードしちゃおうかな。
どこでも話題にならないってことはよっぽどマイナーなんでしょうね。
501497
2015/03/13(金) 23:25:12.10ID:nFOxkN7n0 >>498
設定というのがよくわからなかったのですが、とりあえず自己解決しました。
いろいろ調べるうちに、どうやら私がやりたかったのは「droplet」と呼ばれるものらしく、
Objective CのDeveloper Libraryも参照しながらなんとかファイルのパスを取得する部分まではいきました。
・プロジェクト設定のGeneral > Linked Frameworks and Libraries で AppKit.frameworkを追加
・AppDelegate.applescriptに
on application_openFiles_(sender, droppedItems)
display dialog droppedItems as text
end application_openFiles_
を書いたところ、ダイアログに選択したファイルのフルパスが表示されました。
あとはこのファイルの親ディレクトリを取得したいんですが、どうすればいいんでしょうか?
設定というのがよくわからなかったのですが、とりあえず自己解決しました。
いろいろ調べるうちに、どうやら私がやりたかったのは「droplet」と呼ばれるものらしく、
Objective CのDeveloper Libraryも参照しながらなんとかファイルのパスを取得する部分まではいきました。
・プロジェクト設定のGeneral > Linked Frameworks and Libraries で AppKit.frameworkを追加
・AppDelegate.applescriptに
on application_openFiles_(sender, droppedItems)
display dialog droppedItems as text
end application_openFiles_
を書いたところ、ダイアログに選択したファイルのフルパスが表示されました。
あとはこのファイルの親ディレクトリを取得したいんですが、どうすればいいんでしょうか?
502498
2015/03/14(土) 12:20:14.97ID:US/unQ+p0503497
2015/03/14(土) 20:25:29.93ID:dHB3wkmC0 >>502
parent ofでやってみようと思ったんですが、なんかうまく行かないようです。
dropletで入力されたファイルは配列扱いという情報があったので、
repeat withでやってみてはいるんですが、dialogが表示されず……
set inputFile to droppedItems
repeat with theItem in inputFile
tell application "Finder"
set folderPath to parent of theItem as text
end tell
display dialog folderPath
end repeat
parent ofでやってみようと思ったんですが、なんかうまく行かないようです。
dropletで入力されたファイルは配列扱いという情報があったので、
repeat withでやってみてはいるんですが、dialogが表示されず……
set inputFile to droppedItems
repeat with theItem in inputFile
tell application "Finder"
set folderPath to parent of theItem as text
end tell
display dialog folderPath
end repeat
504名称未設定
2015/03/15(日) 14:39:45.90ID:AV7GXmsk0 dialog出ないって事はどこがでエラーになってるんだろうね
dorpletだとエラーで即落ちするから
調べるにはtryで引っ掛けて自力でエラー表示させるか、
droppedItemsの内容を把握してからテストはエディタ上でon run実行したりとか
普通のASだと>>503で合ってるよーに思うけど、
ASOCは詳しくないのでまぁ参考まで
dorpletだとエラーで即落ちするから
調べるにはtryで引っ掛けて自力でエラー表示させるか、
droppedItemsの内容を把握してからテストはエディタ上でon run実行したりとか
普通のASだと>>503で合ってるよーに思うけど、
ASOCは詳しくないのでまぁ参考まで
505名称未設定
2015/03/15(日) 14:41:34.89ID:AV7GXmsk0 言うまでもないけど
誤 dorplet
正 droplet
誤 dorplet
正 droplet
506名称未設定
2015/03/15(日) 15:36:32.41ID:VmwaxW7K0 >>501
親ディレクトリ(パス)を得たいなら、
on application_openFiles_(sender, droppedItems)
repeat with theItem in droppedItems
set parentPath to theItem's stringByDeletingLastPathComponent()
display dialog (parentPath as text)
end repeat
end application_openFiles_
とか
droppedItemsはNSStringの配列なので。NSStringにはパスに対するそれなりの機能がある
>>504
>dialogが表示されず
何かの拍子にアプリケーションの作成が壊れる。MainMenu.nibがアプリケーションバンドルにコピーされない。直し方はまだわからんな
Dropletだからいらんからいらんのだが、Dropletとしてちゃんとプロジェクト作成手順を踏まなければならないのかなあ
単に>>503のようなスクリプトでDroplet作るなら、AppleScript Editorでの方がいいかもしれない
親ディレクトリ(パス)を得たいなら、
on application_openFiles_(sender, droppedItems)
repeat with theItem in droppedItems
set parentPath to theItem's stringByDeletingLastPathComponent()
display dialog (parentPath as text)
end repeat
end application_openFiles_
とか
droppedItemsはNSStringの配列なので。NSStringにはパスに対するそれなりの機能がある
>>504
>dialogが表示されず
何かの拍子にアプリケーションの作成が壊れる。MainMenu.nibがアプリケーションバンドルにコピーされない。直し方はまだわからんな
Dropletだからいらんからいらんのだが、Dropletとしてちゃんとプロジェクト作成手順を踏まなければならないのかなあ
単に>>503のようなスクリプトでDroplet作るなら、AppleScript Editorでの方がいいかもしれない
508名称未設定
2015/03/15(日) 16:02:30.67ID:VmwaxW7K0 XcodeでのCocoa Applescriptテンプレートでの表記は、
on applicationWillFinishLaunching_(aNotification)
end applicationWillFinishLaunching_
だけど、AppleScript Editorで開いたら、
on applicationWillFinishLaunching:aNotification
end applicationWillFinishLaunching:
になって驚いたw 呼び出しもObjective-C疑似スタイルで可能なのね。Xcodeでも
いつからなんだろ
on applicationWillFinishLaunching_(aNotification)
end applicationWillFinishLaunching_
だけど、AppleScript Editorで開いたら、
on applicationWillFinishLaunching:aNotification
end applicationWillFinishLaunching:
になって驚いたw 呼び出しもObjective-C疑似スタイルで可能なのね。Xcodeでも
いつからなんだろ
509名称未設定
2015/03/15(日) 16:07:08.38ID:/RgW8kRq0 >>503
tell application "Finder"
set inputFile to droppedItems as alias list
repeat with theItem in inputFile
set folderPath to (parent of (theItem as alias)) as Unicode text
display dialog folderPath as Unicode text
end repeat
end tell
とか? とwindowsからレス。
tell application "Finder"
set inputFile to droppedItems as alias list
repeat with theItem in inputFile
set folderPath to (parent of (theItem as alias)) as Unicode text
display dialog folderPath as Unicode text
end repeat
end tell
とか? とwindowsからレス。
510497
2015/03/15(日) 16:45:53.56ID:iR+GQC990513名称未設定
2015/04/09(木) 19:38:28.50ID:4kDpug2w0 >>496
で書き込んだ者ですが、この度修正版が出たようです。
http://dougscripts.com/itunes/2015/04/security-update-2015-004-fixes-eppc-issue/
で書き込んだ者ですが、この度修正版が出たようです。
http://dougscripts.com/itunes/2015/04/security-update-2015-004-fixes-eppc-issue/
515名称未設定
2015/04/10(金) 14:53:52.05ID:/ZQEY2Xe0 >>513
訂正。修正版が出たけど直ったのはMountain Lion、Marvericks、Yosemiteの間だけ。
Tigerとの間では通信できなかった。エラーメッセージは以下のように変わった。
$ osascript -e 'tell application "Finder" of machine "eppc://hoge.local" to quit'
2015-04-10 12:13:14.943 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
2015-04-10 12:13:15.862 osascript[515:507] CFNetwork SSLHandshake failed (-4)
2015-04-10 12:13:16.159 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
5:59: syntax error: Application isn’t running. (-600)
cmd+RでOS再インストールすれば元には戻せた。ぐぬぬ。
訂正。修正版が出たけど直ったのはMountain Lion、Marvericks、Yosemiteの間だけ。
Tigerとの間では通信できなかった。エラーメッセージは以下のように変わった。
$ osascript -e 'tell application "Finder" of machine "eppc://hoge.local" to quit'
2015-04-10 12:13:14.943 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
2015-04-10 12:13:15.862 osascript[515:507] CFNetwork SSLHandshake failed (-4)
2015-04-10 12:13:16.159 osascript[515:507] CFNetwork SSLHandshake failed (-9806)
5:59: syntax error: Application isn’t running. (-600)
cmd+RでOS再インストールすれば元には戻せた。ぐぬぬ。
516名称未設定
2015/04/16(木) 09:35:48.15ID:fNeO9YuQ0 scの方に書き込んだのですが過疎っているようなのでこちらで再質問させてください。
下記の様なスクリプトを実行したときに戻り値が下の様になります。(ruby2.1.5)
"\"\\u3053\\u3093\\u306B\\u3061\\u306F\"
\"\\xE3\\x81\\x93\\xE3\\x82\\x93\\xE3\\x81\\xAB\\xE3\\x81\\xA1\\xE3\\x81\\xAF\"
こんにちは"
ruby1.8台の時は全て"こんにちは"で返っていたのですが、これを"こんにちは"として受け取る方法は無いのでしょうか?
ちなみにターミナルから普通にルビーを実行した場合は問題なく"こんにちは"として返ります。
単なる文字列ならputsで良いのですが配列を配列のままASに受け渡したいので。
set myScript to "#coding: utf-8
str=\"こんにちは\"
str2=ARGV[0]
p str,str2
puts str2"
do shell script "ruby -e " & quoted form of myScript & " " & quoted form of "こんにちは"
下記の様なスクリプトを実行したときに戻り値が下の様になります。(ruby2.1.5)
"\"\\u3053\\u3093\\u306B\\u3061\\u306F\"
\"\\xE3\\x81\\x93\\xE3\\x82\\x93\\xE3\\x81\\xAB\\xE3\\x81\\xA1\\xE3\\x81\\xAF\"
こんにちは"
ruby1.8台の時は全て"こんにちは"で返っていたのですが、これを"こんにちは"として受け取る方法は無いのでしょうか?
ちなみにターミナルから普通にルビーを実行した場合は問題なく"こんにちは"として返ります。
単なる文字列ならputsで良いのですが配列を配列のままASに受け渡したいので。
set myScript to "#coding: utf-8
str=\"こんにちは\"
str2=ARGV[0]
p str,str2
puts str2"
do shell script "ruby -e " & quoted form of myScript & " " & quoted form of "こんにちは"
517名称未設定
2015/04/16(木) 11:29:38.57ID:JP8CNjtg0 >>516
set myScript to "#coding: utf-8 \nstr=\"こんにちは\" \nstr2=ARGV[0] \np str,str2 \nputs str2"
do shell script "ruby -Ku -e" & quoted form of myScript & " " & quoted form of "こんにちは"
-Kオプションで文字コード指定すれば? しかしこのコードはこれで良いのか?
set myScript to "#coding: utf-8 \nstr=\"こんにちは\" \nstr2=ARGV[0] \np str,str2 \nputs str2"
do shell script "ruby -Ku -e" & quoted form of myScript & " " & quoted form of "こんにちは"
-Kオプションで文字コード指定すれば? しかしこのコードはこれで良いのか?
518516
2015/04/16(木) 11:48:12.31ID:fNeO9YuQ0519名称未設定
2015/05/08(金) 22:46:21.29ID:vR7cr5an0 これは、エラーにならない。
tell application "Finder"
set tmp to POSIX file "/tmp"
end tell
こうすると、実行時エラーになる。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to POSIX file tmp1
end tell
なぜだか理由がわかりません。
ご教授お願いします。
tell application "Finder"
set tmp to POSIX file "/tmp"
end tell
こうすると、実行時エラーになる。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to POSIX file tmp1
end tell
なぜだか理由がわかりません。
ご教授お願いします。
520名称未設定
2015/05/09(土) 00:35:21.89ID:S1iniwej0 エラーになるならエラー内容も書かないと
error "Finder でエラーが起きました:POSIX file ¥"/tmp¥" を取り出すことはできません。" number -1728 from file
-1728はMacErrors.hを見ると、
errAENoSuchObject = -1728, /* e.g.,: specifier asked for the 3rd, but there are only 2. Basically, this indicates a run-time resolution error. */
とある。「Finder でエラーが起きました」言うてるから
--tell application "Finder"
set tmp1 to "/tmp"
set tmp to POSIX file tmp1
--end tell
としてみたらエラーにならなくなった。Finder側の処理が何か良くなさそうだ。
または以下でも大丈夫だった。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to tmp1 as POSIX file
end tell
error "Finder でエラーが起きました:POSIX file ¥"/tmp¥" を取り出すことはできません。" number -1728 from file
-1728はMacErrors.hを見ると、
errAENoSuchObject = -1728, /* e.g.,: specifier asked for the 3rd, but there are only 2. Basically, this indicates a run-time resolution error. */
とある。「Finder でエラーが起きました」言うてるから
--tell application "Finder"
set tmp1 to "/tmp"
set tmp to POSIX file tmp1
--end tell
としてみたらエラーにならなくなった。Finder側の処理が何か良くなさそうだ。
または以下でも大丈夫だった。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to tmp1 as POSIX file
end tell
523名称未設定
2015/05/10(日) 02:53:21.26ID:ucfHZQTk0 >>519
AppleScript でファイル参照を表現する記述には
・alias [HFS形式の文字列]
・file [HFS形式の文字列] ― (表記の互換性のために残されている)
・POSIX file [UNIX形式の文字列]
の三つのが用意されている。これはちょっと特別な記述と覚えておく必要がある。
ちょっと例題とは違うけど、
tell application "Finder"
exists POSIX file "/tmp"
--
set tmp1 to "/tmp"
exists tmp1 as POSIX file
--
exists POSIX file tmp1
end tell
と書いた場合、家の環境ではエラーは起きずに実行できるが、最後だけ false が帰ってくる(10.9)。
これはまあバグなんだろうけど、それは置いといて、この三つの記述は実は全部違う手順で実行されている。
AppleScript でファイル参照を表現する記述には
・alias [HFS形式の文字列]
・file [HFS形式の文字列] ― (表記の互換性のために残されている)
・POSIX file [UNIX形式の文字列]
の三つのが用意されている。これはちょっと特別な記述と覚えておく必要がある。
ちょっと例題とは違うけど、
tell application "Finder"
exists POSIX file "/tmp"
--
set tmp1 to "/tmp"
exists tmp1 as POSIX file
--
exists POSIX file tmp1
end tell
と書いた場合、家の環境ではエラーは起きずに実行できるが、最後だけ false が帰ってくる(10.9)。
これはまあバグなんだろうけど、それは置いといて、この三つの記述は実は全部違う手順で実行されている。
524名称未設定
2015/05/10(日) 02:53:46.85ID:ucfHZQTk0 >>523 の続き
最初の記述は冒頭に書いたようにファイル参照表現になっているので、POSIX file "/tmp" の部分が
コンパイル時にファイルを示すオブジェクトに変換されスクリプトに埋め込まれる。
10.4 ぐらいのスクリプトだと、こういう記述がコンパイル時に
file “Machintosh HD:private:tmp”
に書き換わっていたのを覚えている人もいると思う。まさにあの動作。
二番目の as POSIX file と言う表現は強制的な型変換処理で、これは実行時に処理される。
as による型変換は基本的に tellブロックの中でもスクリプト側で優先して処理されるので、
Finderが受け取る引数はファイルを示すオブジェクトになっていて正しく処理できる。
三番目のものは、一見ファイル参照表現のように見えるけど、変数の tmp1 になにが入るかは
実行時で無ければ分らないので、コンパイル時には処理できない。そして実行時に
get POSIX file "/tmp" が Finder に丸投げされて、でも Finder は POSIX file をうまく扱えず
エラーになる…はずが、なぜか exists の場合は false が帰ってきてしまう。
ちなみに System Events で同じことをするとちゃんと(?)「エラー -1728」になった。もちろん、
tellブロックの外でこの手の手順を記述するならスクリプト側で処理されるので、問題にはならない。
最初の記述は冒頭に書いたようにファイル参照表現になっているので、POSIX file "/tmp" の部分が
コンパイル時にファイルを示すオブジェクトに変換されスクリプトに埋め込まれる。
10.4 ぐらいのスクリプトだと、こういう記述がコンパイル時に
file “Machintosh HD:private:tmp”
に書き換わっていたのを覚えている人もいると思う。まさにあの動作。
二番目の as POSIX file と言う表現は強制的な型変換処理で、これは実行時に処理される。
as による型変換は基本的に tellブロックの中でもスクリプト側で優先して処理されるので、
Finderが受け取る引数はファイルを示すオブジェクトになっていて正しく処理できる。
三番目のものは、一見ファイル参照表現のように見えるけど、変数の tmp1 になにが入るかは
実行時で無ければ分らないので、コンパイル時には処理できない。そして実行時に
get POSIX file "/tmp" が Finder に丸投げされて、でも Finder は POSIX file をうまく扱えず
エラーになる…はずが、なぜか exists の場合は false が帰ってきてしまう。
ちなみに System Events で同じことをするとちゃんと(?)「エラー -1728」になった。もちろん、
tellブロックの外でこの手の手順を記述するならスクリプト側で処理されるので、問題にはならない。
525名称未設定
2015/05/10(日) 11:56:58.29ID:ihNZ0FRq0 前にもここに書いたんだけど、Finderもfile classを定義してるからキーワードの解釈が
衝突してるんですよ。my付けてglobalな定義を優先すれば良い。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to my POSIX file tmp1
end tell
tell application "Finder"
set tmp1 to "/tmp"
exists my POSIX file tmp1
end tell
衝突してるんですよ。my付けてglobalな定義を優先すれば良い。
tell application "Finder"
set tmp1 to "/tmp"
set tmp to my POSIX file tmp1
end tell
tell application "Finder"
set tmp1 to "/tmp"
exists my POSIX file tmp1
end tell
526名称未設定
2015/06/27(土) 20:35:43.04ID:oLuCxE430 display dialog "このスレって、生きてるんですよね?"
527名称未設定
2015/06/27(土) 20:54:57.43ID:XVP2cUyr0 もちろんさ
528名称未設定
2015/06/27(土) 20:58:32.57ID:2HcvqLl20 結果:
{button returned:"OK"}
{button returned:"OK"}
529名称未設定
2015/06/27(土) 23:59:13.55ID:IO5TRzBI0 error number -128
530名称未設定
2015/07/02(木) 00:53:17.64ID:JqmVzF680 YosemiteからAppleScriptの代わりに
JavaScriptも使えるようになったのね。
今頃気が付いた。
JavaScriptも使えるようになったのね。
今頃気が付いた。
531名称未設定
2015/07/02(木) 02:03:26.78ID:5ci7EMIH0 それでScript Editorになったのか。納得
532名称未設定
2015/07/02(木) 02:04:23.51ID:3sKDtNad0 Swiftも足せばいいのに
533名称未設定
2015/07/02(木) 14:04:43.02ID:P9q2kFwz0 xcodeぇ…
534名称未設定
2015/07/03(金) 20:28:58.67ID:BY+AkDuD0 いろんなサイトを見ながら見様見まねで
finder上で選択したファイルを選択したフォルダにコピーするスクリプトに
トライしてみたのですが
「if D_fileExist = "false" then」の部分がスルーされて「else display dialog ~」が実行されてしまいます。
ご指導いただけるとうれしいです。
よろしくお願いします。
tell application "Finder"
set A_filePath to selection as alias list
if A_filePath = {} then
display dialog "ファイルが選択されていません"
return
end if
end tell
getFileName(A_filePath)
on getFileName(theFile)
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set fileName to last text item of (theFile as string)
set AppleScript's text item delimiters to tmp
return fileName
end getFileName
finder上で選択したファイルを選択したフォルダにコピーするスクリプトに
トライしてみたのですが
「if D_fileExist = "false" then」の部分がスルーされて「else display dialog ~」が実行されてしまいます。
ご指導いただけるとうれしいです。
よろしくお願いします。
tell application "Finder"
set A_filePath to selection as alias list
if A_filePath = {} then
display dialog "ファイルが選択されていません"
return
end if
end tell
getFileName(A_filePath)
on getFileName(theFile)
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set fileName to last text item of (theFile as string)
set AppleScript's text item delimiters to tmp
return fileName
end getFileName
535名称未設定
2015/07/03(金) 21:30:06.17ID:xfqT0ASe0 質問文とコードが合ってないじゃないの
536名称未設定
2015/07/03(金) 21:43:28.53ID:zhZri2f80 文とスクリプトが一致してない(し、文のスクリプトが間違ってもいる)が、そのままでも意図したようには動いているけど
俺だったら
set A_filePath to selection
if (count of A_filePath) is 0 then
って書くかなあ
俺だったら
set A_filePath to selection
if (count of A_filePath) is 0 then
って書くかなあ
537名称未設定
2015/07/03(金) 21:57:53.21ID:xcqVHBQg0 >>534続きです。
set C_fileName to getFileName(A_filePath)
set B_folderPath to (choose folder)
tell application "Finder"
get exists of file C_fileName of B_folderPath
set D_fileExist to result
if D_fileExist = "false" then
duplicate selection to B_folderPath without replacing
else
display dialog "すでに " & C_fileName & " は存在します。上書きしますか?" with icon caution
set E_buttonResult to button returned of result
if E_buttonResult = "OK" then
duplicate selection to B_folderPath with replacing
end if
end if
end tell>
set C_fileName to getFileName(A_filePath)
set B_folderPath to (choose folder)
tell application "Finder"
get exists of file C_fileName of B_folderPath
set D_fileExist to result
if D_fileExist = "false" then
duplicate selection to B_folderPath without replacing
else
display dialog "すでに " & C_fileName & " は存在します。上書きしますか?" with icon caution
set E_buttonResult to button returned of result
if E_buttonResult = "OK" then
duplicate selection to B_folderPath with replacing
end if
end if
end tell>
538名称未設定
2015/07/03(金) 22:05:26.31ID:zhZri2f80 なるほどw
exists of
で得られるのは Boolean値 であって、文字列(の"false"/"true")じゃないよ
if not D_fileExist then
でとか
exists of
で得られるのは Boolean値 であって、文字列(の"false"/"true")じゃないよ
if not D_fileExist then
でとか
539名称未設定
2015/07/03(金) 22:45:13.35ID:xcqVHBQg0540名称未設定
2015/07/03(金) 23:25:35.52ID:zhZri2f80541名称未設定
2015/07/04(土) 07:51:34.34ID:YgtqpRu90 >>530
>JavaScriptも使えるようになったのね。
Yosemite上のWebブラウザー(Safari)から、命令が
拡張されているアップル版”JavaScript”を実行するこ
とは、できないのですよね? たとえば、Safariから
アップル版”JavaScript”を実行して、それがApplications
内のDVD Playerを起動させて、DVDのチャプター2を
再生させることなど。
5年ほど前からこの方法でSafariからAppleScriptに引数
を渡してDVD Playerを再生してきてますが、JavaScriptで
直接実行できたらよいと思います。
Launch Scripts from Webpage Links
http://www.macosxautomation.com/applescript/linktrigger/
>JavaScriptも使えるようになったのね。
Yosemite上のWebブラウザー(Safari)から、命令が
拡張されているアップル版”JavaScript”を実行するこ
とは、できないのですよね? たとえば、Safariから
アップル版”JavaScript”を実行して、それがApplications
内のDVD Playerを起動させて、DVDのチャプター2を
再生させることなど。
5年ほど前からこの方法でSafariからAppleScriptに引数
を渡してDVD Playerを再生してきてますが、JavaScriptで
直接実行できたらよいと思います。
Launch Scripts from Webpage Links
http://www.macosxautomation.com/applescript/linktrigger/
543541
2015/07/04(土) 11:48:03.94ID:YgtqpRu90 英語の教員をしておりまして、生徒に教える
英単語や受け身や仮定法などの文法事項を
DVD英語字幕から検索して、その場面をDVD
で再生しています。英語字幕とDVD再生に必
要になるタイムコードは、sqlLite形式で:
/Users/ユーザー名/Library/Safari/Databases/
に入れて、これをSafari==>Javascriptで検索し
検索結果をSafariにLaunch Scripts from Webpage
Linksで実行できる形式で表示して、それをクリック
して、AppleScriptを実行しDVD Playerで再生します。
この方法は、余計なソフトをインストールせずに
Safari(+Javascript)+AppleScript+DVD Playerだけで
実行できる点が気に入っています。
英単語や受け身や仮定法などの文法事項を
DVD英語字幕から検索して、その場面をDVD
で再生しています。英語字幕とDVD再生に必
要になるタイムコードは、sqlLite形式で:
/Users/ユーザー名/Library/Safari/Databases/
に入れて、これをSafari==>Javascriptで検索し
検索結果をSafariにLaunch Scripts from Webpage
Linksで実行できる形式で表示して、それをクリック
して、AppleScriptを実行しDVD Playerで再生します。
この方法は、余計なソフトをインストールせずに
Safari(+Javascript)+AppleScript+DVD Playerだけで
実行できる点が気に入っています。
544名称未設定
2015/07/04(土) 13:30:27.29ID:lLFsJcsp0 そのままAppleScriptの部分をJavaScript(JXA) に直すといいのかな
545名称未設定
2015/07/04(土) 14:32:18.72ID:cJAeUdIb0546名称未設定
2015/07/04(土) 22:56:39.87ID:louF/aWK0 最新の環境(iTunes 12.2.0.145/OS X 10.10.4)でiTunesが手前にならないんだけど俺だけかな
tell application id "com.apple.iTunes" to activate
tell application id "com.apple.iTunes" to activate
547名称未設定
2015/07/04(土) 22:58:46.73ID:gXTZwE1/0 手前にくるなー。iTunes 12.2.0.145/OS X 10.10.4 だけど
548名称未設定
2015/07/04(土) 23:07:35.80ID:louF/aWK0 追加:
メインウインドウを開いてて、かつアプリが隠れてない時しか手前にならない。
しかも起動してない時に実行すると、手前にならず、かつ隠れて起動する。
メインウインドウを開いてて、かつアプリが隠れてない時しか手前にならない。
しかも起動してない時に実行すると、手前にならず、かつ隠れて起動する。
549名称未設定
2015/07/04(土) 23:09:33.60ID:jRTw82Rh0 >>543
プログラミングを職業にされてるわけでもないのにすごいですね。
私はJavaScriptからsqliteが操作できることも
JavaScriptからAppleScriptを実行できることも知りませんでしたよ。
Appleの開発者サイトを見ると
"The JavaScript OSA component implements JavaScript for Automation.
The component can be used from Script Editor, the global Script Menu,
in the Run JavaScript Automator Action, applets/droplets, the osascript command-line tool,
the NSUserScriptTask API, and everywhere else other OSA components, such as AppleScript, can be used."
と書いてあるので、SafariのJavaScriptから直接実行するのは無理そうですね。
プログラミングを職業にされてるわけでもないのにすごいですね。
私はJavaScriptからsqliteが操作できることも
JavaScriptからAppleScriptを実行できることも知りませんでしたよ。
Appleの開発者サイトを見ると
"The JavaScript OSA component implements JavaScript for Automation.
The component can be used from Script Editor, the global Script Menu,
in the Run JavaScript Automator Action, applets/droplets, the osascript command-line tool,
the NSUserScriptTask API, and everywhere else other OSA components, such as AppleScript, can be used."
と書いてあるので、SafariのJavaScriptから直接実行するのは無理そうですね。
550名称未設定
2015/07/04(土) 23:29:23.28ID:gXTZwE1/0552名称未設定
2015/07/05(日) 04:59:33.52ID:fJrrslaF0 怪しげな常駐アプリ入れてないかそれ
553名称未設定
2015/07/05(日) 05:28:51.16ID:uBZo4BRt0 んにゃ
option起動して、空っぽの新規ライブラリ作ったら起きなかったから、ライブラリが何か悪さしてる模様。
前バージョンでは起きてなかったし、ライブラリ作り直すのもめんどいからしばらく様子見てみるよ。
option起動して、空っぽの新規ライブラリ作ったら起きなかったから、ライブラリが何か悪さしてる模様。
前バージョンでは起きてなかったし、ライブラリ作り直すのもめんどいからしばらく様子見てみるよ。
554名称未設定
2015/07/06(月) 18:11:24.38ID:dTkqL4+G0 set this_file to choose file without invisibles
tell application "Image Events"
launch
set this_image to open this_file
crop this_image to dimensions {1000, 500}
save this_image
close this_image
end tell
これを複数ファイルの連続処理が可能なドロップレットにしたいのですが
On Open dorp_Items, end openを前後に入れたくてもうまく行きません。。
ヘルプお願いします!
tell application "Image Events"
launch
set this_image to open this_file
crop this_image to dimensions {1000, 500}
save this_image
close this_image
end tell
これを複数ファイルの連続処理が可能なドロップレットにしたいのですが
On Open dorp_Items, end openを前後に入れたくてもうまく行きません。。
ヘルプお願いします!
555名称未設定
2015/07/06(月) 18:46:40.33ID:F44xxfZx0 >>554
スクリプトだけのことなら
on open dropItems
repeat with this_file in dropItems
tell application "Image Events"
...
end tell
end repeat
end open
Finderでドロップ可能なのにするのは、Info.plistを弄らないとならないのかな??
ドロップできないので(普通のアプリケーションと同じように)Info.plistにDocument typesを追加したらできたのだけど
スクリプトだけのことなら
on open dropItems
repeat with this_file in dropItems
tell application "Image Events"
...
end tell
end repeat
end open
Finderでドロップ可能なのにするのは、Info.plistを弄らないとならないのかな??
ドロップできないので(普通のアプリケーションと同じように)Info.plistにDocument typesを追加したらできたのだけど
556554
2015/07/06(月) 19:05:12.47ID:dTkqL4+G0 >>555
ありがとうございます。なんとかできました。
ありがとうございます。なんとかできました。
557名称未設定
2015/07/06(月) 19:17:26.04ID:F44xxfZx0558名称未設定
2015/07/06(月) 22:13:36.02ID:BXYRI4R00 Image Eventsで縦横を指定した数値に強制リサイズする方法ありませんか?
559名称未設定
2015/07/06(月) 23:09:08.57ID:UWCV8pnF0 なさそうだからsipsコマンド-zオプションで
560558
2015/07/07(火) 15:53:07.90ID:pMuP/1h30561名称未設定
2015/07/07(火) 16:34:46.48ID:eCnPxyr00 画像リサイズ osxでggrks
ttp://www5.wind.ne.jp/miko/mac_soft/th-maker_x/
ttp://www5.wind.ne.jp/miko/mac_soft/th-maker_x/
562558
2015/07/07(火) 18:07:22.26ID:pMuP/1h30564名称未設定
2015/07/07(火) 22:16:01.83ID:amkJBVQ60 このスレの上の方に画像リサイズのスクリプトを書き込んだ人がいたよ。
565名称未設定
2015/07/11(土) 13:33:24.18ID:uukKRe+y0 iTunesスレに行こうかとも思いましたがAppleScriptに限って発生するようなので、
まずはスクリプトの確認と再現性ということでこちらでお願いします。
AppleScriptを利用して動画データに情報を入力しているのですが、
編集できない(編集しても元に戻ってしまう)ファイルになってしまいます。
環境としてかなり限定的なのですが、今回利用したiTunes 12.2だけではなく、
以前のバージョンから引き続いて発生しています。
前提として、登録するファイルは「動画」である事と、
iTunes Mediaフォルダの場所やライブラリへ追加する際のコピーの実行の有無は問わないものの、
追加の結果、ファイルがローカルHDDではなくNAS上にあることが条件です。
(うちの場合、iTunes MediaフォルダはローカルHDDの場所を指定、追加するファイルはNAS上に設置、
環境設定にある追加時のコピーは行わない設定になっています。)
今回サンプルファイルとして以下のsample_iPod.m4vを利用しました。
https://support.apple.com/ja-jp/HT201549
まずはスクリプトの確認と再現性ということでこちらでお願いします。
AppleScriptを利用して動画データに情報を入力しているのですが、
編集できない(編集しても元に戻ってしまう)ファイルになってしまいます。
環境としてかなり限定的なのですが、今回利用したiTunes 12.2だけではなく、
以前のバージョンから引き続いて発生しています。
前提として、登録するファイルは「動画」である事と、
iTunes Mediaフォルダの場所やライブラリへ追加する際のコピーの実行の有無は問わないものの、
追加の結果、ファイルがローカルHDDではなくNAS上にあることが条件です。
(うちの場合、iTunes MediaフォルダはローカルHDDの場所を指定、追加するファイルはNAS上に設置、
環境設定にある追加時のコピーは行わない設定になっています。)
今回サンプルファイルとして以下のsample_iPod.m4vを利用しました。
https://support.apple.com/ja-jp/HT201549
566名称未設定
2015/07/11(土) 13:34:16.15ID:uukKRe+y0 使用したAppleScriptは下記です。
tell application "iTunes"
add POSIX file "/Users/user/Desktop/sample_iPod.m4v"
set grouping of track "sample_iPod" to "TEST"
set year of track "sample_iPod" to "2015"
set category of track "sample_iPod" to "TEST"
set genre of track "sample_iPod" to "TEST"
set comment of track "sample_iPod" to "TEST"
set description of track "sample_iPod" to "TEST"
set long description of track "sample_iPod" to "TEST"
set name of track "sample_iPod" to "TEST"
end tell
tell application "iTunes"
add POSIX file "/Users/user/Desktop/sample_iPod.m4v"
set grouping of track "sample_iPod" to "TEST"
set year of track "sample_iPod" to "2015"
set category of track "sample_iPod" to "TEST"
set genre of track "sample_iPod" to "TEST"
set comment of track "sample_iPod" to "TEST"
set description of track "sample_iPod" to "TEST"
set long description of track "sample_iPod" to "TEST"
set name of track "sample_iPod" to "TEST"
end tell
567名称未設定
2015/07/11(土) 13:36:24.56ID:uukKRe+y0 実行後、ホームビデオに追加されたsample_iPodを情報を見るから各項目を適当に編集して確定します。
その後一度このファイルを再生する、あるいは再度情報を見ると、各情報が編集前の状態(今回の場合はTEST)に戻ってしまいます。
ただ、必ずしもすべての項目で症状が発生するわけではなく、例えば説明(Description)に関しては発生しません。
編集できない情報に関しては何度やっても編集できませんが、再度AppleScriptを利用して情報を入力すれば編集できます。
AppleScriptを使用していない情報欄は編集できます。
なお、手動でiTunesに追加した場合は発生しません。
前提記載の通り、ファイルがローカルHDDにある場合も発生しません。
ミュージックファイルでも発生しないようです。
一応2種類のNAS(Drobo5NとAirMacExtremeにUSB接続したHDD)と2種類のMacで同様の症状を確認しました。
何かお気付きの点がありましたらよろしくお願いします。
その後一度このファイルを再生する、あるいは再度情報を見ると、各情報が編集前の状態(今回の場合はTEST)に戻ってしまいます。
ただ、必ずしもすべての項目で症状が発生するわけではなく、例えば説明(Description)に関しては発生しません。
編集できない情報に関しては何度やっても編集できませんが、再度AppleScriptを利用して情報を入力すれば編集できます。
AppleScriptを使用していない情報欄は編集できます。
なお、手動でiTunesに追加した場合は発生しません。
前提記載の通り、ファイルがローカルHDDにある場合も発生しません。
ミュージックファイルでも発生しないようです。
一応2種類のNAS(Drobo5NとAirMacExtremeにUSB接続したHDD)と2種類のMacで同様の症状を確認しました。
何かお気付きの点がありましたらよろしくお願いします。
568名称未設定
2015/07/11(土) 14:21:39.53ID:uukKRe+y0 少し訂正です。
手動でiTunesに登録した場合でも、AppleScriptで情報入力を行うと編集できませんでした。
どうやら、NAS上にあるiTunesの動画ファイルの情報をAppleScriptを利用して書き換えると、
当該情報を手動で書き換えられないファイルになってしまう状態と言えそうです。
手動でiTunesに登録した場合でも、AppleScriptで情報入力を行うと編集できませんでした。
どうやら、NAS上にあるiTunesの動画ファイルの情報をAppleScriptを利用して書き換えると、
当該情報を手動で書き換えられないファイルになってしまう状態と言えそうです。
569名称未設定
2015/07/11(土) 14:46:07.93ID:z2dqc7dE0 >>566
NASがないんで検証はできないが、文面見てパッと思いつく点
その書き方だと曖昧さがあるのでこうするのがよいと思う
...
set tarTrack to add POSIX file "hoge"
set name of track tarTrack to "hage"
...
問題の原因がこれかはわからんが
あと、症状が発生しないitunesのバージョンがわかれば何かヒントになるかも
NASがないんで検証はできないが、文面見てパッと思いつく点
その書き方だと曖昧さがあるのでこうするのがよいと思う
...
set tarTrack to add POSIX file "hoge"
set name of track tarTrack to "hage"
...
問題の原因がこれかはわからんが
あと、症状が発生しないitunesのバージョンがわかれば何かヒントになるかも
570名称未設定
2015/07/11(土) 16:18:59.81ID:uukKRe+y0 >>569
2行目でディスクリプタタイプが一致しません。number -10001 to item
と叱られたので、
set name of tarTrack to "hage"
にしてみました。が、結果は変わりません。修正不可ファイルです。
症状が発生しないバージョンは残念ながら不明です。
最近iTunesの見た目が大きく変わったのはiTunes11だったと思いますが、
iTunesのバグじゃないかなと期待しつつかかるバージョンに上げた記憶があるので、
そうすると少なくともiTunes10の頃からあった症状ということになります。
NASの導入がその頃なので、実際にはもっと以前のバージョンでも発生したのかもしれません。
2行目でディスクリプタタイプが一致しません。number -10001 to item
と叱られたので、
set name of tarTrack to "hage"
にしてみました。が、結果は変わりません。修正不可ファイルです。
症状が発生しないバージョンは残念ながら不明です。
最近iTunesの見た目が大きく変わったのはiTunes11だったと思いますが、
iTunesのバグじゃないかなと期待しつつかかるバージョンに上げた記憶があるので、
そうすると少なくともiTunes10の頃からあった症状ということになります。
NASの導入がその頃なので、実際にはもっと以前のバージョンでも発生したのかもしれません。
571名称未設定
2015/07/11(土) 16:56:15.76ID:z2dqc7dE0572名称未設定
2015/07/11(土) 19:02:49.32ID:uukKRe+y0573名称未設定
2015/07/14(火) 02:28:27.39ID:A6Vp2DDe0574名称未設定
2015/07/14(火) 08:26:20.02ID:k1XDpkSZ0 NASでそういうことするの厳しくね?
昔、NAS上のファイル名変更ですらうまくいかなかった記憶がある。
結局、aliasにして乗り切ったけれど、ものすごく時間がかかり、
do shell script とかいろいろ使ったような。
iTunesつかったことないけど、Finderでaliasにして
iTunesで操作とかできないのかね?
まったく理論的裏付けなく、経験的なことだけど。
純正アプリだしなんとかなりそう。
昔、NAS上のファイル名変更ですらうまくいかなかった記憶がある。
結局、aliasにして乗り切ったけれど、ものすごく時間がかかり、
do shell script とかいろいろ使ったような。
iTunesつかったことないけど、Finderでaliasにして
iTunesで操作とかできないのかね?
まったく理論的裏付けなく、経験的なことだけど。
純正アプリだしなんとかなりそう。
575名称未設定
2015/07/14(火) 08:33:02.14ID:k1XDpkSZ0 >>568
ちょっと今どきのことはわかんないけど、afp://とかでNASと
つながってるんじゃない? cifs://とかだといいかも。
最近はすべてcifsとかだっけ?3年くらい前しかいじってないので
最近は知らない。cifsとafp混在でやっててもトラブる。
ちょっと今どきのことはわかんないけど、afp://とかでNASと
つながってるんじゃない? cifs://とかだといいかも。
最近はすべてcifsとかだっけ?3年くらい前しかいじってないので
最近は知らない。cifsとafp混在でやっててもトラブる。
576名称未設定
2015/07/14(火) 16:10:40.88ID:VhXIrKmA0 Cocoa-AppleScript Applet じゃなくても Cocoaフレームワーク 使えるよにできるのね
Safariの Favorities Bar 中の特定のフォルダ中のURLをBookmarks.plistより抽出するのを書いてみたのだが、速度が段違いすぎ&tryいらないから簡潔に見えるんだけど
まあ、AppleScriptは詳しくはわかっていない(whoseの使い方がいまいちわからん)のでAppleScriptの方が冗長なのかもしれないが
Safariの Favorities Bar 中の特定のフォルダ中のURLをBookmarks.plistより抽出するのを書いてみたのだが、速度が段違いすぎ&tryいらないから簡潔に見えるんだけど
まあ、AppleScriptは詳しくはわかっていない(whoseの使い方がいまいちわからん)のでAppleScriptの方が冗長なのかもしれないが
577名称未設定
2015/07/14(火) 16:20:05.42ID:VhXIrKmA0 純粋(?)AppleScriptバージョン
https://gist.github.com/anonymous/220a244c5d80042f648b
Cocoa-AppleScriptバージョン
https://gist.github.com/anonymous/b9a8795897171ceaaf2c
"Folder Item" が Favorities Bar 上でのアイテム名ね
https://gist.github.com/anonymous/220a244c5d80042f648b
Cocoa-AppleScriptバージョン
https://gist.github.com/anonymous/b9a8795897171ceaaf2c
"Folder Item" が Favorities Bar 上でのアイテム名ね
578名称未設定
2015/07/14(火) 17:14:05.00ID:VhXIrKmA0 >速度が段違い
ああ、System Eventsとのアプリケーション間通信でのオーバーヘッドがそのほとんどになりそうだわな
そりゃまあ遅くなるわな&どうしようもないわな&Cocoa-AppleScript万歳w
ああ、System Eventsとのアプリケーション間通信でのオーバーヘッドがそのほとんどになりそうだわな
そりゃまあ遅くなるわな&どうしようもないわな&Cocoa-AppleScript万歳w
579名称未設定
2015/07/14(火) 21:56:12.64ID:1ruXVyZ/0 >>573
それはちょっと考えてdelay挟んでみたもののやはり変わらずでした。
手動で追加だけしてそのあとに編集だけ行うAppleScriptを実行した場合も
同様におかしくなったので、原因はそこではなさそうです。
それはちょっと考えてdelay挟んでみたもののやはり変わらずでした。
手動で追加だけしてそのあとに編集だけ行うAppleScriptを実行した場合も
同様におかしくなったので、原因はそこではなさそうです。
580名称未設定
2015/07/14(火) 21:56:44.20ID:1ruXVyZ/0 >>575
マウント方法変えてみたけどダメですね。
というか、NASに置いても普通に手動で完結する分には全く問題ないから、
「NASだから」というわけでもなさそうです。
手動で追加、編集する分には問題なし。そのあとそのファイルをAppleScriptで編集すると、
その状態で固定みたいになって、以後同様にAppleScriptを使わないと編集できなくなる。
おま環なんですかね。そうであれば、それはそれで諦めるんですが。。。
マウント方法変えてみたけどダメですね。
というか、NASに置いても普通に手動で完結する分には全く問題ないから、
「NASだから」というわけでもなさそうです。
手動で追加、編集する分には問題なし。そのあとそのファイルをAppleScriptで編集すると、
その状態で固定みたいになって、以後同様にAppleScriptを使わないと編集できなくなる。
おま環なんですかね。そうであれば、それはそれで諦めるんですが。。。
581名称未設定
2015/07/15(水) 04:34:10.51ID:hEGmCORz0 >>580
条件を満たしたとき「情報が戻る」というのは、itunesの操作と
スクリプト(ex. get name of tarTrack)どちらで確認している?
どちらかの手段のみで確認しても同じ?
条件を満たしたとき「情報が戻る」というのは、itunesの操作と
スクリプト(ex. get name of tarTrack)どちらで確認している?
どちらかの手段のみで確認しても同じ?
582名称未設定
2015/07/16(木) 00:32:52.64ID:qTdi8WaK0 xlsファイルをcsvで書き出すドロップレットを作りたく色々と調べた結果、
シェルスクリプトでxls2csvというアプリを使えば行けそうだったんですが
文字化けしてしまいます。
ターミナルからだと問題無いんですが、アップルスクリプトで実行すると
結果もファイルの書き出しも化けてしまう状態です。
解決する方法はあるでしょうか?
因みにxlsの文字コードはUTF-8です。
シェルスクリプトでxls2csvというアプリを使えば行けそうだったんですが
文字化けしてしまいます。
ターミナルからだと問題無いんですが、アップルスクリプトで実行すると
結果もファイルの書き出しも化けてしまう状態です。
解決する方法はあるでしょうか?
因みにxlsの文字コードはUTF-8です。
583名称未設定
2015/07/16(木) 02:27:49.86ID:+fhnsm1u0 >>582
AppleScriptでも do shell script してるんじゃないの?
だったら、シェルの環境設定がかなあ。ドロップレットにしたいだけだったら、Automator(での shell script アクション)でいいんじゃないの?ああ、同じように化けるかな?
AppleScriptでも do shell script してるんじゃないの?
だったら、シェルの環境設定がかなあ。ドロップレットにしたいだけだったら、Automator(での shell script アクション)でいいんじゃないの?ああ、同じように化けるかな?
584名称未設定
2015/07/16(木) 03:24:14.69ID:PVq/K62H0 csvのコードはなんだろう。UTF16か昔風のShiftJIS?
こういうので変換するかな
iconv -f SHIFT_JIS -t UTF-8 out.csv > utf8.csv
iconv -f UTF-16 -t UTF-8 out.csv > utf8.csv
こういうので変換するかな
iconv -f SHIFT_JIS -t UTF-8 out.csv > utf8.csv
iconv -f UTF-16 -t UTF-8 out.csv > utf8.csv
585名称未設定
2015/07/16(木) 04:58:23.98ID:I+N1yIOO0586名称未設定
2015/07/16(木) 08:31:37.42ID:o5zH5spX0587名称未設定
2015/07/16(木) 13:37:36.16ID:tdcKlDmT0 >>472と同じ話で、do shell script 内で LANG=ja_JP.UTF-8 を設定してやればいける気がするよ
do shell script "LANG=ja_JP.UTF-8 xls2csv input.xls"
もしダメなら
do shell script "export LANG=ja_JP.UTF-8; xls2csv input.xls"
do shell script "LANG=ja_JP.UTF-8 xls2csv input.xls"
もしダメなら
do shell script "export LANG=ja_JP.UTF-8; xls2csv input.xls"
588名称未設定
2015/07/16(木) 16:02:09.78ID:iM/9yX710589名称未設定
2015/07/25(土) 09:01:30.20ID:robl8P910 Audio Hijack Proで深夜のラジオのストリーミングを
タイマーで録音したあと、自動でシステム終了させたいです。
デフォルトのQuit Audio Hijack Pro.scptの最後に、
tell application "System Events"以下を追加したのですが
終了してくれません
まちがっているところをおしえてください
おねがいします
on sessionsAreActive()
tell application "Audio Hijack Pro"
repeat with aSession in (every session)
if recording of aSession then
return true
end if
end repeat
end tell
return false
end sessionsAreActive
tell application "Audio Hijack Pro"
repeat while my sessionsAreActive()
delay 2
end repeat
delay 2 --Just to be really safe, wait one more time
quit
end tell
tell application "System Events"
shut down
end tell
タイマーで録音したあと、自動でシステム終了させたいです。
デフォルトのQuit Audio Hijack Pro.scptの最後に、
tell application "System Events"以下を追加したのですが
終了してくれません
まちがっているところをおしえてください
おねがいします
on sessionsAreActive()
tell application "Audio Hijack Pro"
repeat with aSession in (every session)
if recording of aSession then
return true
end if
end repeat
end tell
return false
end sessionsAreActive
tell application "Audio Hijack Pro"
repeat while my sessionsAreActive()
delay 2
end repeat
delay 2 --Just to be really safe, wait one more time
quit
end tell
tell application "System Events"
shut down
end tell
590名称未設定
2015/07/26(日) 04:28:28.86ID:26OH90hA0 >>589
System Eventsって、OSが10.9くらいになると、
初めて使う時にセキュリティ設定で許可しないとダメ、とか
面倒なことになってたような…
そのへんで引っかかってはいない?
tell application "System Events"
shut down
end tell
ここだけでちゃんとシステム終了するなら原因は他のところ、
って切り分けができるので、まだやってないなら試してみるといいかも
それが関係なければ、
tell application "System Events" の前にdelay 2(数字は秒数)とか入れてみると
もしかしたらうまくいくかも…
Audio Hijackの終了処理とshut downに入る処理がぶつかっちゃって
うまく動かない、なんてことも考えられるので
ちなみに自分も、iCalのタイマーでApplescriptを起動して
特定の曜日の特定の時間にシステムスリープをする、
ってことをやってるけど、三回に一回くらいは
スリープせずにそのままだったりする…
うまくいったりいかなかったりがあるのは
非常に謎です
System Eventsって、OSが10.9くらいになると、
初めて使う時にセキュリティ設定で許可しないとダメ、とか
面倒なことになってたような…
そのへんで引っかかってはいない?
tell application "System Events"
shut down
end tell
ここだけでちゃんとシステム終了するなら原因は他のところ、
って切り分けができるので、まだやってないなら試してみるといいかも
それが関係なければ、
tell application "System Events" の前にdelay 2(数字は秒数)とか入れてみると
もしかしたらうまくいくかも…
Audio Hijackの終了処理とshut downに入る処理がぶつかっちゃって
うまく動かない、なんてことも考えられるので
ちなみに自分も、iCalのタイマーでApplescriptを起動して
特定の曜日の特定の時間にシステムスリープをする、
ってことをやってるけど、三回に一回くらいは
スリープせずにそのままだったりする…
うまくいったりいかなかったりがあるのは
非常に謎です
591名称未設定
2015/07/26(日) 05:18:05.29ID:emOATh9D0 Audio Hijack Proをquitしてるから、残りのスクリプトを実行する人がいないんじゃないの
592名称未設定
2015/07/26(日) 09:14:17.29ID:oPO6Ie/V0593名称未設定
2015/08/15(土) 16:45:38.34ID:sV9ccIal0 >>589
tell application "System Events" to shut down
だけでは現在使用中の(開いてる)書類がある場合、
確認のダイアログが表示されてシステムが終了できないので
わたしのトコロでは〜♪
do shell script "sudo shutdown -h now" password "ABC" with administrator privileges
※システムのスリープ中(スリープ解除にはパスワードを要求する設定)時には、
処理がキャンセルされてしまうようです。。?詳しく調べていませんが〜
参考になれば〜
tell application "System Events" to shut down
だけでは現在使用中の(開いてる)書類がある場合、
確認のダイアログが表示されてシステムが終了できないので
わたしのトコロでは〜♪
do shell script "sudo shutdown -h now" password "ABC" with administrator privileges
※システムのスリープ中(スリープ解除にはパスワードを要求する設定)時には、
処理がキャンセルされてしまうようです。。?詳しく調べていませんが〜
参考になれば〜
595名称未設定
2015/09/12(土) 20:05:41.29ID:m6VMDvfd0 tell application "Terminal" to do script "echo '123,あいう' | grep ,.い"
do shell script "echo '123,あいう' | grep ,.い"
--同じシェルスクリプトなのに、後者はエラーになる。なんでだろう・・・?
do shell script "echo '123,あいう' | grep ,.い"
--同じシェルスクリプトなのに、後者はエラーになる。なんでだろう・・・?
596名称未設定
2015/09/12(土) 20:42:11.53ID:z0PX6hR20 >>595
・grep はパターンにマッチしたのが存在したか否かを終了ステータスでも表す
・do shell script は 0以外 の終了ステータスだとスクリプトそのものが失敗したとみなす
・do shell script と tell application "Terminal" では環境変数などが違うのだろうが、grep での , と い(日本語) が混じるパターンが一致しない。なんかあったけ?
なので、grepでパターンに一致するのがないので終了ステータスが 1 となり、do shell script はスクリプトが失敗したよと例外発生
パターンに一致しなくても例外発生させないようには、
do shell script "echo '123,あいう' | grep ',.い' || exit 0"
do shell script "echo '123,あいう' | grep ',.い';exit 0"
かな
, と い(日本語) が混じるパターンでの問題はよくわからんが
do shell script "echo '123,あいう' | grep ',.[い]';exit 0"
だといちおう思ったように動いているような
・grep はパターンにマッチしたのが存在したか否かを終了ステータスでも表す
・do shell script は 0以外 の終了ステータスだとスクリプトそのものが失敗したとみなす
・do shell script と tell application "Terminal" では環境変数などが違うのだろうが、grep での , と い(日本語) が混じるパターンが一致しない。なんかあったけ?
なので、grepでパターンに一致するのがないので終了ステータスが 1 となり、do shell script はスクリプトが失敗したよと例外発生
パターンに一致しなくても例外発生させないようには、
do shell script "echo '123,あいう' | grep ',.い' || exit 0"
do shell script "echo '123,あいう' | grep ',.い';exit 0"
かな
, と い(日本語) が混じるパターンでの問題はよくわからんが
do shell script "echo '123,あいう' | grep ',.[い]';exit 0"
だといちおう思ったように動いているような
597名称未設定
2015/09/12(土) 21:07:53.46ID:z0PX6hR20 >>596,595
>, と い(日本語) が混じるパターンでの問題はよくわからんが
>do shell script "echo '123,あいう' | grep ',.[い]';exit 0"
>だといちおう思ったように動いているような
いや、動いていない。[い]が絶賛無視されとる
環境変数といえば上のにあると思い見直し&調べ&テストすると、grepのパタンーマッチングではLC_CTYPEのよやね
do shell script "export LC_CTYPE=UTF-8;echo '123,あいう' | grep ',.い';exit 0"
でいいんじゃないのかな
>, と い(日本語) が混じるパターンでの問題はよくわからんが
>do shell script "echo '123,あいう' | grep ',.[い]';exit 0"
>だといちおう思ったように動いているような
いや、動いていない。[い]が絶賛無視されとる
環境変数といえば上のにあると思い見直し&調べ&テストすると、grepのパタンーマッチングではLC_CTYPEのよやね
do shell script "export LC_CTYPE=UTF-8;echo '123,あいう' | grep ',.い';exit 0"
でいいんじゃないのかな
599名称未設定
2015/10/02(金) 12:13:09.84ID:NO+o9yLb0 http://www.apple.com/jp/osx/all-features/
AppleScript Objective-C
dates、structs、recordsを使うためのAppleScriptObj-Cを新しくサポートします。
今更Objective-Cかいな。
AppleScript Objective-C
dates、structs、recordsを使うためのAppleScriptObj-Cを新しくサポートします。
今更Objective-Cかいな。
600名称未設定
2015/10/02(金) 12:58:15.03ID:UHfcxpmo0 OSのフレームワークが Objective-C だからな
AppleScript -> なんだかしらんがなにか(Swift?) -> Objective-C
よりも、
AppleScript -> Objective-C
だろうに
てか、「今更Objective-C」が明後日向いてね?
Objective-Cをサポートしていたが、新たに(ちゃんと) dates、structs、recordsをサポートします ってことじゃね?
AppleScript -> なんだかしらんがなにか(Swift?) -> Objective-C
よりも、
AppleScript -> Objective-C
だろうに
てか、「今更Objective-C」が明後日向いてね?
Objective-Cをサポートしていたが、新たに(ちゃんと) dates、structs、recordsをサポートします ってことじゃね?
601名称未設定
2015/10/02(金) 13:06:10.03ID:UHfcxpmo0 https://developer.apple.com/library/prerelease/mac/releasenotes/AppleScript/RN-AppleScript/RN-10_11/RN-10_11.html
なんだそのまんまやん。struct/records は限定されていたのか。アレ以外使ったこと無いから知らんかったw
なんだそのまんまやん。struct/records は限定されていたのか。アレ以外使ったこと無いから知らんかったw
602名称未設定
2015/10/03(土) 10:56:11.97ID:YP/PCEMt0 OS X 10.10 Release NotesのScripting Additions
の解説にsayを使用した例:
app = Application.currentApplication()
app.includeStandardAdditions = true
app.say('Hello world')
app.displayDialog('Please enter your email address', {
withTitle: 'Email',
defaultAnswer: 'your_email@site.com'
})
があります。emailの入力部分を音声認識Dictationを
使用するjavascriptも可能なのでしょうか? 実際に作成
したいスクリプトは、英語授業で、英語の質問をsayで
聞かせて、生徒にその解答を英語で発音させて、正しく
認識できれば正解、とする英会話練習ソフトウェアです。
の解説にsayを使用した例:
app = Application.currentApplication()
app.includeStandardAdditions = true
app.say('Hello world')
app.displayDialog('Please enter your email address', {
withTitle: 'Email',
defaultAnswer: 'your_email@site.com'
})
があります。emailの入力部分を音声認識Dictationを
使用するjavascriptも可能なのでしょうか? 実際に作成
したいスクリプトは、英語授業で、英語の質問をsayで
聞かせて、生徒にその解答を英語で発音させて、正しく
認識できれば正解、とする英会話練習ソフトウェアです。
603名称未設定
2015/10/03(土) 12:12:42.47ID:6N6av+ju0604名称未設定
2015/10/03(土) 22:32:34.51ID:dkBh6mTx0 >>602
JavaScript OSA から使える音声認識API はあるかってことだね。
まずはAppleScriptでSpeechRecognitionServerっていうのを通してOS Xの音声認識機能を使える。あらかじめ登録した単語や文章しか認識できない。
認識するなあ、ってところまでしか試してないので、想定してるようなアプリを作るような使い方ができるかどうかまではわからない。あとJavaScript OSA から使えるかどうかは調べてないのでわからない。
次にJavaScriptからはHTML 5のWeb Speech APIっていうのを使える。こちらは登録してない文章でもちゃんと認識する。"My name is Mike Smith." と発話したら「my name is mike スネーク」と認識したw
こちらもJavaScript OSA から使えるかどうかは調べてないのでわからないけど、たぶん使えない。
でもテキスト読み上げもできるので、こちらを使ってWebアプリケーションとして実装しちゃうのが楽かも。あとこのAPIに対応しているブラウザのバージョンが限られているので、学校とかで使うんならそこは要確認かも。
JavaScript OSA から使える音声認識API はあるかってことだね。
まずはAppleScriptでSpeechRecognitionServerっていうのを通してOS Xの音声認識機能を使える。あらかじめ登録した単語や文章しか認識できない。
認識するなあ、ってところまでしか試してないので、想定してるようなアプリを作るような使い方ができるかどうかまではわからない。あとJavaScript OSA から使えるかどうかは調べてないのでわからない。
次にJavaScriptからはHTML 5のWeb Speech APIっていうのを使える。こちらは登録してない文章でもちゃんと認識する。"My name is Mike Smith." と発話したら「my name is mike スネーク」と認識したw
こちらもJavaScript OSA から使えるかどうかは調べてないのでわからないけど、たぶん使えない。
でもテキスト読み上げもできるので、こちらを使ってWebアプリケーションとして実装しちゃうのが楽かも。あとこのAPIに対応しているブラウザのバージョンが限られているので、学校とかで使うんならそこは要確認かも。
605名称未設定
2015/10/03(土) 22:48:47.94ID:dkBh6mTx0 ところで目的は発問と解答のサイクルを対話型で行うことだろうか、それとも音声認識できるような正確な発音を対話形式で生徒に練習させることだろうか。
音声認識ってけっこう正確な発音をしないと認識しないと思うので、前者目的の場合、解答は正解でも発音のせいで正解と認識してくれないとか、あるいは間違った解答なのに音声認識させようとして一生懸命何回も発声するようなシチュエーションがありそうに思うが。
音声認識ってけっこう正確な発音をしないと認識しないと思うので、前者目的の場合、解答は正解でも発音のせいで正解と認識してくれないとか、あるいは間違った解答なのに音声認識させようとして一生懸命何回も発声するようなシチュエーションがありそうに思うが。
606名称未設定
2015/10/03(土) 23:40:16.83ID:aEqyyNFD0 SpeechRecognitionでの認識/目的はコマンドとしてみたい。なので事前に登録した単語=コマンドのよう
音声入力は DictationIM というインプットメソッドによる。音声認識の根幹は同じかもしれないが
CocoaでもDictation制御は公開されていないので制御は難しい。ユーザによるオン/オフをシミュレートしてかな
また、AppleScript/Javascriptのダイアログのテキストフィールドはなぜか DictationIM をサポートしてないよう
JavascriptでもどうやらCocoaブリッジはサポートしているので頑張ればできないこともないってとこかな
音声入力は DictationIM というインプットメソッドによる。音声認識の根幹は同じかもしれないが
CocoaでもDictation制御は公開されていないので制御は難しい。ユーザによるオン/オフをシミュレートしてかな
また、AppleScript/Javascriptのダイアログのテキストフィールドはなぜか DictationIM をサポートしてないよう
JavascriptでもどうやらCocoaブリッジはサポートしているので頑張ればできないこともないってとこかな
607602
2015/10/04(日) 08:46:57.00ID:YSK4WGoB0 詳しい解説をありがとうございます。>>603,604,605,606
>>604
>次にJavaScriptからはHTML 5のWeb Speech APIっていうのを使える。
これを試してみます。Appleのsayは、3、4年間使用してき
ました。事前に使用する英文のアメリカ英語、イギリス英語
オーストラリア英語の音声ファイルを作成して、生徒に聞か
せて解答させる練習をさせてきました。sayのおかげで、リ
スニングの機会が劇的に増えましたが、これだけだと授業中
まったく英語を発音しません。
>解答は正解でも発音のせいで正解と認識してくれないとか、
解答は減点なしで2、3回できるようにしたり、音声ではなく
文字での解答も認める(ただし得点は1/3)などと工夫すれ
ば、どうにかなると思います。
>あるいは間違った解答なのに音声認識させようとして一生
英文を画面に表示して、それを正しく発音して、認識させれば
正解という設問も作ります。
>>604
>次にJavaScriptからはHTML 5のWeb Speech APIっていうのを使える。
これを試してみます。Appleのsayは、3、4年間使用してき
ました。事前に使用する英文のアメリカ英語、イギリス英語
オーストラリア英語の音声ファイルを作成して、生徒に聞か
せて解答させる練習をさせてきました。sayのおかげで、リ
スニングの機会が劇的に増えましたが、これだけだと授業中
まったく英語を発音しません。
>解答は正解でも発音のせいで正解と認識してくれないとか、
解答は減点なしで2、3回できるようにしたり、音声ではなく
文字での解答も認める(ただし得点は1/3)などと工夫すれ
ば、どうにかなると思います。
>あるいは間違った解答なのに音声認識させようとして一生
英文を画面に表示して、それを正しく発音して、認識させれば
正解という設問も作ります。
608名称未設定
2015/10/19(月) 12:01:32.52ID:UpKLRgHK0 10.11のスクリプトエディタ、ファイルメニューの最近使った項目を開くで、白紙アイコン+名前が空欄になってるのがある
その項目を選んだら前に開いた用語説明のタイトルだけ出た
その項目を選んだら前に開いた用語説明のタイトルだけ出た
609名称未設定
2015/10/30(金) 18:18:30.65ID:VxrJMSCk0 スクリプトエディタで下記を実行してもデスクトップが切り替わりません。
手動で「コントロール + 1」 をおすとデスクトップは切り替わります。
なにか重要な事を見落としていると思うのですがよくわかりません。
tell application "System Events"
keystroke "1" using {control down}
key up {control}
end tell
手動で「コントロール + 1」 をおすとデスクトップは切り替わります。
なにか重要な事を見落としていると思うのですがよくわかりません。
tell application "System Events"
keystroke "1" using {control down}
key up {control}
end tell
610名称未設定
2015/10/30(金) 18:31:57.79ID:oQD0Exuq0 俺はこれで出来てる
tell application "System Events"
key code 18 using control down
end tell
tell application "System Events"
key code 18 using control down
end tell
613名称未設定
2015/10/30(金) 20:56:24.45ID:VxrJMSCk0 >>610 ありがとう。
理屈はよくわからないけど、レスのコードそのまんまでできました。
理屈はよくわからないけど、レスのコードそのまんまでできました。
614名称未設定
2015/11/04(水) 02:10:30.60ID:pGq+pGFR0 複数のデスクトップにグーグルクロームの window があります。
デスクトップとは、マックブックドヤで四本指上スワイプしたときに表示されるやつです。
デスクトップ1のクロームを識別して、アクティブにするにはどうすればいいのでしょうか?
ここに検索結果を表示するためです。
デスクトップとは、マックブックドヤで四本指上スワイプしたときに表示されるやつです。
デスクトップ1のクロームを識別して、アクティブにするにはどうすればいいのでしょうか?
ここに検索結果を表示するためです。
615名称未設定
2015/11/09(月) 23:53:26.28ID:u+bgZBDI0 最前面のアプリにキーストロークを送りたいのですが、なぜかうまく行きません。
tell application process と直接アプリ名をつかう場合(下記のクロームのような形式)の区別もよくわかりません
tell application "Google Chrome"使い分けがおかしいのでしょうか?
-- ↓がうまくいかない。
-- 最前面のアプリにキーストロークを送る
set topProcess to item 1 of (every process whose background only is false and frontmost is true)
tell application process topProcess
keystroke "c" using {command down}
end tell
tell application process と直接アプリ名をつかう場合(下記のクロームのような形式)の区別もよくわかりません
tell application "Google Chrome"使い分けがおかしいのでしょうか?
-- ↓がうまくいかない。
-- 最前面のアプリにキーストロークを送る
set topProcess to item 1 of (every process whose background only is false and frontmost is true)
tell application process topProcess
keystroke "c" using {command down}
end tell
616名称未設定
2015/11/10(火) 00:49:23.10ID:8POt4B1s0 >>615
スクリプト実行してる時点でスクリプトエディタか
そのスクリプトのアプリケーションが最前面に来るから
キーストローク使うにはactivateで目的のアプリケーションを最前面に持ってこないと。
UI elements(ボタンやメニューなど)にアクセスしないならprocessは不要。
tell application "Google Chrome" to activate
tell application "System Events"
keystroke "c" using {command down}
end tell
こっちなら背面にあってもコピれる。
tell application "Google Chrome"
copy selection of tab 1 of window 1
end tell
スクリプト実行してる時点でスクリプトエディタか
そのスクリプトのアプリケーションが最前面に来るから
キーストローク使うにはactivateで目的のアプリケーションを最前面に持ってこないと。
UI elements(ボタンやメニューなど)にアクセスしないならprocessは不要。
tell application "Google Chrome" to activate
tell application "System Events"
keystroke "c" using {command down}
end tell
こっちなら背面にあってもコピれる。
tell application "Google Chrome"
copy selection of tab 1 of window 1
end tell
617名称未設定
2015/11/10(火) 03:12:25.57ID:FJLTXxkF0 >>616 有益なレスありがとうございます。
(*
tell application "Google Chrome" to activate
tell application "System Events"
keystroke "c" using {command down}
end tell
*)
↑これを試すとうまくいき、クロームの選択範囲がコピーできました。
でも、スクリプトエディタの用語辞書を読むと、 System Events にキーストロークが送られて、クロームの選択範囲をコピーでいないような気がするのですが違うのでしょうか。
用語辞書
keystroke v : cause the target process to behave as if keystrokes were entered
(*
tell application "Google Chrome" to activate
tell application "System Events"
keystroke "c" using {command down}
end tell
*)
↑これを試すとうまくいき、クロームの選択範囲がコピーできました。
でも、スクリプトエディタの用語辞書を読むと、 System Events にキーストロークが送られて、クロームの選択範囲をコピーでいないような気がするのですが違うのでしょうか。
用語辞書
keystroke v : cause the target process to behave as if keystrokes were entered
618名称未設定
2015/11/10(火) 04:19:50.06ID:/h7Zu6C90 物理的にVキーを押すのが
System Events にVを送ると言う事だろ
System Events にVを送ると言う事だろ
619名称未設定
2015/11/10(火) 07:57:36.97ID:8POt4B1s0 あと、Applescript対応アプリケーションで同じ機能があるなら
そっちを使う事をオススメする。
System Events経由だと実行中に何か操作しちゃうと思いも寄らぬ挙動をするので。
コマンド+xとか入ってて、そのキーストローク実行前に
他のアプリケーションに切り替わっちゃったりしたら大変でしょ。
そっちを使う事をオススメする。
System Events経由だと実行中に何か操作しちゃうと思いも寄らぬ挙動をするので。
コマンド+xとか入ってて、そのキーストローク実行前に
他のアプリケーションに切り替わっちゃったりしたら大変でしょ。
621名称未設定
2015/11/14(土) 22:05:07.19ID:2cEuQzhU0 >>613
今更だけど
keystroke "1" はテンキーの"1"を指すんじゃなかったかな
あと key up control は key down control の後で使うもんであって、
keystroke 文字 (key code コード) using control down は一行で完結してるので念
今更だけど
keystroke "1" はテンキーの"1"を指すんじゃなかったかな
あと key up control は key down control の後で使うもんであって、
keystroke 文字 (key code コード) using control down は一行で完結してるので念
622名称未設定
2015/11/14(土) 22:08:22.89ID:0scHotXW0 仏の鉄
623名称未設定
2015/11/14(土) 22:11:41.36ID:3tNdYBQ/0 chill
624名称未設定
2015/11/16(月) 21:22:55.55ID:SAOPgBo80 OS9くらいからAppleScript触ってるけど素人です。
JavaScriptはさっぱりなんですが、乗り換えた方がいいんでしょうか?
JavaScriptはさっぱりなんですが、乗り換えた方がいいんでしょうか?
625名称未設定
2015/11/16(月) 21:29:21.10ID:t0VrsL6R0 それだけ長年触ってて理解できないようじゃJSなんてもっと無理だろ……
626名称未設定
2015/11/16(月) 21:45:29.24ID:EmiWRZhr0 他に馴染んでる言語があるとか文字列を操作することが多いとかなら
JavaScriptの方がずっと楽だと思うよ
JavaScriptの方がずっと楽だと思うよ
627名称未設定
2015/11/16(月) 21:54:09.48ID:EmiWRZhr0 ああでもアップルのことだからいつまで続けるかわかんないよねw
628名称未設定
2015/11/17(火) 06:26:10.94ID:1ouHt1MU0 JavaScriptはオブジェクト指向の考え方が
ある程度わからないと理解しにくい部分はありそう
AppleScriptから完全に乗り換えるんじゃなくて、
「AppleScriptだとdo shell scriptしないとできないけれど、
JavaScriptを使うとその場で解決できる処理」
が出てきた時にJavaScriptを使えばいい気がする
正規表現での文字列の検索置換とか、そういうのは
JavaScript内で出来るはずなんで、
そのへんから始めてみては?
ある程度わからないと理解しにくい部分はありそう
AppleScriptから完全に乗り換えるんじゃなくて、
「AppleScriptだとdo shell scriptしないとできないけれど、
JavaScriptを使うとその場で解決できる処理」
が出てきた時にJavaScriptを使えばいい気がする
正規表現での文字列の検索置換とか、そういうのは
JavaScript内で出来るはずなんで、
そのへんから始めてみては?
629名称未設定
2015/11/17(火) 09:09:23.09ID:Q6GYLDn20 色々組み合わせて考えるならJSよりもshell+ASの方が幅広く使えていいと思う。
630名称未設定
2015/11/17(火) 13:21:15.50ID:UQB4hOGg0 JXAはあまりつかわれてないのかな
631名称未設定
2015/11/17(火) 22:41:34.65ID:GvDIX6qt0 正規表現とハッシュ以外のメリットがあまりないんだよなぁ。
ダイアログ出すだけでもメンドクサイ。
ダイアログ出すだけでもメンドクサイ。
632名称未設定
2015/11/17(火) 22:48:48.92ID:b3qNeLRG0 AppleScriptでプログラミングする人は
html+JavaScriptでもプログラミングを
しないの? 私の場合は、ASは3%以下
JavaScriptが40%、Python40%、残りは
その他のプログラムという感じ。
JavaScriptでfunctionを書いておけば
JXAでもhtmlでも使えるので、便利だと
思うが。
html+JavaScriptでもプログラミングを
しないの? 私の場合は、ASは3%以下
JavaScriptが40%、Python40%、残りは
その他のプログラムという感じ。
JavaScriptでfunctionを書いておけば
JXAでもhtmlでも使えるので、便利だと
思うが。
633名称未設定
2015/11/17(火) 23:36:57.30ID:443NzYjK0 html+JavaScriptでもプログラミングをするのがあたりまえのように聞くのだか。アホっぽいなw
634名称未設定
2015/11/20(金) 21:02:06.71ID:0VjuA+NT0 delay をどこにどれだけ入れればいいかなにか目安はないのでしょうか?
順番に処理されるから、delay いらない気がするのですが、下記のような
単純な script でも delay をいれないとうまく動きませんでした。
delay がないと myURL に設定したウェブページじゃなくて、へんなリダイレクトページが表示されました。
-- クロームでウェブページを表示
tell application
順番に処理されるから、delay いらない気がするのですが、下記のような
単純な script でも delay をいれないとうまく動きませんでした。
delay がないと myURL に設定したウェブページじゃなくて、へんなリダイレクトページが表示されました。
-- クロームでウェブページを表示
tell application
635名称未設定
2015/11/20(金) 21:03:43.90ID:0VjuA+NT0 delay をどこにどれだけ入れればいいかなにか目安はないのでしょうか?
順番に処理されるから、delay いらない気がするのですが、下記のような
単純な script でも delay をいれないとうまく動きませんでした。
delay がないと myURL に設定したウェブページじゃなくて、へんなリダイレクトページが表示されました。
-- クロームでウェブページを表示
tell application "Google Chrome"
tell window kuroWinIndex to activate
-- delay 0.5
set myTab to make new tab at end of tabs of window kuroWinIndex
set kensakuGoku to _searchWord as text
-- delay 0.5
set myURL to "https://www.google.co.jp/search?q=" & kensakuGoku
log "myURL : " & myURL
delay 0.4
set URL of myTab to myURL
end tell
順番に処理されるから、delay いらない気がするのですが、下記のような
単純な script でも delay をいれないとうまく動きませんでした。
delay がないと myURL に設定したウェブページじゃなくて、へんなリダイレクトページが表示されました。
-- クロームでウェブページを表示
tell application "Google Chrome"
tell window kuroWinIndex to activate
-- delay 0.5
set myTab to make new tab at end of tabs of window kuroWinIndex
set kensakuGoku to _searchWord as text
-- delay 0.5
set myURL to "https://www.google.co.jp/search?q=" & kensakuGoku
log "myURL : " & myURL
delay 0.4
set URL of myTab to myURL
end tell
636名称未設定
2015/11/20(金) 21:17:32.71ID:IkinpZgs0 >>635
その最後のdelayがなくてもkensakuGoku/searchWordでのGoogle検索結果になるけど
へんなリダイレクトページってURLなんやねん?なんかアンチウイルスソフトでも入れているとか?
その最後のdelayがなくてもkensakuGoku/searchWordでのGoogle検索結果になるけど
へんなリダイレクトページってURLなんやねん?なんかアンチウイルスソフトでも入れているとか?
637名称未設定
2015/11/20(金) 21:21:50.09ID:IkinpZgs0 もしくはなんらかのプラグインかなあ
プラグインが原因だとしたらdelayはそこじゃなくmake new tabの直後に入れても効くだろう
make new tabをしないでやってみてどうとか見るとよりプラグインが原因かなあがはっきりするかな
プラグインが原因だとしたらdelayはそこじゃなくmake new tabの直後に入れても効くだろう
make new tabをしないでやってみてどうとか見るとよりプラグインが原因かなあがはっきりするかな
638名称未設定
2015/11/20(金) 21:32:23.10ID:0VjuA+NT0 delay いれないと下記の URL に飛ばされるけど、拡張機能の悪影響みたいですね。
chrome-extension://pkolifcipfnlmkonikcnilfhgdbbhhko/redirect.html
chrome-extension://pkolifcipfnlmkonikcnilfhgdbbhhko/redirect.html
639名称未設定
2015/11/20(金) 22:05:27.27ID:IkinpZgs0 なる。そみたいだね
そのキモい文字列はなんやねんってググってみたら、機能拡張に付けられたユニークなIDかな。Tab Nullpo+ ならば
そのキモい文字列はなんやねんってググってみたら、機能拡張に付けられたユニークなIDかな。Tab Nullpo+ ならば
640名称未設定
2015/11/22(日) 02:57:49.95ID:Crb3hzhD0 おらのアップルスクリプトにショートカットを割り当てるのが面倒くさすぎる件
1. スクリプトエディタでスクリプト作成
myscript.scpt
2. オートメターのサービス作成
アップルスクリプトを実行を選択し、1. の内容をコピペ
3. 設定 → キーボード。2. で作成したサービスにショートカットキーを割り当て。
修飾キー3つぐらいつけた複雑なやつを割り当て。
4. karabina で、右コマンドに 3. で作成したショートカット割り当て
----- -----
上記手順で作成したアップルスクリプトにショートカットを割り当てているのですが、もうちょっと効率的にできないのでしょうか?
上記手順だと、スクリプトエディタでスクリプトを修正したら、またオートメター立ち上げて、コピペが必要となり効率悪いことこの上ない。
1. スクリプトエディタでスクリプト作成
myscript.scpt
2. オートメターのサービス作成
アップルスクリプトを実行を選択し、1. の内容をコピペ
3. 設定 → キーボード。2. で作成したサービスにショートカットキーを割り当て。
修飾キー3つぐらいつけた複雑なやつを割り当て。
4. karabina で、右コマンドに 3. で作成したショートカット割り当て
----- -----
上記手順で作成したアップルスクリプトにショートカットを割り当てているのですが、もうちょっと効率的にできないのでしょうか?
上記手順だと、スクリプトエディタでスクリプトを修正したら、またオートメター立ち上げて、コピペが必要となり効率悪いことこの上ない。
641名称未設定
2015/11/22(日) 03:22:36.50ID:CSZfjbIO0 >>640
Sparkとかのランチャー系アプリ使えば2以降はキー設定のみで済む
というか、そもそもKarabinerにそういう機能あるだろ
(おれは使ってないが。従前からSpark使ってるので移行がめんどいから……)
Karabinerで多機能ランチャーを実現する - Qiita
ttp://qiita.com/catfist/items/ab43d06b6914418afb85
最近できたKarabinerスレは有益な書き込みが多いのでオススメ
【キーリマップ】Karabiner Part1【カスタマイズ】 [転載禁止]©2ch.net
ttp://anago.2ch.net/test/read.cgi/mac/1439014871/
Sparkとかのランチャー系アプリ使えば2以降はキー設定のみで済む
というか、そもそもKarabinerにそういう機能あるだろ
(おれは使ってないが。従前からSpark使ってるので移行がめんどいから……)
Karabinerで多機能ランチャーを実現する - Qiita
ttp://qiita.com/catfist/items/ab43d06b6914418afb85
最近できたKarabinerスレは有益な書き込みが多いのでオススメ
【キーリマップ】Karabiner Part1【カスタマイズ】 [転載禁止]©2ch.net
ttp://anago.2ch.net/test/read.cgi/mac/1439014871/
642名称未設定
2015/11/22(日) 03:23:43.00ID:S/HFRQF00 BTT
643名称未設定
2015/11/22(日) 04:22:29.35ID:CSZfjbIO0 ああ、BTTももちろんありだね
ランチャー系でメジャーどころといえばほかにもLaunchBar、Alfredなど
参考までに自分はKarabiner、BTT、Spark、LaunchBarを併用しているよ
Sparkはもうやめたいんだけど移行がめんどい(大事なことなので(ry
ランチャー系でメジャーどころといえばほかにもLaunchBar、Alfredなど
参考までに自分はKarabiner、BTT、Spark、LaunchBarを併用しているよ
Sparkはもうやめたいんだけど移行がめんどい(大事なことなので(ry
644名称未設定
2015/11/22(日) 11:19:29.93ID:wjYxrbbL0 >上記手順で作成したアップルスクリプトにショートカットを割り当てているのですが、もうちょっと効率的にできないのでしょうか?
↑を自動化しちゃえばいいんじゃねえ、なんつって
FastScripts
Instant access to your scripts, by keyboard shortcut or menubar.
Free for 10 keyboard shortcuts. $9.95 for unlimited.
10.6以降対応、10.10の話はリリースノートに載ってる
10.11はわからん
↑を自動化しちゃえばいいんじゃねえ、なんつって
FastScripts
Instant access to your scripts, by keyboard shortcut or menubar.
Free for 10 keyboard shortcuts. $9.95 for unlimited.
10.6以降対応、10.10の話はリリースノートに載ってる
10.11はわからん
645名称未設定
2015/11/22(日) 19:11:06.31ID:nrMXMOab0646名称未設定
2015/11/24(火) 22:10:39.87ID:lOO4yht00 コマンドの 引数に何を指定したらいいかどこを見たら良いのでしょうか?
用語説明見てもちゃんと書いてないのが多く困ってます。
例えば、duplicate コマンドの引数に何を指定するかエイリアス? posixパス? それとも hfs 形式?
移動先はフルパスを指定するのか、移動先フォルダを指定するのかとかも書いてなくて、簡単そうなとこで詰まりまくりです
用語説明見てもちゃんと書いてないのが多く困ってます。
例えば、duplicate コマンドの引数に何を指定するかエイリアス? posixパス? それとも hfs 形式?
移動先はフルパスを指定するのか、移動先フォルダを指定するのかとかも書いてなくて、簡単そうなとこで詰まりまくりです
647名称未設定
2015/11/24(火) 22:55:00.77ID:vOhllC2P0 >>646
>duplicate v : Duplicate one or more object(s)
>duplicate specifier : the object(s) to duplicate
>[to location specifier] : the new location for the object(s)
>移動先フォルダを指定するのか
これは書いてあるじゃん
まあ指定しなかったらどうなるかは書いてないけど
常識の範疇というかちょっと試せばわかること
>何を指定するか
この場合もそうだが、たいてい必要な specifier は alias や file だわな
path 自体はただのテキストにすぎないので、コマンドは場所として認識しない
君の書いてるPOSIX pathやなんかも最終的には変換して渡すわけだね
>set tarFolderPath to "/hoge/hage" --これはただのテキスト
>set tarFolder to POSIX file tarFolderPath --これでファイルを参照できる
>get POSIX path of tarFolder --これで tarFolderPath と同じものが返る
逆に言えば、コマンドに渡すまではどの形で管理しようと自由
テキストであることを生かしてホイホイ変形できる
自分なんかは POSIX path がわかりやすいし何かと便利なのでそれで統一してる
慣れるまでは全部下記のようにして渡すと謎の行き詰まりも減るかと
(面倒なことに、file や folder と alias の違いが問題になることがある)
>set tarFolder to tarFolder as alias --つまり (POSIX file "/hoge/hage") as alias
>duplicate v : Duplicate one or more object(s)
>duplicate specifier : the object(s) to duplicate
>[to location specifier] : the new location for the object(s)
>移動先フォルダを指定するのか
これは書いてあるじゃん
まあ指定しなかったらどうなるかは書いてないけど
常識の範疇というかちょっと試せばわかること
>何を指定するか
この場合もそうだが、たいてい必要な specifier は alias や file だわな
path 自体はただのテキストにすぎないので、コマンドは場所として認識しない
君の書いてるPOSIX pathやなんかも最終的には変換して渡すわけだね
>set tarFolderPath to "/hoge/hage" --これはただのテキスト
>set tarFolder to POSIX file tarFolderPath --これでファイルを参照できる
>get POSIX path of tarFolder --これで tarFolderPath と同じものが返る
逆に言えば、コマンドに渡すまではどの形で管理しようと自由
テキストであることを生かしてホイホイ変形できる
自分なんかは POSIX path がわかりやすいし何かと便利なのでそれで統一してる
慣れるまでは全部下記のようにして渡すと謎の行き詰まりも減るかと
(面倒なことに、file や folder と alias の違いが問題になることがある)
>set tarFolder to tarFolder as alias --つまり (POSIX file "/hoge/hage") as alias
648名称未設定
2015/11/24(火) 23:02:46.20ID:vOhllC2P0649名称未設定
2015/11/25(水) 01:16:34.40ID:7NRDBOtT0 >>647 役に立つレスありがとうございます
下記のコードで srcFile の指定を tell ブロックの中でやるとエラーになるのはなぜでしょうか?
今日一日の数時間の作業の成果。作業効率化のはずが非効率化してる。
デスクトップにファイルコピーするだけで数時間かかった。
-- このファイルをデスクトップにコピー
property bkItemFullpathText : "/Users/Tomo/Desktop/kopitesuto.scpt"
set srcFile to (POSIX file bkItemFullpathText)
set destDir to (path to desktop folder)
tell application "Finder"
log "----- 3 finder で 処理開始-----"
-- これがだめ — 上書きしない設定に変更できずこまった
-- duplicate srcFile to destDir with replacing false
-- 下記2つは動く
-- duplicate srcFile to destDir without replacing
duplicate srcFile to destDir with replacing
end tell
下記のコードで srcFile の指定を tell ブロックの中でやるとエラーになるのはなぜでしょうか?
今日一日の数時間の作業の成果。作業効率化のはずが非効率化してる。
デスクトップにファイルコピーするだけで数時間かかった。
-- このファイルをデスクトップにコピー
property bkItemFullpathText : "/Users/Tomo/Desktop/kopitesuto.scpt"
set srcFile to (POSIX file bkItemFullpathText)
set destDir to (path to desktop folder)
tell application "Finder"
log "----- 3 finder で 処理開始-----"
-- これがだめ — 上書きしない設定に変更できずこまった
-- duplicate srcFile to destDir with replacing false
-- 下記2つは動く
-- duplicate srcFile to destDir without replacing
duplicate srcFile to destDir with replacing
end tell
650名称未設定
2015/11/25(水) 02:34:16.75ID:TCaMN6bP0 shellのほうが楽そうだな
651名称未設定
2015/11/25(水) 11:14:05.31ID:gljbLSkV0 >>649
set srcFile to bkItemFullpathText as POSIX fileにすればtell〜内で動く。
それより、AでできるのにBの記述にできなくて何が問題?
A : duplicate srcFile to destDir without replacing
B : duplicate srcFile to destDir with replacing false
set srcFile to bkItemFullpathText as POSIX fileにすればtell〜内で動く。
それより、AでできるのにBの記述にできなくて何が問題?
A : duplicate srcFile to destDir without replacing
B : duplicate srcFile to destDir with replacing false
652名称未設定
2015/11/25(水) 12:08:05.39ID:DGBNKIrw0 >>649>>651
ちゃんと用語辞書読めばそんな書き方はないとわかる
> [replacing boolean] : Specifies whether or not to replace items (ry
B はよけいな with がいかん
> duplicate srcFile to destDir replacing false
こう書けば普通に動く(コンパイル時に without の記法に直されるが)
どうでもいいが、without の記法が気に入らないならこうすればコンパイル通る
> set isFalse to false
> duplicate srcFile to destDir replacing isFalse
ちゃんと用語辞書読めばそんな書き方はないとわかる
> [replacing boolean] : Specifies whether or not to replace items (ry
B はよけいな with がいかん
> duplicate srcFile to destDir replacing false
こう書けば普通に動く(コンパイル時に without の記法に直されるが)
どうでもいいが、without の記法が気に入らないならこうすればコンパイル通る
> set isFalse to false
> duplicate srcFile to destDir replacing isFalse
653名称未設定
2015/11/26(木) 22:25:10.93ID:EikmtUER0 >>651
レスありがとうございます。
理由がよくわからないのですが、as を使わないと finder のfile オブジェクトととして解釈されて動かないということでしょうか?
AppleScriptの最大の問題点はパスの指定。エイリアス、posix 、ファインダーのファイル、Mac 形式とかあって意味不明すぎる。
AppleScript は一つの単語に複数の意味があって混乱する。
一つの単語に複数の意味、使い方があるような言語を使ってると馬鹿になるよ。
レスありがとうございます。
理由がよくわからないのですが、as を使わないと finder のfile オブジェクトととして解釈されて動かないということでしょうか?
AppleScriptの最大の問題点はパスの指定。エイリアス、posix 、ファインダーのファイル、Mac 形式とかあって意味不明すぎる。
AppleScript は一つの単語に複数の意味があって混乱する。
一つの単語に複数の意味、使い方があるような言語を使ってると馬鹿になるよ。
654名称未設定
2015/11/27(金) 00:07:57.81ID:BPNuZ3Dr0 な、相手にしないほうが良かっただろ
655名称未設定
2015/11/27(金) 01:37:40.10ID:jmwVs+pX0 お見通しワロタ
656名称未設定
2015/11/27(金) 17:20:00.86ID:5UEcuuEY0657名称未設定
2015/11/27(金) 21:22:43.35ID:/EMo4Pm00 理解してない子ほど、自分の無能を棚に上げて文句言うやつか
658名称未設定
2015/12/08(火) 02:50:30.52ID:VLHPwPJ50 用語辞書のスイーツ(笑) ってなんなのでしょうか。
クラスの説明が複数スイーツに分かれてたりして分かりづらい。
クラスの説明が複数スイーツに分かれてたりして分かりづらい。
659名称未設定
2015/12/08(火) 11:09:05.09ID:lB4YAlKM0 都会の隠れ家的お店で、頑張った等身大の自分へ与えるご褒美です。
660名称未設定
2015/12/09(水) 18:01:19.26ID:yPmT8tDJ0 基本的なとこでつまりまくるので、Kindleで hanaan著"Learn AppleScript "を買った。
4600円したが内容は素晴らしい。
余計な前置きが多いのと、後で説明する、みたいなスタイルがうざいのがたまにキズ。
4600円したが内容は素晴らしい。
余計な前置きが多いのと、後で説明する、みたいなスタイルがうざいのがたまにキズ。
662名称未設定
2016/01/01(金) 09:06:18.03ID:BJsCGmtz0 display dialog "Happy New Year!"
663名称未設定
2016/01/04(月) 00:18:42.48ID:Fh/KFYvI0 なーんか最近スクリプトエディタがよく落ちる
ちょっと前にJavaScriptで間違った文を実行して落ちて以来、落ち癖がついちゃったような
今はAppleScriptのコンパイル済み.scptを開いた時に多いけど、エディタ単独で開いても時々
OS X 10.11.2 (15C50)
スクリプトエディタ 2.8.1 (183.1)
ちょっと前にJavaScriptで間違った文を実行して落ちて以来、落ち癖がついちゃったような
今はAppleScriptのコンパイル済み.scptを開いた時に多いけど、エディタ単独で開いても時々
OS X 10.11.2 (15C50)
スクリプトエディタ 2.8.1 (183.1)
664名称未設定
2016/01/04(月) 03:03:47.04ID:85GhQRWi0 リポートとコンソール確認すれば
665名称未設定
2016/01/05(火) 01:26:25.47ID:p4h3jkgn0 xcode 使ったら、ブレークポイントでとめて、タップで変数の中身確認とかできないの?
スクリプトエディタだとブレークポイント作れないよね?
スクリプトエディタだとブレークポイント作れないよね?
666名称未設定
2016/01/05(火) 08:47:52.77ID:w5XIhSln0 使った事無いけどLateNightのScript Debuggerとか?
667名称未設定
2016/01/20(水) 23:51:55.18ID:64jps1E70 落ちてる?
668名称未設定
2016/01/21(木) 00:05:03.47ID:DbKP7fYg0 下記は重複しない保存先パスを作成する script の一部です。
日付_連番_ファイル名 このような形式のファイル名を作成しています。
exists コマンドの挙動がおかしく、常に false が返ってます。
set i to 2
repeat
tell application
日付_連番_ファイル名 このような形式のファイル名を作成しています。
exists コマンドの挙動がおかしく、常に false が返ってます。
set i to 2
repeat
tell application
669名称未設定
2016/01/21(木) 00:32:22.07ID:4rMo+FcO0 構文エラー
expression、property または key form など があるべきところですが end of script が見つかりました。
expression、property または key form など があるべきところですが end of script が見つかりました。
670名称未設定
2016/01/21(木) 01:45:11.58ID:DbKP7fYg0 set i to 2
repeat
tell application "Finder" to set isItemExists to exists (my POSIX file fullpathText)
if {isItemExists = false} then
log "存在しない"
exit repeat
else -- 存在するときの処理
set k to (i as text)
-- date_k_baseName -- /Users/Yuu/Desktop/2016_01_21_test.txt
set fullpathText to destDir & baseDateStr & k & "_" & baseNameStr
end if
set i to i + 1
end repeat
return fullpathText
repeat
tell application "Finder" to set isItemExists to exists (my POSIX file fullpathText)
if {isItemExists = false} then
log "存在しない"
exit repeat
else -- 存在するときの処理
set k to (i as text)
-- date_k_baseName -- /Users/Yuu/Desktop/2016_01_21_test.txt
set fullpathText to destDir & baseDateStr & k & "_" & baseNameStr
end if
set i to i + 1
end repeat
return fullpathText
671名称未設定
2016/01/21(木) 02:03:39.34ID:DbKP7fYg0672名称未設定
2016/01/21(木) 09:41:56.94ID:sgs/8VkY0 if {isItemExists = false} then <- なんで{}とか使ってんの?
そもそも閉じる必要もないし。
そもそも閉じる必要もないし。
673名称未設定
2016/01/21(木) 11:22:21.54ID:ID6h33Zz0 以前AppleScriptの仕様に文句言ってた人では
見切りつけて使うのをやめたんじゃなかったのか
見切りつけて使うのをやめたんじゃなかったのか
674名称未設定
2016/01/25(月) 23:43:26.79ID:2FBTd4al0 作業完了時にチャリーンと音を鳴らすにはどうするのが良いでしょうか?
下記のしっくりこない対策しか思いつきません。
・ beep
音が気にくわない。
・ AppleScriptobjc で NSSound クラスを使う。
本に載ってる。コピペでそのまま使えそう。
でも、なにか大げさで違和感のある対策。
・ iTunes でサウンドファイル再生。
大げさ、重い。
下記のしっくりこない対策しか思いつきません。
・ beep
音が気にくわない。
・ AppleScriptobjc で NSSound クラスを使う。
本に載ってる。コピペでそのまま使えそう。
でも、なにか大げさで違和感のある対策。
・ iTunes でサウンドファイル再生。
大げさ、重い。
675名称未設定
2016/01/25(月) 23:56:31.78ID:NpvROCdu0 do shell script で afplay
676名称未設定
2016/01/26(火) 00:07:09.92ID:OaX1S4kQ0 通知ありでも良ければ
display notification with title "終了しました" sound name ""
ユーザのライブラリ/Soundsに音源ファイル入れておけばOK
sound nameに拡張子無しのファイル名で音が出る。
名前が違えば通常の通知音が鳴る。
display notification with title "終了しました" sound name ""
ユーザのライブラリ/Soundsに音源ファイル入れておけばOK
sound nameに拡張子無しのファイル名で音が出る。
名前が違えば通常の通知音が鳴る。
677名称未設定
2016/01/26(火) 03:37:54.07ID:UV5S+svp0679名称未設定
2016/01/30(土) 23:18:50.99ID:IOL1PbEa0 起動してウインドウ位置とウインドウサイズを固定するAutomatorのアプリをApple Scriptで作りたいのですが、一部のアプリで
tell application "アプリ名"
activate
tell front window
set bounds to {0, 0, 0, 0}
end tell
end tell
でエラーウインドウが出るだけでアプリの起動もできません。
他の方法として
tell application "System Events"
を使えばいいようですが、どんな風にかけて思った動作がするにか想像もできません…
どなたか助けていただけませんか。
tell application "アプリ名"
activate
tell front window
set bounds to {0, 0, 0, 0}
end tell
end tell
でエラーウインドウが出るだけでアプリの起動もできません。
他の方法として
tell application "System Events"
を使えばいいようですが、どんな風にかけて思った動作がするにか想像もできません…
どなたか助けていただけませんか。
680名称未設定
2016/01/30(土) 23:46:59.63ID:LtqeZOXR0 「一部のアプリ」でなんだかよくわからない「エラーウインドウ」ね……
エスパー募集かな?
エスパー募集かな?
681名称未設定
2016/01/30(土) 23:59:59.45ID:IOL1PbEa0 https://i.imgur.com/4aXhmWl.png
こんなウインドウしか出てこないのでどうすればいいのか全くわかりません。
アプリはTweetbotなどです。
特にエスパーは必要ではありません。
こんなウインドウしか出てこないのでどうすればいいのか全くわかりません。
アプリはTweetbotなどです。
特にエスパーは必要ではありません。
682名称未設定
2016/01/31(日) 00:15:34.51ID:sppaYWuL0683名称未設定
2016/01/31(日) 00:43:24.43ID:Lb5Fe+7B0 参考までに。
tell application "System Events"
set app_name to name of first item of (every application process that (frontmost is true))
tell process app_name
set a_win to (1st item of (every window that subrole is "AXStandardWindow"))
set position of a_win to {20, 60}
set size of a_win to {1600, 1200}
end tell
end tell
tell application "System Events"
set app_name to name of first item of (every application process that (frontmost is true))
tell process app_name
set a_win to (1st item of (every window that subrole is "AXStandardWindow"))
set position of a_win to {20, 60}
set size of a_win to {1600, 1200}
end tell
end tell
684名称未設定
2016/01/31(日) 00:50:08.78ID:H6u9ib8G0 tell application "System Events"
tell process "アプリ名"
tell front window
set position to {x, y}
set size to {w, h}
end tell
end tell
end tell
で行けんじゃないの
tell process "アプリ名"
tell front window
set position to {x, y}
set size to {w, h}
end tell
end tell
end tell
で行けんじゃないの
685名称未設定
2016/01/31(日) 19:25:53.91ID:T2G1Wg900 Mailソフトでフィルタリングされた迷惑メール複数をmeiwaku@dekyo.or.jpに添付ファイルとして、転送できるようなAppleScriptって書けないものでしょうか?
件名はjunk mail transferとしたいです。
件名はjunk mail transferとしたいです。
686名称未設定
2016/01/31(日) 19:30:26.66ID:8Nm40lSC0 どこまで出来たか晒しなよ
見てくれる人はいっぱいいるから
見てくれる人はいっぱいいるから
688名称未設定
2016/01/31(日) 23:31:50.09ID:vPfKXtBI0689名称未設定
2016/02/06(土) 20:13:14.62ID:LOyohfZN0 >>685
>Mailソフトでフィルタリングされた迷惑メール
迷惑メールが収められているフォルダー内のデータ
に対して(1、2)を行うスクリプト:
1) 文字検索して
2) 検索結果をmeiwaku@dekyo.or.jpに送る
をpythonやrubyなどで書いた方が、同じ作業を
AppleScriptで書くよりも絶対に楽だと思う。
5万円払ってくれるのなら、AppleScriptで書いて
もらえるとも思うが。
>Mailソフトでフィルタリングされた迷惑メール
迷惑メールが収められているフォルダー内のデータ
に対して(1、2)を行うスクリプト:
1) 文字検索して
2) 検索結果をmeiwaku@dekyo.or.jpに送る
をpythonやrubyなどで書いた方が、同じ作業を
AppleScriptで書くよりも絶対に楽だと思う。
5万円払ってくれるのなら、AppleScriptで書いて
もらえるとも思うが。
690名称未設定
2016/02/06(土) 22:05:24.20ID:PZIXO4V20 細かいこと言わなきゃ 環境設定→ルール の実行パターン「メッセージを転送」で済みそうな気もするけど。
もしくは、実行パターンとして「AppleScriptを実行」てのもあるからそこ使えば作れるかも。
もしくは、実行パターンとして「AppleScriptを実行」てのもあるからそこ使えば作れるかも。
691名称未設定
2016/02/07(日) 01:23:00.23ID:gYLu6YbZ0 AppleScriptでメーラー作ればいいんじゃない
694名称未設定
2016/02/24(水) 18:45:41.19ID:PaiBzqoz0 教えてください。
ttp://hottinroof.blog54.fc2.com/blog-entry-77.html
のスクリプトを使って写真のリネームをしています。本日 El capitanにアップデートしたところ
「sh: exiftool: command not found Finder でエラーが起きました:sh: exiftool: command not found(127)」
と動かなくなりました。
exiftoolsは最新のmac用 10.11です。調べたところ、置き場所が変わったとの記述を見つけ、
スクリプトを開いて開いて POSIX path にMacintosh/usr/local/bin/exiftoolを当てようと色々試したのですが動かず的外れ
だったようです。
どなたかどうすればexiftoolが有効になるのか教えてください。お願いします。
ttp://hottinroof.blog54.fc2.com/blog-entry-77.html
のスクリプトを使って写真のリネームをしています。本日 El capitanにアップデートしたところ
「sh: exiftool: command not found Finder でエラーが起きました:sh: exiftool: command not found(127)」
と動かなくなりました。
exiftoolsは最新のmac用 10.11です。調べたところ、置き場所が変わったとの記述を見つけ、
スクリプトを開いて開いて POSIX path にMacintosh/usr/local/bin/exiftoolを当てようと色々試したのですが動かず的外れ
だったようです。
どなたかどうすればexiftoolが有効になるのか教えてください。お願いします。
695名称未設定
2016/02/24(水) 19:33:34.55ID:PcH/7f1n0 頭の Macintosh 取って、 /usr から始めればいいんじゃない
696名称未設定
2016/02/25(木) 10:01:21.68ID:cT4RuRny0 >>694
このAを各々Bと置き換えたらできないかな?
A:
set scrptMO to "exiftool -model " & cameraname
set scrptMO to "exiftool -DateTimeOriginal " & hidukejikoku
B:
set scrptMO to "sips --getProperty model " & cameraname
set scrptMO to "sips --getProperty creation " & hidukejikoku
このAを各々Bと置き換えたらできないかな?
A:
set scrptMO to "exiftool -model " & cameraname
set scrptMO to "exiftool -DateTimeOriginal " & hidukejikoku
B:
set scrptMO to "sips --getProperty model " & cameraname
set scrptMO to "sips --getProperty creation " & hidukejikoku
698名称未設定
2016/02/26(金) 09:09:33.85ID:xF52EGeJ0699名称未設定
2016/02/26(金) 16:20:14.71ID:atUtY2LD0 exiftoolいらんかったんや
と思ったけど、調べてみたら、一発で所望のリネームまでできるじゃないか
exiftool '-FileName<$model $DateTimeOriginal%+c.%e' -d '%Y%m%d %H%M%S' ファイル...
ドロップレットで処理するとしても長々いらんかったんや
と思ったけど、調べてみたら、一発で所望のリネームまでできるじゃないか
exiftool '-FileName<$model $DateTimeOriginal%+c.%e' -d '%Y%m%d %H%M%S' ファイル...
ドロップレットで処理するとしても長々いらんかったんや
700名称未設定
2016/02/26(金) 18:59:39.08ID:/CCFtnsQ0701名称未設定
2016/02/27(土) 11:16:23.52ID:krnL6K6A0 なにそれーw
702名称未設定
2016/02/29(月) 18:41:06.52ID:FzgXm9MA0 上の処理をシェルスクリプトの勉強がてら書いてみたんだけど、
よくわかっていないのでイマイチすっきりしない。
どう書いたらスマートに書けるか詳しい人教えて。
for f in `ls` ; do mv $f `sips --getProperty model $f | sed -n '/[0-9: ]$/p' | sed 's/ model: //'`
よくわかっていないのでイマイチすっきりしない。
どう書いたらスマートに書けるか詳しい人教えて。
for f in `ls` ; do mv $f `sips --getProperty model $f | sed -n '/[0-9: ]$/p' | sed 's/ model: //'`
703名称未設定
2016/02/29(月) 18:42:34.87ID:FzgXm9MA0 なんかとちゅうで切れてるので再アップ
for f in `ls` ; do mv $f `sips --getProperty model $f | sed -n '/[0-9: ]$/p' |
sed 's/ model: //'`"_"`sips --getProperty creation $f | sed -n '/[0-9: ]$/p' |
sed 's/[^0-9]//g'`".jpg"; done
for f in `ls` ; do mv $f `sips --getProperty model $f | sed -n '/[0-9: ]$/p' |
sed 's/ model: //'`"_"`sips --getProperty creation $f | sed -n '/[0-9: ]$/p' |
sed 's/[^0-9]//g'`".jpg"; done
704名称未設定
2016/02/29(月) 20:57:20.57ID:7rDDasVF0 おめーはよー、シェルスクリプトだけの話しかしねーならスレ違いだろボケー
このスレらしくImage Eventsで書き直した版持ってこいよ
このスレらしくImage Eventsで書き直した版持ってこいよ
705名称未設定
2016/03/15(火) 18:33:52.75ID:D7JpzMMj0 do shell scriptを使ってpython 3を実行させたいのですが、
Aの記述の様にパスに日本語を含むファイルを実行しようとすると
can't open file '<unprintable file name>': [Errno 92] Illegal byte sequence" number 2とエラーがでます。
A: do shell script"〜.pyenv/versions/3.3.0/bin/python 〜/Desktop/テスト.py"
B: do shell script"python 〜/Desktop/テスト.py"
ファイル名に日本語を含まない場合、ターミナルから直接実行した場合、Bの記述の場合は
いずれも問題なく実行できます。
どうしたら上の記述で実行できるでしょうか?
pandasを使いたくてpython 3の方に入れたのですが、
Bの記述だとpandasが認識されず、Aの記述だとpandasが認識されます。
ターミナルから実行する場合はBでも問題なくpandasは認識されます。
pandasはpipを使って入れています。
Aの記述の様にパスに日本語を含むファイルを実行しようとすると
can't open file '<unprintable file name>': [Errno 92] Illegal byte sequence" number 2とエラーがでます。
A: do shell script"〜.pyenv/versions/3.3.0/bin/python 〜/Desktop/テスト.py"
B: do shell script"python 〜/Desktop/テスト.py"
ファイル名に日本語を含まない場合、ターミナルから直接実行した場合、Bの記述の場合は
いずれも問題なく実行できます。
どうしたら上の記述で実行できるでしょうか?
pandasを使いたくてpython 3の方に入れたのですが、
Bの記述だとpandasが認識されず、Aの記述だとpandasが認識されます。
ターミナルから実行する場合はBでも問題なくpandasは認識されます。
pandasはpipを使って入れています。
706名称未設定
2016/03/15(火) 19:05:41.06ID:8FCCxXqP0 例のあれ、LANG=ja_JP.UTF-8 設定して解決じゃないの
707名称未設定
2016/03/16(水) 02:06:49.60ID:SCX7A7Ur0 $ "hoge -hoge '/日本語/日本語'"
ってするんじゃないの
ってするんじゃないの
708名称未設定
2016/03/16(水) 02:30:44.77ID:uKUS3Bk/0 |
| 彡⌒ミ
\ (´・ω・`)またhageの話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)またhageの話してる
(| |)::::
(γ /:::::::
し \:::
\
709名称未設定
2016/03/16(水) 08:57:16.32ID:wz/7bs1s0 >706
localeはLANG=ja_JP.UTF-8になっています。
>707
シングルクォートの事でしょうか? 囲っても囲まなくても結果は同じでした。
localeはLANG=ja_JP.UTF-8になっています。
>707
シングルクォートの事でしょうか? 囲っても囲まなくても結果は同じでした。
711名称未設定
2016/03/16(水) 09:14:46.67ID:wz/7bs1s0 >710
コマンドに入れたらできました!
ありがとうございます。次からはおまじないで入れとくことにします。
コマンドに入れたらできました!
ありがとうございます。次からはおまじないで入れとくことにします。
712名称未設定
2016/03/16(水) 10:42:50.80ID:gHrb8tu60 テキストエディットで文末に表示とカーソルを移動させたいのですが、
どこをどう直せばよいですか?
tell application "TextEdit"
activate
tell front document
set selection to last paragraph
end tell
end tell
どこをどう直せばよいですか?
tell application "TextEdit"
activate
tell front document
set selection to last paragraph
end tell
end tell
713名称未設定
2016/03/16(水) 11:40:47.13ID:wz/7bs1s0714名称未設定
2016/03/16(水) 11:51:48.56ID:4r7QBeuW0 キーバインドで操作出来るんじゃないの
715名称未設定
2016/03/16(水) 12:48:41.48ID:gHrb8tu60 >>713-714
ありがとうございます
特定のテキストファイルに
コピーしたメモを貼り付けておきたいのですが、
文末にどんどん追加していきたいので、
そのテキストファイルを開いたら、カーソルが一番下に行くようにしたかったです。
Alfredのトリガーで「そのファイルを開いて、スクリプトで文末に移動」
というのを登録して使おうと思いました。
やっぱり、素直にこうするのがいいのかもしれませんね・・・
tell application "TextEdit"
activate
tell front document
tell application "System Events" to key code 125 using {command down}
end tell
end tell
ありがとうございます
特定のテキストファイルに
コピーしたメモを貼り付けておきたいのですが、
文末にどんどん追加していきたいので、
そのテキストファイルを開いたら、カーソルが一番下に行くようにしたかったです。
Alfredのトリガーで「そのファイルを開いて、スクリプトで文末に移動」
というのを登録して使おうと思いました。
やっぱり、素直にこうするのがいいのかもしれませんね・・・
tell application "TextEdit"
activate
tell front document
tell application "System Events" to key code 125 using {command down}
end tell
end tell
716名称未設定
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)
tell document 1 of application "TextEdit" to set every text to every text & return & (the clipboard)
717名称未設定
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
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
718名称未設定
2016/03/17(木) 05:32:07.90ID:U21OisUH0 >>717
どうもapplescriptに見えんなーと思ったらapplescriptじゃなかった
JS使いにとってはASで素直に置換ができない問題がこれで解消されるわけか?
まあしかしASだけでルーチン組むのとあんまり変わらんから
やっぱり速度の問題になるよね
どうもapplescriptに見えんなーと思ったらapplescriptじゃなかった
JS使いにとってはASで素直に置換ができない問題がこれで解消されるわけか?
まあしかしASだけでルーチン組むのとあんまり変わらんから
やっぱり速度の問題になるよね
719名称未設定
2016/03/17(木) 06:23:24.08ID:nfY5T6ih0 Doublequoteはescape必要に見えるけど、大丈夫?
720名称未設定
2016/03/17(木) 07:12:42.55ID:3oRdLlSm0 失礼、勘違いだった。
721名称未設定
2016/03/17(木) 09:20:51.65ID:DWzTlfih0 >>717
いいね、これ
前に似たようなことやりたくて、JSで書いたやつを~/Library/Script Librariesに置いてASから使おうとしてダメだったから諦めてた
代わりにuse framework "Foundation" ... NSRegularExpressionで書いて使ったけど見た目ごちゃごちゃしてるしマンドクサかった
いいね、これ
前に似たようなことやりたくて、JSで書いたやつを~/Library/Script Librariesに置いてASから使おうとしてダメだったから諦めてた
代わりにuse framework "Foundation" ... NSRegularExpressionで書いて使ったけど見た目ごちゃごちゃしてるしマンドクサかった
722名称未設定
2016/03/17(木) 20:45:27.45ID:tknj+PfJ0 721です。昨日から触り始めたので、目新しいことばかりです。
配列やオブジェクトがlistやrecordとして返ってくるのは
ちょっと嬉しい。今更かもしれませんが。
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
配列やオブジェクトがlistやrecordとして返ってくるのは
ちょっと嬉しい。今更かもしれませんが。
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
723名称未設定
2016/03/17(木) 20:50:16.07ID:tknj+PfJ0 721さんではなくて717でした、失礼
724名称未設定
2016/03/17(木) 21:01:56.68ID:ine1sMXC0725名称未設定
2016/03/29(火) 21:22:05.25ID:0SkJ9rAs0 >>711
NSRegularRexpression をラップしてたマンドくさくないシンプルなインタフェースのライブラリをつくればいいのではないかしら。
NSRegularRexpression をラップしてたマンドくさくないシンプルなインタフェースのライブラリをつくればいいのではないかしら。
726名称未設定
2016/04/22(金) 15:37:59.52ID:hRzbi5SJ0 ASOCでウインドウをフローティング(常に前面)にしたいのですが、
どこでどう設定したらいいんでしょう?
どこでどう設定したらいいんでしょう?
727名称未設定
2016/04/22(金) 20:48:33.70ID:OU5jWO7P0 >>726
property win : missing value --xivでウィンドウど接続
--初期化で
win's setLevel_(3)
property win : missing value --xivでウィンドウど接続
--初期化で
win's setLevel_(3)
728726
2016/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
すみません。エラーも起きませんが、フローティングにもなりません。
現在記述してあるのは、下記のみです。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
729726
2016/04/25(月) 10:44:02.50ID:H7rkWOxZ0 アンダーバーが抜けていました。アンダーバー入れてもフローティングにはなりません。
_win's setLevel_(3)
_win's setLevel_(3)
730名称未設定
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怪しいから試しにwinnow作ってやってみて
これで出来ると思う
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怪しいから試しにwinnow作ってやってみて
これで出来ると思う
731726
2016/04/25(月) 15:54:15.90ID:H7rkWOxZ0732名称未設定
2016/04/25(月) 22:43:08.77ID:pJvZnNc40733726
2016/04/26(火) 09:37:28.68ID:TnaIN42b0 >>732
たびたびありがとうございます。
バグの可能性を聞いて、接続したり切ったり、設定を変えたりして
いじっていたらできることがありました。(2回成功しました)
ただ、これといった確実な方法が見つからずほとんどの場合はできません。
フローティングにならない場合でも同じ設定でエラーは出ません。
手動でoutletsの設定したい場合はどうしたらいいのでしょう?
たびたびありがとうございます。
バグの可能性を聞いて、接続したり切ったり、設定を変えたりして
いじっていたらできることがありました。(2回成功しました)
ただ、これといった確実な方法が見つからずほとんどの場合はできません。
フローティングにならない場合でも同じ設定でエラーは出ません。
手動でoutletsの設定したい場合はどうしたらいいのでしょう?
734726
2016/04/26(火) 09:53:27.89ID:TnaIN42b0 連投すみません。
絶対とは言えないのですが、高確率で成功する方法を見つけました。
property win : missing valueとwin's setLevel_(3)の両方を書いてからoutletsに接続すると成功率が高いようです。
property win : missing valueを設定してwin's setLevel_を実行する前にoutletsに接続してしまうと高確率で失敗します。
絶対とは言えないのですが、高確率で成功する方法を見つけました。
property win : missing valueとwin's setLevel_(3)の両方を書いてからoutletsに接続すると成功率が高いようです。
property win : missing valueを設定してwin's setLevel_を実行する前にoutletsに接続してしまうと高確率で失敗します。
735名称未設定
2016/04/26(火) 11:06:47.77ID:g47x2a7n0 >>734
Visible At Launchをオフにしてコードでwindowを表示してみましょう。
もし表示出来たならOutletが正しく接続されているので他に原因がある事になります。
_win's makeKeyAndOrderFront_(me)
_win's setTitle_("TEST")--ついでにタイトルも変えてみましょう
xivのwindowは、初期設定状態でしょうか
例えばxivでwindowのHidesOnDeactivateをonにしていると、他のアプリに移動した時にウィンドウが消えます。
Visible At Launchをオフにしてコードでwindowを表示してみましょう。
もし表示出来たならOutletが正しく接続されているので他に原因がある事になります。
_win's makeKeyAndOrderFront_(me)
_win's setTitle_("TEST")--ついでにタイトルも変えてみましょう
xivのwindowは、初期設定状態でしょうか
例えばxivでwindowのHidesOnDeactivateをonにしていると、他のアプリに移動した時にウィンドウが消えます。
736726
2016/04/26(火) 14:07:33.25ID:TnaIN42b0 とりあえず新規プロジェクトで実験しているので初期設定状態のままです。
_win's makeKeyAndOrderFront_(me)
_win's setTitle_("TEST")
を試した後からなぜか突然フローティングに失敗しなくなりました。
新規で作ってさっきまでうまくいなかったやり方で試しても大丈夫です。
よくわからないけど助かりました。ありがとうございます。
_win's makeKeyAndOrderFront_(me)
_win's setTitle_("TEST")
を試した後からなぜか突然フローティングに失敗しなくなりました。
新規で作ってさっきまでうまくいなかったやり方で試しても大丈夫です。
よくわからないけど助かりました。ありがとうございます。
737名称未設定
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で開くようにしたいです。
どのように付けくわえればよいでしょうか?
# 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で開くようにしたいです。
どのように付けくわえればよいでしょうか?
738名称未設定
2016/04/29(金) 23:50:36.50ID:mmmN9YIf0 デフォルトブラウザがFirefoxならそのまま行くんじゃないの
それかopen -a Firefoxにするか
それかopen -a Firefoxにするか
739名称未設定
2016/04/30(土) 02:41:26.48ID:6hA5ZwKI0 または open -b org.mozilla.firefox
740名称未設定
2016/04/30(土) 08:23:41.53ID:7vBWrPt20 >>738,739
ありがとうございます
デフォルトはSafariです
amazonの検索だけFirefoxにしたかったのです
教えてもらった行を最後に付けくわえてみたら、
Firefoxは起動するけど、検索自体はSafariのままでした。
付けくわえかた間違ってるのでしょうか・・・?
ありがとうございます
デフォルトはSafariです
amazonの検索だけFirefoxにしたかったのです
教えてもらった行を最後に付けくわえてみたら、
Firefoxは起動するけど、検索自体はSafariのままでした。
付けくわえかた間違ってるのでしょうか・・・?
741名称未設定
2016/04/30(土) 10:25:24.23ID:OIJSFV4t0 加えるんじゃなくて、最後の行のopenを置き換え
743名称未設定
2016/05/12(木) 13:39:13.01ID:OI34QQdR0 すごく単純な質問かもしれませんがご容赦ください
display dialogのテキストフィールドに、ユーザーが計算式を入力して、スクリプトに計算させるにはどうしたらいいでしょうか
例えば1/2+12/24と入力すると1と返ってくるようにしたいのです
display dialogのテキストフィールドに、ユーザーが計算式を入力して、スクリプトに計算させるにはどうしたらいいでしょうか
例えば1/2+12/24と入力すると1と返ってくるようにしたいのです
744名称未設定
2016/05/12(木) 14:20:47.24ID:U+AgI3Kr0 set r to "1/2+12/24"
run script r
run script r
746名称未設定
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
これを改造して、改行も文字と同じように置換や挿入削除したいのですがどのようにすればいいのでしょうか?
例えば「ほげほげ」を
「ほげ
ほげ」
に置換、またその逆もなんですが。
改行そのものは""で括らず「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
747名称未設定
2016/06/10(金) 01:04:00.29ID:izjeg4LE0 set orig_txt to FindAndReplace(orig_txt, "ほげ", "ほげ" & return) -- ただしイマイチ
「ほげほげ」
↓
「ほげ
ほげ
」
set orig_txt to FindAndReplace(orig_txt, return, "")
「ほげ
ほげ
」
↓
「ほげほげ」
「ほげほげ」
↓
「ほげ
ほげ
」
set orig_txt to FindAndReplace(orig_txt, return, "")
「ほげ
ほげ
」
↓
「ほげほげ」
748名称未設定
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
エラーが出る場合(ruby1.9以降)は$KCODE='u'の頭に#つけて。(コメントアウト)
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
エラーが出る場合(ruby1.9以降)は$KCODE='u'の頭に#つけて。(コメントアウト)
749名称未設定
2016/06/10(金) 10:39:21.65ID:+RUCD7ZN0 >>748
クリップボードに加工したいデータがあるのなら、pbpaste コマンドで ruby スクリプトの標準入力にデータを渡すべき。引数にはデータ容量の制限があるので、大きなデータの場合はエラーになる。
程度問題だけど、プロセス起動のオーバーヘッドは馬鹿にならないので、ほとんどの場合(とくに処理するデータが少ない場合)は外部コマンドを起動するよりAppleScript で閉じたほうが速い。
クリップボードに加工したいデータがあるのなら、pbpaste コマンドで ruby スクリプトの標準入力にデータを渡すべき。引数にはデータ容量の制限があるので、大きなデータの場合はエラーになる。
程度問題だけど、プロセス起動のオーバーヘッドは馬鹿にならないので、ほとんどの場合(とくに処理するデータが少ない場合)は外部コマンドを起動するよりAppleScript で閉じたほうが速い。
751名称未設定
2016/06/10(金) 11:09:32.87ID:XlL7naR70752名称未設定
2016/06/12(日) 19:21:52.55ID:VfsjxDNU0753名称未設定
2016/06/16(木) 22:26:54.48ID:oXUR4BNt0 予約語を変数名にしたら悲惨な事になるで
754名称未設定
2016/06/19(日) 12:15:13.80ID:I4OKLVqd0 (alfredとかでホットキーを登録して、)
日時をテキストで挿入できるようにしたいのですが、
set the clipboard to (do shell script "date '+%Y-%m-%d %H:%M:%S'")
ここからどうすればいいでしょう?
これをやって、
さらにコマンドV、と2段階押さないといけない。
それを一回で済ませたい
なにかいい方法があれば教えてください。
(テキストを扱うどのアプリでもできるようにしたいです)
日時をテキストで挿入できるようにしたいのですが、
set the clipboard to (do shell script "date '+%Y-%m-%d %H:%M:%S'")
ここからどうすればいいでしょう?
これをやって、
さらにコマンドV、と2段階押さないといけない。
それを一回で済ませたい
なにかいい方法があれば教えてください。
(テキストを扱うどのアプリでもできるようにしたいです)
755名称未設定
2016/06/19(日) 13:10:18.50ID:pah9kP3e0 AlfredでペーストするとこまでWorkflow組めるんじゃないの
続きは↓で
【コマンドラインランチャー】Alfredに惚れ込むスレ
http://potato.2ch.net/test/read.cgi/mac/1423312726/
AppleScriptでやるなら
tell application "System Events"
keystroke "v" using command down
end
とかでいけるけど
続きは↓で
【コマンドラインランチャー】Alfredに惚れ込むスレ
http://potato.2ch.net/test/read.cgi/mac/1423312726/
AppleScriptでやるなら
tell application "System Events"
keystroke "v" using command down
end
とかでいけるけど
756名称未設定
2016/06/19(日) 14:20:31.68ID:I4OKLVqd0 >>755
それでできるんですが
ホットキー自体がコマンドとかシフトとかと組みあわせないといけないので、
おしたら、さっと指を離すようにしないと「ペースト(コマンド+v)」にならないですね・・・
とりあえずありがとうございます
スレ違いすみませんでした
それでできるんですが
ホットキー自体がコマンドとかシフトとかと組みあわせないといけないので、
おしたら、さっと指を離すようにしないと「ペースト(コマンド+v)」にならないですね・・・
とりあえずありがとうございます
スレ違いすみませんでした
757名称未設定
2016/06/26(日) 15:07:27.61ID:150GcjU60 Macの起動項目で、アプリケーション形式にしたscriptを立ち上げているのですが
他の起動項目の一般アプリケーションより、そのスクリプトを前面に出したくて悩んだ結果、ソースの先頭に
tell application "そのスクリプト"
activate
end tell
で、前面にさせてるのですが
これだとスクリプト編集プログラムでデバッグしてるときと、アプリケーション形式に書き出したときとで
"スクリプト編集プログラム"を"そのスクリプト"に書き直さなければいけません
自分自身のことを指すmeみたいな名前で一本化できれば良いと思って探してるのですが
何か良案がありましたら、教えてください
他の起動項目の一般アプリケーションより、そのスクリプトを前面に出したくて悩んだ結果、ソースの先頭に
tell application "そのスクリプト"
activate
end tell
で、前面にさせてるのですが
これだとスクリプト編集プログラムでデバッグしてるときと、アプリケーション形式に書き出したときとで
"スクリプト編集プログラム"を"そのスクリプト"に書き直さなければいけません
自分自身のことを指すmeみたいな名前で一本化できれば良いと思って探してるのですが
何か良案がありましたら、教えてください
758名称未設定
2016/06/26(日) 15:08:34.88ID:150GcjU60 757の環境は10.9Mavericksです
759名称未設定
2016/06/26(日) 15:24:21.85ID:icb4+j3C0 tell me
if not frontmost then
-- ここに757の3行入れる
end if
end tell
とか?
if not frontmost then
-- ここに757の3行入れる
end if
end tell
とか?
760名称未設定
2016/06/26(日) 16:17:59.11ID:MDzRPSme0 tell me to activate じゃあかんのか
761名称未設定
2016/06/27(月) 00:15:21.98ID:bxICCxF00 アプリケーション形式ならactivateだけでも手前になるよ。
あと、スクリプト編集プログラムのツールバーに「アプリケーションを実行」ボタンが増えてる。
ただMavericksは無かったかも。
あと、スクリプト編集プログラムのツールバーに「アプリケーションを実行」ボタンが増えてる。
ただMavericksは無かったかも。
763名称未設定
2016/07/28(木) 08:35:37.06ID:pp5916vT0 ネットワークのフォルダのファイルを指定して開くようにしているけど、
別々の環境(自宅と職場)で50個のファイルがあるフォルダと、1000個の
ファイルがあるフォルダで表示にかかる時間がまったく違う。
これはファイルを探す時間がかかるって事?
別々の環境(自宅と職場)で50個のファイルがあるフォルダと、1000個の
ファイルがあるフォルダで表示にかかる時間がまったく違う。
これはファイルを探す時間がかかるって事?
764名称未設定
2016/07/28(木) 10:28:44.62ID:CZMUn6I+0 状況が曖昧。条件がごっちゃになってる。
単に50個と1000個の時間差の話なら、自宅と職場はどういう関係があるの?
職場では50個も1000個も差がなくて、自宅では50個と1000個に差があるって話?
どういう事にせよ、フルパス指定なら時間差なんてないような気がするが。
単に50個と1000個の時間差の話なら、自宅と職場はどういう関係があるの?
職場では50個も1000個も差がなくて、自宅では50個と1000個に差があるって話?
どういう事にせよ、フルパス指定なら時間差なんてないような気がするが。
765名称未設定
2016/07/28(木) 12:54:51.82ID:pp5916vT0 すまん どちらも環境的にはレガシーなんだけど。
職場では導入間もないので50個、画像サーバ C2D Win7 画像フォルダはシステムと同じボリューム
クライアント MDD OSX10.4
自宅では1000個 画像サーバ CD VIsta 画像フォルダはシステムと別パーテーション
クライアント C2D OSX10.6
職場では瞬時に表示されるが、自宅では6秒以上かかる。
時間ができたら職場に1000個のUSBでも挿してテストしてみる。
職場では導入間もないので50個、画像サーバ C2D Win7 画像フォルダはシステムと同じボリューム
クライアント MDD OSX10.4
自宅では1000個 画像サーバ CD VIsta 画像フォルダはシステムと別パーテーション
クライアント C2D OSX10.6
職場では瞬時に表示されるが、自宅では6秒以上かかる。
時間ができたら職場に1000個のUSBでも挿してテストしてみる。
766名称未設定
2016/07/28(木) 13:13:33.21ID:CZMUn6I+0 それだけ色々違う状況じゃ全く比較にならんと思うが。
ボードやHDDの速度も違えばネットワーク速度、OSの処理速度どれもちがうだろ。
とりあえず自宅で50個のフォルダを試した方が早いんじゃないか?
それで遅けりゃファイル数の問題じゃないって事だろ。
ボードやHDDの速度も違えばネットワーク速度、OSの処理速度どれもちがうだろ。
とりあえず自宅で50個のフォルダを試した方が早いんじゃないか?
それで遅けりゃファイル数の問題じゃないって事だろ。
767名称未設定
2016/07/28(木) 23:29:55.74ID:spKpeHA60 1000個を捨てて、50個100個150個としてみた。
快速に表示された。
異常のあるファイルが混在していたのかもしれない。
検査するユーティリティでも探してみる。
スマソ。
快速に表示された。
異常のあるファイルが混在していたのかもしれない。
検査するユーティリティでも探してみる。
スマソ。
768名称未設定
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
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
770名称未設定
2016/08/22(月) 05:48:20.56ID:Tz21TGij0 スクリプトエディタのフォーマット設定が時々デフォルトに戻っちゃんだけど、この設定ってどこに保存してあるんでしょうね?
手作業で戻すのは面倒なのでファイル差し替えで戻せると良いんだけど
手作業で戻すのは面倒なのでファイル差し替えで戻せると良いんだけど
771名称未設定
2016/08/22(月) 06:01:31.95ID:Tz21TGij0 自己解決
$HOME/Library/Preferences/com.apple.applescript.plist
のようでした
$HOME/Library/Preferences/com.apple.applescript.plist
のようでした
772名称未設定
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付加スクリプトに投げてます。
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付加スクリプトに投げてます。
773名称未設定
2016/08/23(火) 11:09:57.92ID:0A/9/lIK0 間違ってるかもしれないが、2回処理(一旦保存)しないと無理なんじゃないかな?
連続して実行しても2番目の処理しか行われないっぽい。
あと、質問するときはそのままで動く物を載せた方がいい。
連続して実行しても2番目の処理しか行われないっぽい。
あと、質問するときはそのままで動く物を載せた方がいい。
774名称未設定
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
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
775名称未設定
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付加スクリプトに投げてます。
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付加スクリプトに投げてます。
776774
2016/08/23(火) 12:53:52.23ID:6f9IVph50 もし二つのスクリプトが必要な場合、一つ目のスクリプトの最後に「保存後6px.app」に投げるを書き、
6px.appの処理の最後に「JPEGで上書き保存」を各方法を教えて頂けないでしょうか。
それも不可な場合、一つ目のスクリプトはこのままで、2つめのスクリプトの最後に「上書き保存」の記述を教えてください。。
6px.appの処理の最後に「JPEGで上書き保存」を各方法を教えて頂けないでしょうか。
それも不可な場合、一つ目のスクリプトはこのままで、2つめのスクリプトの最後に「上書き保存」の記述を教えてください。。
778774
2016/08/23(火) 13:10:30.12ID:6f9IVph50 一回目のend repeatの直後に
tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。
なにが間違ってるんでしょうか。。
tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。
なにが間違ってるんでしょうか。。
779774
2016/08/23(火) 13:10:30.46ID:6f9IVph50 一回目のend repeatの直後に
tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。
なにが間違ってるんでしょうか。。
tell application "Image Events" to launch..と続けてみましたが二回目の色指定余白しか付加できません。
なにが間違ってるんでしょうか。。
780名称未設定
2016/08/23(火) 13:26:32.34ID:rviZjxD00 所望のオプション付けた sips を一つ追加、実行すればいいんじゃないの?
782774
2016/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"←二度目処理・・
一度目は上書き保存、二度目でデスクトップに書き出しをしました。
出来れば一度目と二度目の後にデスクトップに書き出しできるドロップファイルをいじらずに済んで嬉しいんですが・・
set scriptCommand to "sips " & (quoted form of theDropItemPOSIXPath) & " -s formatOptions 100% -p " & padImageHeight & " " & padImageWidth & " --padColor FFFFFF "
do shell script scriptCommand
tell application "Image Events"←二度目処理・・
783名称未設定
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"
ちなみにquoted formは要らんよ。
set padImageHeight to padImageHeight + 6
set padImageWidth to padImageWidth + 6
do shell script "sips " & "~/Desktop/pad" & theDropItemName & " -p " & padImageHeight & " " & padImageWidth & " --padColor FF0000"
784774
2016/08/23(火) 16:38:58.45ID:6f9IVph50 >>783
ありがとうございます!30余白が従来通りデスクトップ保存、二度目に教えたいただいた物を貼り付けましたが上手く動かず。。
「デスクトップに"padファイル名.jpg"がない」?とか言われます。。
ありがとうございます!30余白が従来通りデスクトップ保存、二度目に教えたいただいた物を貼り付けましたが上手く動かず。。
「デスクトップに"padファイル名.jpg"がない」?とか言われます。。
785名称未設定
2016/08/23(火) 17:16:48.56ID:w5kLaLoU0786774
2016/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
できれば原画→枠線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
787名称未設定
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
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
788名称未設定
2016/08/23(火) 17:44:26.75ID:w5kLaLoU0 自分でアップしたものを、ちょこちょこ変更するから動かなくなる。
俺の書いた部分と自分の書いた部分の差異もわからないなら変に触らないほうがいいよ。
俺の書いた部分と自分の書いた部分の差異もわからないなら変に触らないほうがいいよ。
789名称未設定
2016/08/23(火) 17:47:21.30ID:NoSsmXKJ0 高さと幅に奇数を加えるのがモニョモニョする
790名称未設定
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
上書きしちゃうので元とっておきたいときは画像複製してからやってね
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
上書きしちゃうので元とっておきたいときは画像複製してからやってね
791774
2016/08/24(水) 12:20:13.50ID:Eu4tDqDr0792名称未設定
2016/08/24(水) 12:23:44.02ID:KUHn3SeV0 先にコピーしてから処理すればいいんじゃないの
793名称未設定
2016/08/29(月) 14:51:09.10ID:hh1Ww9bW0 ファイル名をコピー後に「A」を「B」に置換してからテキストを開いて貼り付け。
複数ファイルの場合は改行ではなくスペース区切りで貼り付けしてくれるスクリプト知ってたら教えてください!
複数ファイルの場合は改行ではなくスペース区切りで貼り付けしてくれるスクリプト知ってたら教えてください!
794名称未設定
2016/08/29(月) 15:26:57.61ID:an6yXUEQ0 ls -1 | perl -lne 's/A/B/; push @l, $_; END { print join
795名称未設定
2016/08/29(月) 15:29:36.14ID:an6yXUEQ0 ↑ 後ろ切れちゃった
ls -1 | perl -lne 's/A/B/; push @l, $_; END { print join " ", @l }' | open -f
ls -1 | perl -lne 's/A/B/; push @l, $_; END { print join " ", @l }' | open -f
796名称未設定
2016/08/29(月) 16:16:40.84ID:hh1Ww9bW0 >>795
ありがとうございます!!ただ言い忘れましたがapplescriptで教えてください!
ファイルをスクリプトアプリに入れるとそのファイル名から拡張子を除きAという文字をBに置換後に
テキスト(自分JEditです・・)が開いてそこにペーストされるという感じです!
ありがとうございます!!ただ言い忘れましたがapplescriptで教えてください!
ファイルをスクリプトアプリに入れるとそのファイル名から拡張子を除きAという文字をBに置換後に
テキスト(自分JEditです・・)が開いてそこにペーストされるという感じです!
798名称未設定
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
複数ファイル渡すと別々に分かれることがある(理由不明)
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
799名称未設定
2016/08/30(火) 09:28:21.06ID:AdsaidQG0800名称未設定
2016/08/30(火) 09:37:45.71ID:+h0eq0WK0 ちょっとは自分で工夫しろよ
801名称未設定
2016/08/30(火) 10:32:40.56ID:XbvJ0yp10802名称未設定
2016/08/30(火) 16:22:49.96ID:cgL2/WZD0 ここまでおんぶにだっこで「されてしまいます!」じゃねえよ…
803名称未設定
2016/08/30(火) 18:05:45.33ID:CY0X5lu10 どう見ても丸投げなんだから自分でどうこうできるわけがない
805名称未設定
2016/08/30(火) 19:28:50.83ID:AdsaidQG0806名称未設定
2016/08/30(火) 19:31:40.88ID:PFtNseYe0 こーゆーのを、厚顔無恥っていうのか?
807名称未設定
2016/08/30(火) 19:38:21.79ID:+sIhfrvl0 可愛い子には旅をさせよ
808名称未設定
2016/09/06(火) 23:07:59.42ID:AbjjUDuP0 文字列をパースしてdateオブジェクトに変換したいのだけど、システム設定に非依存でやる方法を教えてください。
set theDateString to
set theDateString to
809名称未設定
2016/09/06(火) 23:09:51.36ID:AbjjUDuP0 文字列をパースしてdateオブジェクトに変換したいのだけど、システム設定に非依存でやる方法を教えてください
set theDateString to "2016/9/6"
set theDate to date theDateString
の時、システム設定が和暦になってると theDateは "平成2016"になってしまいます
かといって、set theDateString to "H28/9/6"とすると、システム設定が西暦の場合エラーになります
システム設定のフォーマットに依存せず、テキストから正しく日付オブジェクトに変換する方法が思いつきません。 よろしくお願いします。
set theDateString to "2016/9/6"
set theDate to date theDateString
の時、システム設定が和暦になってると theDateは "平成2016"になってしまいます
かといって、set theDateString to "H28/9/6"とすると、システム設定が西暦の場合エラーになります
システム設定のフォーマットに依存せず、テキストから正しく日付オブジェクトに変換する方法が思いつきません。 よろしくお願いします。
810名称未設定
2016/09/07(水) 00:12:26.20ID:3MTRzdxL0 和暦と西暦の変換処理を自分で書いちゃうのはダメなの?
まず、dateオブジェクト内は西暦で統一しておく
dateオブジェクトに入れる前の文字列に
昭和とか平成、Hの文字が入っていないかチェックする処理
→入っていなくて年の部分が4文字なら西暦と見なしてdateオブジェクト化
→入っていた時は和暦→西暦変換の処理をしたあとdateオブジェクト化
で、dateオブジェクトから日時を取り出して使う際に、
西暦のまま取り出すか、和暦に変換して取り出すか、
フラグでも立てて分岐する処理を書いておく
江戸時代とか、それより前の日付も対象になるなら、
その分チェック対象のリスト(配列)も用意しないとダメで
面倒そうだけども…
まず、dateオブジェクト内は西暦で統一しておく
dateオブジェクトに入れる前の文字列に
昭和とか平成、Hの文字が入っていないかチェックする処理
→入っていなくて年の部分が4文字なら西暦と見なしてdateオブジェクト化
→入っていた時は和暦→西暦変換の処理をしたあとdateオブジェクト化
で、dateオブジェクトから日時を取り出して使う際に、
西暦のまま取り出すか、和暦に変換して取り出すか、
フラグでも立てて分岐する処理を書いておく
江戸時代とか、それより前の日付も対象になるなら、
その分チェック対象のリスト(配列)も用意しないとダメで
面倒そうだけども…
811名称未設定
2016/09/07(水) 00:30:52.68ID:3MTRzdxL0 ちなみに自分の場合、
set theDate to current date
set (year of theDate) to 1999
こんな感じで、current date でdateオブジェクトをまず作っちゃって、
そのあと必要に応じて年月日を変更する形でやってて、
西暦しか使えないと思ってました…
>>809みたいな書き方すると、"2016/9/6" を直接
dateオブジェクト化したりできたんですね…
set theDate to current date
set (year of theDate) to 1999
こんな感じで、current date でdateオブジェクトをまず作っちゃって、
そのあと必要に応じて年月日を変更する形でやってて、
西暦しか使えないと思ってました…
>>809みたいな書き方すると、"2016/9/6" を直接
dateオブジェクト化したりできたんですね…
812名称未設定
2016/09/07(水) 02:10:58.49ID:GDz+ptgZ0 >>809
かんたんかんたん
set theCommand to "date +%Y/%m/%d"
set theDateString to do shell script theCommand
set theDate to date theDateString
かんたんかんたん
set theCommand to "date +%Y/%m/%d"
set theDateString to do shell script theCommand
set theDate to date theDateString
813名称未設定
2016/09/07(水) 02:17:43.35ID:GDz+ptgZ0 あ、上のは検証してないんで一応補足しておくけど、もし年/月/日の並びがだめぽな
環境があるなら>>811のような定番の方法を使ってそれぞれ別個に定義してやればよい
e.g.
set theDate to current date
set theYearString to do shell script "date +%Y"
set (year of theDate) to theYearString
...
環境があるなら>>811のような定番の方法を使ってそれぞれ別個に定義してやればよい
e.g.
set theDate to current date
set theYearString to do shell script "date +%Y"
set (year of theDate) to theYearString
...
814名称未設定
2016/09/07(水) 04:47:46.77ID:3MTRzdxL0 OS10.9以上なら、Rubyのdateオブジェクトで西暦和暦変換ができるみたいです
ただ、和暦はドット区切り、西暦はスラッシュ区切り固定のようなので、
入力する日付を自分でその形式に変換しておく必要あり
(AppleScript's text item delimiters とif文を組み合わせればできる)
というか、本題からズレてたらすいません…
--和暦→西暦変換(ドット区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateStringJp to "S10.9.6"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateStringJp & "\").strftime(\"%Y/%m/%d\")"
set theDateString to do shell script "ruby -Ku -e " & quoted form of theRubyScript
--西暦→和暦変換(スラッシュ区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateString to "1935/09/06"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateString & "\").jisx0301"
set theDateStringJp to do shell script "ruby -Ku -e " & quoted form of theRubyScript
ただ、和暦はドット区切り、西暦はスラッシュ区切り固定のようなので、
入力する日付を自分でその形式に変換しておく必要あり
(AppleScript's text item delimiters とif文を組み合わせればできる)
というか、本題からズレてたらすいません…
--和暦→西暦変換(ドット区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateStringJp to "S10.9.6"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateStringJp & "\").strftime(\"%Y/%m/%d\")"
set theDateString to do shell script "ruby -Ku -e " & quoted form of theRubyScript
--西暦→和暦変換(スラッシュ区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateString to "1935/09/06"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateString & "\").jisx0301"
set theDateStringJp to do shell script "ruby -Ku -e " & quoted form of theRubyScript
815名称未設定
2016/09/07(水) 08:09:40.71ID:3MTRzdxL0 >>809
set theDateString to "2016/9/6"
set theDate to date theDateString
set yearString to characters 1 thru 4 of theDateString as text
set (year of theDate) to yearString
log theDate
やっつけ仕事っぽいけど、
システムの設定が和暦だろうが西暦だろうが、
theDateStringの最初の4文字を切り出して
dateオブジェクト「theDate」のyearに代入しちゃえば、
西暦2016年(和暦表記だと平成28年)に上書きできますた
set theDateString to "2016/9/6"
set theDate to date theDateString
set yearString to characters 1 thru 4 of theDateString as text
set (year of theDate) to yearString
log theDate
やっつけ仕事っぽいけど、
システムの設定が和暦だろうが西暦だろうが、
theDateStringの最初の4文字を切り出して
dateオブジェクト「theDate」のyearに代入しちゃえば、
西暦2016年(和暦表記だと平成28年)に上書きできますた
816名称未設定
2016/09/07(水) 11:05:58.56ID:FhgBYBLX0 平成やHの文字が出てくると決めつけてるとすぐ使えなくなる可能性が…
817名称未設定
2016/09/07(水) 11:31:39.64ID:ngYUIGtT0818名称未設定
2016/09/07(水) 11:41:37.76ID:CoRxCYwF0 新年号なんだろうな?
819名称未設定
2016/09/17(土) 05:04:41.42ID:WAphUahl0 入力時点で表記を統一させるか、例外な表記は統一する関数でも書けよ
820名称未設定
2016/09/18(日) 17:17:15.66ID:P6TC9ipg0 image eventsで適当な画像をpictで保存したいのですがerror 1708がでてうまくいきません.
どのようにしたらいいでしょうか??
set afile to choose file
set adesk to (path to desktop) as text
tell application "Image Events"
launch
set the_image to open afile
try
save the_image as PICT in (file (adesk & "a.pict"))
end try
close the_image
end tell
どのようにしたらいいでしょうか??
set afile to choose file
set adesk to (path to desktop) as text
tell application "Image Events"
launch
set the_image to open afile
try
save the_image as PICT in (file (adesk & "a.pict"))
end try
close the_image
end tell
821名称未設定
2016/09/18(日) 18:54:18.94ID:ZyunKvGT0 pictは扱えなさそうな感じ
代わりにsipsコマンドでやると Error: Unsupported output format com.apple.pict
代わりにsipsコマンドでやると Error: Unsupported output format com.apple.pict
822名称未設定
2016/09/18(日) 22:05:15.44ID:RKOguUii0 標準のコマンドがダメなら brew install imagemagick して
convert コマンドを使う手もある
ImageMagick は PICT 形式に対応してるよ
ちなみに今時 PICT って何に使うんだい
convert コマンドを使う手もある
ImageMagick は PICT 形式に対応してるよ
ちなみに今時 PICT って何に使うんだい
823名称未設定
2016/09/19(月) 22:57:57.88ID:9rn6DICs0 過去スレでiTunesのアートワークとして画像を差し込む方法が載っていたのでその通りにやってみました.
そこでは一度,画像データをpictに変換し,data of artwork に入れていました.
そこでは一度,画像データをpictに変換し,data of artwork に入れていました.
824名称未設定
2016/09/19(月) 23:29:01.85ID:9rn6DICs0 お騒がせしましたiTunes10.2から仕様が変わっていたのですね,,,
tell application "iTunes" to set data of artwork 1 of theTrack to (read (file targetImageFile) as picture)
これでできそうですね.
tell application "iTunes" to set data of artwork 1 of theTrack to (read (file targetImageFile) as picture)
これでできそうですね.
825名称未設定
2016/09/20(火) 01:57:42.90ID:0AeGId/70 そういうのは最初からやりたいことを全部言ったほうがいい
質問がズレてると回答もズレちまってお互い時間の無駄だ
質問がズレてると回答もズレちまってお互い時間の無駄だ
826名称未設定
2016/11/08(火) 18:08:26.81ID:iTLgand+0 automatorで、上のメニューバーにはあるけどショートカットコマンドが与えられてない項目のショートカットを作りたいのですが、
自動記録したものを走らせてもエラーが出て動きません。
どのようなApple script を書けばいいか教えてください。
(例えばChromeの「ズーム」をショートカットにしたい場合)
自動記録したものを走らせてもエラーが出て動きません。
どのようなApple script を書けばいいか教えてください。
(例えばChromeの「ズーム」をショートカットにしたい場合)
827名称未設定
2016/11/08(火) 18:09:54.47ID:iTLgand+0 on run {input, parameters}
-- ズーム
set timeoutSeconds to 2.0
set uiScript to "click menu item 3 of menu 1 of menu bar item 9 of menu bar 1 of application process \"Chrome\""
my doWithTimeout(uiScript, timeoutSeconds)
return input
end run
on doWithTimeout(uiScript, timeoutSeconds)
set endDate to (current date) + timeoutSeconds
repeat
try
run script "tell application \"System Events\"
" & uiScript & "
end tell"
exit repeat
on error errorMessage
if ((current date) > endDate) then
error "Can not " & uiScript
end if
end try
end repeat
end doWithTimeout
記録したものはこんな感じです。
-- ズーム
set timeoutSeconds to 2.0
set uiScript to "click menu item 3 of menu 1 of menu bar item 9 of menu bar 1 of application process \"Chrome\""
my doWithTimeout(uiScript, timeoutSeconds)
return input
end run
on doWithTimeout(uiScript, timeoutSeconds)
set endDate to (current date) + timeoutSeconds
repeat
try
run script "tell application \"System Events\"
" & uiScript & "
end tell"
exit repeat
on error errorMessage
if ((current date) > endDate) then
error "Can not " & uiScript
end if
end try
end repeat
end doWithTimeout
記録したものはこんな感じです。
828名称未設定
2016/11/08(火) 18:21:06.15ID:EWXVSqty0829名称未設定
2016/11/08(火) 18:59:43.47ID:BsKEIaRN0 >>828で済むならいいけど書く場合
tell application id "com.apple.systemevents"
tell application "Google Chrome" to activate --これは呼び出し方によっては不要
tell process "Google Chrome"'s first menu bar's menu bar item "ウインドウ"'s menu "ウインドウ"'s menu item "ズーム" to click
end tell
tell application id "com.apple.systemevents"
tell application "Google Chrome" to activate --これは呼び出し方によっては不要
tell process "Google Chrome"'s first menu bar's menu bar item "ウインドウ"'s menu "ウインドウ"'s menu item "ズーム" to click
end tell
830名称未設定
2016/11/18(金) 11:32:35.49ID:tGiTS7790 AppleScript他自動化ツールはこの先どうなる
https://www.macintouch.com/forums/showthread.php?tid=1189
Apple dumps Sal Soghoian, who gave us Mac automation tools
https://www.macintouch.com/forums/showthread.php?tid=1189
Apple dumps Sal Soghoian, who gave us Mac automation tools
831名称未設定
2016/11/18(金) 11:49:53.23ID:0sQ3zW0a0 いつの間にかiTunesでdisplay dialogとdisplay alertのcancel buttonが効かなくなってる
832名称未設定
2016/11/18(金) 15:06:19.50ID:FWfCUeTi0833名称未設定
2016/11/18(金) 21:18:06.86ID:GUceBYRw0 Rhapsody発表時にAppleScriptも廃止する予定とジョブズが言ったとたん
じゃぁもうMac使ってる意味ねーよ安いAT機買うからとプロ業界から総スカンをくらい
なんと思い直したというMac自動化の歴史も、彼なき後、遂に終焉を迎えるわけですな
じゃぁもうMac使ってる意味ねーよ安いAT機買うからとプロ業界から総スカンをくらい
なんと思い直したというMac自動化の歴史も、彼なき後、遂に終焉を迎えるわけですな
834名称未設定
2016/11/21(月) 20:23:02.65ID:7ymhH/7S0 Swiftインタプリタでなんとかしてくれるの?
835名称未設定
2016/11/21(月) 20:28:14.32ID:EK10STwB0 SwiftScriptまだ〜?
836名称未設定
2016/11/22(火) 23:21:03.30ID:ICQ6tb5N0 相談です。
最近、iTunes用の以下のスクリプトで動画ファイルの種類を変更しようとするとパラメーターのエラーです、というエラーが出てしまいます。
なぜか、TV showへの変更はうまくいき、movieやmusic videoへの変更が失敗します。
tell application "iTunes"
--return (item 1 of selection)
set video kind of (item 1 of selection) to movie
end tell
最近、iTunes用の以下のスクリプトで動画ファイルの種類を変更しようとするとパラメーターのエラーです、というエラーが出てしまいます。
なぜか、TV showへの変更はうまくいき、movieやmusic videoへの変更が失敗します。
tell application "iTunes"
--return (item 1 of selection)
set video kind of (item 1 of selection) to movie
end tell
837名称未設定
2016/11/23(水) 03:04:10.30ID:enXikOrW0 home video/movie/music video/TV show
どれに変えてもエラーにならなかった
どれに変えてもエラーにならなかった
838名称未設定
2016/11/23(水) 12:49:43.28ID:WM8UhP380 ありがとうございます。
環境依存っぽいですね。
環境依存っぽいですね。
839名称未設定
2016/11/23(水) 13:51:26.26ID:tAdkg8UK0 バージョンは? コンパイルしなおしたか? できるファイルもあるのか? 何かの tell ブロックに入れ子になってたりして用語衝突してないか?
840名称未設定
2016/11/23(水) 17:09:26.13ID:sz1Dt2/Q0 Mac OS X 10.9.5
AppleScript 2.3.2
iTunes 12.4.3.1
でした。
いくつかのファイルを試しましたが、やはりTV showへの変更しかできませんでした。
他はエラーが返ります。
「iTunesでエラーが起きました:パラメーターのエラーです」
入れ子ではなく、スクリプトエディタでそのまま実行してもエラーになります。
AppleScript 2.3.2
iTunes 12.4.3.1
でした。
いくつかのファイルを試しましたが、やはりTV showへの変更しかできませんでした。
他はエラーが返ります。
「iTunesでエラーが起きました:パラメーターのエラーです」
入れ子ではなく、スクリプトエディタでそのまま実行してもエラーになります。
841名称未設定
2016/11/23(水) 18:37:33.33ID:60Z7tgsL0 iTunes上で直接変更はできるの?
842名称未設定
2016/11/23(水) 20:59:45.08ID:sz1Dt2/Q0 はい、可能です。
今は手動でやってます。
今は手動でやってます。
843名称未設定
2016/11/24(木) 04:46:23.72ID:QhkCG5JO0 気になる話があった
http://dougscripts.com/410
Set Video Kind of Selected v5.2
WARNING: a possible bug in iTunes 12.4.1 and later prevents this script from working. Until Apple confirms and/or addresses this issue, I do not recommend using this script.
http://dougscripts.com/410
Set Video Kind of Selected v5.2
WARNING: a possible bug in iTunes 12.4.1 and later prevents this script from working. Until Apple confirms and/or addresses this issue, I do not recommend using this script.
844名称未設定
2016/11/24(木) 15:10:30.69ID:ZN/5pbPK0 Doug氏がそう言うんならそうなんだろうな
845名称未設定
2016/11/24(木) 16:39:48.30ID:5Qm7ZEkl0 原因不明で回避方法もないということでしょうか。
残念。
残念。
846名称未設定
2016/11/24(木) 17:14:49.09ID:ZN/5pbPK0 不明というか、iTunes側のバグって話かと
847名称未設定
2016/11/25(金) 14:24:33.44ID:muoB3U8+0 os 10.11です
デフォルトプリンタとデフォルトの用紙の設定をアップルスクリプトから制御したいのですが、プリンター設定ユーティリティがなくなってしまい、以前使っていたスクリプトが動かなくなりました
System Eventsからorg.cups.PrintingPrefs.plistを直接いじればいけるかなと思ったのですが、エラーになって設定できません
何かいい方法はありませんでしょうか
デフォルトプリンタとデフォルトの用紙の設定をアップルスクリプトから制御したいのですが、プリンター設定ユーティリティがなくなってしまい、以前使っていたスクリプトが動かなくなりました
System Eventsからorg.cups.PrintingPrefs.plistを直接いじればいけるかなと思ったのですが、エラーになって設定できません
何かいい方法はありませんでしょうか
848847
2016/11/25(金) 17:43:59.31ID:muoB3U8+0 shell script でデフォルトのプリンターの変更ができるものを検索して見つけました
ですがデフォルト用紙は見つけられませんでした…
ですがデフォルト用紙は見つけられませんでした…
849名称未設定
2016/11/26(土) 04:23:35.33ID:VhEWogO40 defaults write org.cups.PrintingPrefs DefaultPaperID "iso-a4"
とかで行けるっぽいよ
参 http://themacadmin.com/mavericks-updatesetting-a-default-paper-size/
10.12でも行けた
とかで行けるっぽいよ
参 http://themacadmin.com/mavericks-updatesetting-a-default-paper-size/
10.12でも行けた
850847
2016/11/28(月) 09:10:20.17ID:WITPAloA0851名称未設定
2016/12/02(金) 22:24:00.84ID:iTWJ/avd0 最近気付いたこと。
InDesignの変形でのabsoluteは実態はrelativeだったこと。
真っ青になってこっそり書き換え中。
InDesignの変形でのabsoluteは実態はrelativeだったこと。
真っ青になってこっそり書き換え中。
852名称未設定
2016/12/19(月) 14:39:19.62ID:dcVzYH3U0 たしかに
853名称未設定
2017/01/20(金) 17:10:03.17ID:52ZJAtjC0 あけおめ
854名称未設定
2017/01/20(金) 19:02:55.98ID:MR83okhh0 良いお年を〜
855名称未設定
2017/01/22(日) 15:50:43.50ID:0xkJ26tQ0 質問です
コトノコという辞書アプリで「単語」という言葉を調べたいとき、
tell application "kotonoko"
activate
set searchword to "単語"
end tell
ではうまくいかないです
set searchword to ""
じゃなくて、なにか別なのあるのでしょうか?
わかるかたいたら教えてください
コトノコという辞書アプリで「単語」という言葉を調べたいとき、
tell application "kotonoko"
activate
set searchword to "単語"
end tell
ではうまくいかないです
set searchword to ""
じゃなくて、なにか別なのあるのでしょうか?
わかるかたいたら教えてください
856名称未設定
2017/01/22(日) 16:11:31.04ID:td2KFX3W0 用語説明を開いて調べた方がいいんじゃないの
857名称未設定
2017/01/23(月) 00:15:44.76ID:WyTEuYSu0858名称未設定
2017/01/23(月) 10:23:28.37ID:ujaelEHZ0 頭悪すぎるよなw
俺も知らないバージョンか同名アプリなんだろうw
俺も知らないバージョンか同名アプリなんだろうw
859名称未設定
2017/01/24(火) 00:06:20.84ID:vmSJnrn50 GUI scriptingくらいヒントとして教えてやれよ。
860名称未設定
2017/01/24(火) 10:04:39.57ID:aDsRhBS90 じゃあお前最後まで面倒見てやれよ
861名称未設定
2017/01/24(火) 10:33:18.85ID:t9dG5KJK0 はい。(´・ω・`)
862名称未設定
2017/01/24(火) 10:37:00.51ID:O0Kd4L+D0 PreFab Player使えばいいんじゃね?
863名称未設定
2017/01/24(火) 12:06:36.92ID:75F0HRla0 ふと思い出したけどQuickeysってどうなってる?
864sage
2017/01/24(火) 13:15:59.08ID:Dbp78suS0 AppleScriptをJavascriptに変換するソフトはありますか?
100%変換しなくても80%程度変換してもらえれば
後の手作業が楽になるので。
100%変換しなくても80%程度変換してもらえれば
後の手作業が楽になるので。
865名称未設定
2017/01/29(日) 11:29:22.45ID:WKy5QlLf0 助言を下さい。
10.11まで動かせていたgui script applicationを、10.12に対応させられず苦労しています。
developerIDは持ってないので、自分環境専用です。調べた範囲ではこれ以上は見つかりませんでした。
これまで試したこと
1.
xattr -cr guiスクリプト名.app
2.
chmod a-w guiスクリプト名.app/Contents/Resources/Scripts/main.scpt
3.
codesign -s - -i com.apple.ScriptEditor.id.guiスクリプト名 -f guiスクリプト名.app
4.
セキュリティとプライバシー/プライバシー/アクセシビリティにて、guiスクリプト名.appを追加
これで、実行すると
System Eventsでエラーが起きました:guiスクリプト名には補助アクセスは許可されません。(-1719)
となります。
10.11まで動かせていたgui script applicationを、10.12に対応させられず苦労しています。
developerIDは持ってないので、自分環境専用です。調べた範囲ではこれ以上は見つかりませんでした。
これまで試したこと
1.
xattr -cr guiスクリプト名.app
2.
chmod a-w guiスクリプト名.app/Contents/Resources/Scripts/main.scpt
3.
codesign -s - -i com.apple.ScriptEditor.id.guiスクリプト名 -f guiスクリプト名.app
4.
セキュリティとプライバシー/プライバシー/アクセシビリティにて、guiスクリプト名.appを追加
これで、実行すると
System Eventsでエラーが起きました:guiスクリプト名には補助アクセスは許可されません。(-1719)
となります。
866名称未設定
2017/01/29(日) 13:31:25.37ID:ivFV2MIT0 1.〜3.って必要なの?
アプリで保存して4.だけでいけるけど
実行専用で保存しても4.だけ
アプリで保存して4.だけでいけるけど
実行専用で保存しても4.だけ
867名称未設定
2017/01/29(日) 16:38:25.66ID:4Zu53BEN0 >>865
*まず、これまでとは異なるアプリケーションと認識されるように新規書類作成⇒ソースコピペで別名の.appを作成します
*次に1〜4の操作は*せずに*.appを起動します。「許可されません」ダイアログが出るでしょう
*その結果シス環アクセシビリティのリストにチェックが外れた状態で新しい.appが載ったはず
*そのチェックを入れてシス環を閉じ、もう一度.appを起動
これでどうかな?
*まず、これまでとは異なるアプリケーションと認識されるように新規書類作成⇒ソースコピペで別名の.appを作成します
*次に1〜4の操作は*せずに*.appを起動します。「許可されません」ダイアログが出るでしょう
*その結果シス環アクセシビリティのリストにチェックが外れた状態で新しい.appが載ったはず
*そのチェックを入れてシス環を閉じ、もう一度.appを起動
これでどうかな?
868名称未設定
2017/01/29(日) 19:16:38.24ID:WKy5QlLf0 >866-867
動きました。ありがとうございました。
以前のOSXの時にこの手のcodesign関連手順を踏まないと動かないと記憶していたんですが、自分で使う分にはいらなかったんですね。
大体OSアップグレードのたびにこの手の試行錯誤してたのがバカみたい...
動きました。ありがとうございました。
以前のOSXの時にこの手のcodesign関連手順を踏まないと動かないと記憶していたんですが、自分で使う分にはいらなかったんですね。
大体OSアップグレードのたびにこの手の試行錯誤してたのがバカみたい...
869名称未設定
2017/02/04(土) 11:24:47.26ID:ZlWYx5rz0 どうやってみんなはAppleScript覚えたの?
870名称未設定
2017/02/04(土) 18:12:07.11ID:8/+Y2Wh60 テキストエディタのマクロを改造することから始めて、
ファイルドロップでファイル名を変える、とかの
Finder操作系に徐々に手を広げていった感じ
もうネットがある時代だったから、
文法とかはググって覚えた
最近は、AppleScriptの処理の遅さや
機能の貧弱さが気になりだして、
ダイアログなんかのインターフェースだけ
AppleScriptで作って、中身はだいたいRubyに投げるように
なってきちゃった
ファイルドロップでファイル名を変える、とかの
Finder操作系に徐々に手を広げていった感じ
もうネットがある時代だったから、
文法とかはググって覚えた
最近は、AppleScriptの処理の遅さや
機能の貧弱さが気になりだして、
ダイアログなんかのインターフェースだけ
AppleScriptで作って、中身はだいたいRubyに投げるように
なってきちゃった
871名称未設定
2017/02/05(日) 01:01:57.57ID:Tos4a9S+0 ネットのない時代は大変だった。
AppleScript道入門という本にAppleScript日本語版がバンドルされていて、それを自分で組み込んで使って勉強した。
インターネットはまだ日本に上陸していなかった。
ひたすらトライアンドエラーだった。
AppleScript道入門という本にAppleScript日本語版がバンドルされていて、それを自分で組み込んで使って勉強した。
インターネットはまだ日本に上陸していなかった。
ひたすらトライアンドエラーだった。
872名称未設定
2017/02/05(日) 02:19:53.02ID:ZaqFZUa40 TAO of AppleScript、原書で買ったなあ
ミニミニリファレンスは開きすぎて分解しちゃった
ミニミニリファレンスは開きすぎて分解しちゃった
873名称未設定
2017/02/05(日) 04:14:23.45ID:b5zj9RT50 月刊MAC POWERだったかな。AppleScript講座の連載やってたな。
874869
2017/02/05(日) 08:14:26.18ID:TRL4BVZg0 すげーーなおっさん達
マジそうゆうとこ見習わないと
楽に取得する方法なんてなかった…1から勉強します
マジそうゆうとこ見習わないと
楽に取得する方法なんてなかった…1から勉強します
875名称未設定
2017/02/05(日) 11:03:52.13ID:W7vZBcxp0 俺はまだおっさんじゃないけど
>>1に挙がってる日本語サイトだけでもそこそこ組めるようになるよ
基本がわかったら後はやりたいことをどうやって実現するか
目的ごとに地道に調べるだけでしょ。その過程で英語情報の使い方も自ずとわかってくる
>>1に挙がってる日本語サイトだけでもそこそこ組めるようになるよ
基本がわかったら後はやりたいことをどうやって実現するか
目的ごとに地道に調べるだけでしょ。その過程で英語情報の使い方も自ずとわかってくる
876名称未設定
2017/02/05(日) 11:28:43.92ID:b6zU4uPZ0 >>874
AppleScriptって、頑張って勉強して覚えるタイプの
言語じゃない気がする
「毎回やってるこの処理、自動化できたら楽なのに!」
って状況があって、その処理がAppleScriptでできないかググる
→それっぽいサンプルが見つかる
大抵、サンプルは自分のやりたいこととちょっと違うので、
いくつかのサンプルの使えそうな部分を組み合わせて動くまで頑張る
「できたっ! なにこれ、超便利! じゃあ、あの処理も自動化できるかも!」
って、なにもわざわざAppleScriptでやらなくても…という細かい処理まで
スクリプトを組んでやるようになる
→気がつくと基本的な文法を覚えてて、簡単な処理なら自分で書けるように
自分はこんな感じだった
うまく動かなくて試行錯誤してる間はそれなりにつらいけれども、
やりたいことができた時の喜びで吹っ飛ぶので、苦労した記憶は残らない
AppleScriptって、頑張って勉強して覚えるタイプの
言語じゃない気がする
「毎回やってるこの処理、自動化できたら楽なのに!」
って状況があって、その処理がAppleScriptでできないかググる
→それっぽいサンプルが見つかる
大抵、サンプルは自分のやりたいこととちょっと違うので、
いくつかのサンプルの使えそうな部分を組み合わせて動くまで頑張る
「できたっ! なにこれ、超便利! じゃあ、あの処理も自動化できるかも!」
って、なにもわざわざAppleScriptでやらなくても…という細かい処理まで
スクリプトを組んでやるようになる
→気がつくと基本的な文法を覚えてて、簡単な処理なら自分で書けるように
自分はこんな感じだった
うまく動かなくて試行錯誤してる間はそれなりにつらいけれども、
やりたいことができた時の喜びで吹っ飛ぶので、苦労した記憶は残らない
877名称未設定
2017/02/05(日) 11:34:51.80ID:W7vZBcxp0 そうだよね。有名言語は言語を知ってること自体に価値があるけどASはそうじゃない
もっと身近で、対症療法的に使いながら覚えていくものだよね
もっと身近で、対症療法的に使いながら覚えていくものだよね
878名称未設定
2017/02/05(日) 22:51:55.72ID:Xb7bVEd50 むかしは、AppleScript対応アプリケーションが多かったからマウス操作の自動記録でスラスラとScriptが自動生成されてたから、それでファインダ操作やアプリケーション内の操作のサンプルが取れて
スクリプトの最適化とか改造で覚えやすかったんだけどね
Excel立ち上げて、セル操作して数式入力
それらをAppleScriptでやれたから楽だった
それが今では自動記録がうまく動いてくれない
Autometerも中身はAppleScriptみたいなものなんでしょ?
スクリプトの最適化とか改造で覚えやすかったんだけどね
Excel立ち上げて、セル操作して数式入力
それらをAppleScriptでやれたから楽だった
それが今では自動記録がうまく動いてくれない
Autometerも中身はAppleScriptみたいなものなんでしょ?
879名称未設定
2017/02/06(月) 07:19:12.26ID:OwbhFoed0 今も自動記録は使える気がするが、具体的に何ができなくなってる?
880名称未設定
2017/02/07(火) 01:05:15.09ID:5n8Mf6Us0882名称未設定
2017/02/18(土) 22:48:19.52ID:G4+IScJH0 初めまして。クリップボードを拡張するソフトを作りたいと考えました。
今の所これでキーを打てるのはわかりました。
tell application "System Events"
keystroke down command
keystroke up command
end tell
が、押されている装飾キーを取得するにはどうすればいいのでしょうか?
お助けください。
今の所これでキーを打てるのはわかりました。
tell application "System Events"
keystroke down command
keystroke up command
end tell
が、押されている装飾キーを取得するにはどうすればいいのでしょうか?
お助けください。
883名称未設定
2017/02/18(土) 23:47:12.63ID:qHdDG3B70 >押されている修飾キーを取得
https://discussionsjapan.apple.com/thread/10151030
修飾キーを押した状態で何か入力したいのなら
keystroke “c” using command down
でコピーとか
keystroke “ac” using command down
で全てを選択してコピーとか
keystroke じゃなくて key codeってのも使える。
key code(8) using command down
key codeは文字以外のキーも使える。
コード番号はmac key codeとかでググれば出てくるよ。
修飾キーが複数組み合わさる場合は
using {command down, shift down}
のようにすればOK
(keystrokeは大文字で書いてshiftキー押した状態の入力にすることも可能)
https://discussionsjapan.apple.com/thread/10151030
修飾キーを押した状態で何か入力したいのなら
keystroke “c” using command down
でコピーとか
keystroke “ac” using command down
で全てを選択してコピーとか
keystroke じゃなくて key codeってのも使える。
key code(8) using command down
key codeは文字以外のキーも使える。
コード番号はmac key codeとかでググれば出てくるよ。
修飾キーが複数組み合わさる場合は
using {command down, shift down}
のようにすればOK
(keystrokeは大文字で書いてshiftキー押した状態の入力にすることも可能)

詳しくありがとうございます!
ですが教えてもらったurlのrubyが動かずで・・
具体的にはcapsロックがオンのとき、
数字キーでペースト、command+数字キーでコピーするソフトを考えていたのですがAppleScriptで作るのは難しいでしょうか・・?
親切に漬け込んでいてすみません
885名称未設定
2017/02/19(日) 09:09:13.32ID:JTN2GxVk0 サンプルのコードとかでhogeってのを見るけど何故にhoge使うの?⚪︎とか△ではあかんの?
アホな質問でごめん
アホな質問でごめん
886名称未設定
2017/02/19(日) 10:59:15.00ID:AMvGzm3X0 色々初めてっぽそうなのにそんなあっさり出来たら苦労しないよ
じっくり漬け込まないと、時間かけて
じっくり漬け込まないと、時間かけて
887名称未設定
2017/02/19(日) 19:05:55.34ID:h2sgOzYO0 >>885
ものごとをホゲホゲと表現するのがカッコいいと思ったダセークソオタクが始めやがって
無反省にそれを受け入れ、さらに広めたバカなクソオタクどもがうじゃうじゃ居たからなんだぜ
初めて見るやつにとっては、ホゲとかフーバーとか意味不明だしバカジャネーノ?の一言だよな
ひねりもなにもないけど、変数123とか定数ABCとか名付ければ、第三者にも分かりやすいのにな
あんさんの言うとおり、マルでもサンカクでも良いんだぜ!
今もそうなのかはわからんけど、昔のアンク氏のHTML辞典などではそういう表現をしていて、私としては好感が持てたな
ものごとをホゲホゲと表現するのがカッコいいと思ったダセークソオタクが始めやがって
無反省にそれを受け入れ、さらに広めたバカなクソオタクどもがうじゃうじゃ居たからなんだぜ
初めて見るやつにとっては、ホゲとかフーバーとか意味不明だしバカジャネーノ?の一言だよな
ひねりもなにもないけど、変数123とか定数ABCとか名付ければ、第三者にも分かりやすいのにな
あんさんの言うとおり、マルでもサンカクでも良いんだぜ!
今もそうなのかはわからんけど、昔のアンク氏のHTML辞典などではそういう表現をしていて、私としては好感が持てたな
888名称未設定
2017/02/19(日) 20:56:09.70ID:JTN2GxVk0 へぇーそういう歴史があったのか
hogeってなにかの頭文字かと思ってたけど
1人が言い始めたのが流行っただけだったんやww
hogeってなにかの頭文字かと思ってたけど
1人が言い始めたのが流行っただけだったんやww
891名称未設定
2017/02/21(火) 00:32:39.46ID:gphoZadF0893名称未設定
2017/02/21(火) 16:15:18.04ID:/M36k0iH0 俺もhogeやfoobar嫌い
無駄に業界用語とかビジネス用語多用する人と同じ方向性を感じる
無駄に業界用語とかビジネス用語多用する人と同じ方向性を感じる
894名称未設定
2017/02/21(火) 17:08:28.68ID:JRq74LQc0 業界用語なんて大げさな
それ使っておけばいいというのが楽だから皆使ってるんじゃないの
それ使っておけばいいというのが楽だから皆使ってるんじゃないの
895名称未設定
2017/02/21(火) 17:12:23.99ID:bG7S9Xkp0 hageのほうがいい
896名称未設定
2017/02/21(火) 17:13:47.34ID:jfmoKTXy0 ほにゃららを多用するよりまし
897名称未設定
2017/02/21(火) 18:16:05.67ID:hlKC2Ktr0 >>896
あー、私もホニャララ大嫌い
世界一受けたい授業というテレビ番組を観ていると、ホニャララが多すぎてげんなりする
不明確、不特定なものごとをどのように表現すべきかは悩ましいところだよな
「なにがし」以外にも分かりやすい言葉があれば良いな
あー、私もホニャララ大嫌い
世界一受けたい授業というテレビ番組を観ていると、ホニャララが多すぎてげんなりする
不明確、不特定なものごとをどのように表現すべきかは悩ましいところだよな
「なにがし」以外にも分かりやすい言葉があれば良いな
898名称未設定
2017/02/21(火) 19:27:32.79ID:Rvqi1a1W0 ほにゃららって、〜を読んでいるだけだよね。
目くじら立てるほどのことかなあ?
AppleScriptでは使わないけどね。
hogeとかは予約語とかぶる心配がないから都合が良いんだろう。
文字数が多いので多用すると面倒そう。
目くじら立てるほどのことかなあ?
AppleScriptでは使わないけどね。
hogeとかは予約語とかぶる心配がないから都合が良いんだろう。
文字数が多いので多用すると面倒そう。
899名称未設定
2017/02/21(火) 19:58:02.09ID:qf3U6U1S0 >>898
まぁ言われてみれば、そこまで嫌うほどのものでなもなかったね
ごめんね(*´・ω・)(・ω・`*)
私としてはhogeよりもpiyoのほうが可愛くて好きだけど、右手の小指と中指を伸ばして入力するのがめんどくさいのが難点かな
まぁ言われてみれば、そこまで嫌うほどのものでなもなかったね
ごめんね(*´・ω・)(・ω・`*)
私としてはhogeよりもpiyoのほうが可愛くて好きだけど、右手の小指と中指を伸ばして入力するのがめんどくさいのが難点かな
900名称未設定
2017/02/21(火) 21:21:22.33ID:c07pXrAY0 ほめばげ
901名称未設定
2017/02/21(火) 23:16:54.00ID:4kOCPwAT0 俺はhogeよりもhage派
902名称未設定
2017/02/23(木) 07:27:01.55ID:f78VjTtz0 打ちやすそうでいいね。
でも、エラーが出た時に、ハゲが定義されていませんとか表示されると想像すると、ちょつと躊躇する。
でも、エラーが出た時に、ハゲが定義されていませんとか表示されると想像すると、ちょつと躊躇する。
903名称未設定
2017/02/23(木) 19:27:23.17ID:+sWj+QGX0 髪の毛がありません(エラー4949)
904名称未設定
2017/02/23(木) 20:25:15.18ID:g52Fob1x0 山田くーん
905名称未設定
2017/02/23(木) 20:38:52.44ID:JV8Ry8/Y0 残ってる髪の毛全部抜いてあげてー
907名称未設定
2017/02/25(土) 22:49:52.87ID:1G+hzadu0 |
| 彡⌒ミ
\ (´・ω・`)また髪の話してる
(| |)::::
(γ /:::::::
し \:::
\
| 彡⌒ミ
\ (´・ω・`)また髪の話してる
(| |)::::
(γ /:::::::
し \:::
\
908名称未設定
2017/02/27(月) 21:29:30.69ID:jEA9HVwo0 作ったスクリプトを直接、Automator、
Alfred、Keyboard Maestroから動かすと
動かない、動きが変わる、動きが遅いなど
それぞれに違いが出ますね。難しい。
今日はAlfredがハンドラのところで
止まってしまいました。
あとAutomatorだと起動に時間がかかるのは
そんなものですか?
Alfred、Keyboard Maestroから動かすと
動かない、動きが変わる、動きが遅いなど
それぞれに違いが出ますね。難しい。
今日はAlfredがハンドラのところで
止まってしまいました。
あとAutomatorだと起動に時間がかかるのは
そんなものですか?
909名称未設定
2017/03/01(水) 02:07:15.84ID:9hpvaXhO0 質問です。
do shell script からPythonを動かす時につける「-c」って
どういう意味があるのですか?
-c以外もあるんですか?
pythonを使っている方がいたらよろしくお願いします。
do shell script からPythonを動かす時につける「-c」って
どういう意味があるのですか?
-c以外もあるんですか?
pythonを使っている方がいたらよろしくお願いします。
910名称未設定
2017/03/01(水) 02:27:25.97ID:sHurp95n0 ターミナルでman python2.7くらいしろよ
COMMAND LINE OPTIONS
-c command
Specify the command to execute (see next section). This termi-
nates the option list (following options are passed as arguments
to the command).
COMMAND LINE OPTIONS
-c command
Specify the command to execute (see next section). This termi-
nates the option list (following options are passed as arguments
to the command).
911名称未設定
2017/03/01(水) 21:58:22.85ID:9hpvaXhO0912名称未設定
2017/03/02(木) 00:20:38.96ID:C1xnLsj40 910はぶっきらぼうだけど優しい奴だな
913名称未設定
2017/03/08(水) 22:22:26.01ID:59BN6uhm0 久しぶりにドロップレットち作ろうかと思ったら書き方忘れてたw
1時間もかかったよ、非効率化だー
1時間もかかったよ、非効率化だー
914名称未設定
2017/03/08(水) 22:29:50.60ID:nROONUNy0 あるあるw
自動化せずに手動のほうが早かったんじゃねってことけっこうあるけど
楽しかったし勉強になったから……と納得することにしてる
自動化せずに手動のほうが早かったんじゃねってことけっこうあるけど
楽しかったし勉強になったから……と納得することにしてる
915名称未設定
2017/03/09(木) 01:19:44.16ID:8eGoFs150 on drop droppedItems
end
とか書いてコンパイル通らず、ググったことあったわw
end
とか書いてコンパイル通らず、ググったことあったわw
917名称未設定
2017/03/09(木) 11:55:01.56ID:r10Q2kpv0 表示しているウィンドウを画面の中央に移動するAppleScript教えてください
検索して以下を試してみたけどSierraでは動かなかったです・・・
tell application "Finder" to set ScreenSz to bounds of window of desktop --- ディスプレイの解像度を取得する。
tell ScreenSz to set {ScreenSz3, ScreenSz4} to {item 3, item 4}
tell application "System Events"
set ActApp to name of every process whose frontmost is true --- アクティブなアプリを取得する。
set ActApp to item 1 of ActApp
tell process ActApp
tell window 1
set CurentSz to size --- アクティブなウインドウの縦横のサイズを取得する。
set x to (ScreenSz3 - (item 1 of CurentSz)) / 2
set y to (ScreenSz4 - (item 2 of CurentSz)) / 2
set position to {x, y} --- ウインドウの位置を移動する。
end tell
end tell
end tell
検索して以下を試してみたけどSierraでは動かなかったです・・・
tell application "Finder" to set ScreenSz to bounds of window of desktop --- ディスプレイの解像度を取得する。
tell ScreenSz to set {ScreenSz3, ScreenSz4} to {item 3, item 4}
tell application "System Events"
set ActApp to name of every process whose frontmost is true --- アクティブなアプリを取得する。
set ActApp to item 1 of ActApp
tell process ActApp
tell window 1
set CurentSz to size --- アクティブなウインドウの縦横のサイズを取得する。
set x to (ScreenSz3 - (item 1 of CurentSz)) / 2
set y to (ScreenSz4 - (item 2 of CurentSz)) / 2
set position to {x, y} --- ウインドウの位置を移動する。
end tell
end tell
end tell
918名称未設定
2017/03/09(木) 12:37:59.16ID:299t67qt0 スクリプトメニューからやってみたら動くようだけどSierraで
Safari、TextEdit、Preview、Firefox等々
やってないけどAlfredとかからでも動くんじゃなあい?
Safari、TextEdit、Preview、Firefox等々
やってないけどAlfredとかからでも動くんじゃなあい?
919名称未設定
2017/03/09(木) 13:51:49.49ID:IpO5L9OH0 https://support.apple.com/ja-jp/HT202802
GUIスクリプティングの許可は関係ないか
GUIスクリプティングの許可は関係ないか
920名称未設定
2017/03/09(木) 14:12:02.84ID:ddnQYnkB0922名称未設定
2017/03/09(木) 17:54:48.94ID:IpO5L9OH0 ええんやで
923名称未設定
2017/03/10(金) 02:48:26.40ID:QySajRz30 ファインダーで選択したものを処理する時に
フォルダでもファイルでも両方扱いたいとして
途中でexist of file とか exist of folder とか
扱いを少しづつ変えないといけない場合
if で条件分けして
2重にスクリプトを書けば出来るんだけど
何か上手いやり方とかコツってあるものですか?
よろしくお願いします。
フォルダでもファイルでも両方扱いたいとして
途中でexist of file とか exist of folder とか
扱いを少しづつ変えないといけない場合
if で条件分けして
2重にスクリプトを書けば出来るんだけど
何か上手いやり方とかコツってあるものですか?
よろしくお願いします。
924名称未設定
2017/03/10(金) 02:53:44.79ID:QySajRz30 exist じゃなくてexists でした。すいません。
925名称未設定
2017/03/10(金) 05:26:38.84ID:LHdLuZKq0 扱いを変える部分がどうなってるのか分からないとなんとも言えないけど。
共通する部分をハンドラ(関数)にする。
例)
tell application "Finder"
set selected_items to selection
repeat with current_item in selected_items
set message to ""
set item_name to my getname(current_item)
if class of current_item is folder then
set message to "フォルダ" & item_name & "には" & (count of files of current_item) & "個のファイルがあります"
else
set message to item_name
end if
display dialog message
end repeat
end tell
on getname(target_item)
return name of target_item
end getname
共通する部分をハンドラ(関数)にする。
例)
tell application "Finder"
set selected_items to selection
repeat with current_item in selected_items
set message to ""
set item_name to my getname(current_item)
if class of current_item is folder then
set message to "フォルダ" & item_name & "には" & (count of files of current_item) & "個のファイルがあります"
else
set message to item_name
end if
display dialog message
end repeat
end tell
on getname(target_item)
return name of target_item
end getname
926名称未設定
2017/03/10(金) 05:49:44.14ID:LHdLuZKq0 久々にApplescriptいじって結構忘れちゃってるんだけど
Finderのselectionてフィルタ参照できないんだっけ?
あとこういうのもダメだったっけ?
set aaa to {{name:"aaa1"}, {name:"bbb1"}, {name:"aaa2"}, {name:"bbb1"}} whose name starts with "aaa"
Finderのselectionてフィルタ参照できないんだっけ?
あとこういうのもダメだったっけ?
set aaa to {{name:"aaa1"}, {name:"bbb1"}, {name:"aaa2"}, {name:"bbb1"}} whose name starts with "aaa"
927名称未設定
2017/03/10(金) 20:04:07.93ID:QySajRz30 >>925
ありがとうございます!
ハンドラ色々試して見ます。
repeatを使えば簡単に名前を取得出来るんですね。
知りませんでした。
これだけでも凄くスクリプトを短くする事が出来ました。
まだまだハンドラの前に勉強する事が色々がありそうです。
勉強になるサンプルありがとうございます。
ありがとうございます!
ハンドラ色々試して見ます。
repeatを使えば簡単に名前を取得出来るんですね。
知りませんでした。
これだけでも凄くスクリプトを短くする事が出来ました。
まだまだハンドラの前に勉強する事が色々がありそうです。
勉強になるサンプルありがとうございます。
928名称未設定
2017/03/12(日) 12:29:51.83ID:gNaWOdyE0 set theFolder to choose folder
のようにフォルダを選択するときに、フォルダ検索をかける方法はないでしょうか?
右上の検索ボックスらしきものは表示されてますが、なにも入力できないし、
choose folderにも検索を有効にするオプションが見当たらないのですが……
(画像を大量のフォルダのいずれかに仕分けするような用途を想定しています)
のようにフォルダを選択するときに、フォルダ検索をかける方法はないでしょうか?
右上の検索ボックスらしきものは表示されてますが、なにも入力できないし、
choose folderにも検索を有効にするオプションが見当たらないのですが……
(画像を大量のフォルダのいずれかに仕分けするような用途を想定しています)
929名称未設定
2017/03/12(日) 12:40:22.13ID:yECG19Un0 入力できたけど
930928
2017/03/12(日) 12:53:49.02ID:gNaWOdyE0934名称未設定
2017/03/13(月) 14:15:03.70ID:qRuWGLnq0 なんでそんな面倒なことしなくちゃならんの
935名称未設定
2017/03/13(月) 14:51:56.63ID:FjeaRWoU0 まだ初心者さんみたいだから、
rubyとかの外部スクリプトをまぜるのは
少々難易度が高いかも…
do shell script "ruby -Ku -e 〜"
って直接AppleScript内に書く場合は、
ダブルクォートなんかのエスケープが面倒くさいし、
.rbファイルを実行するにしても、.app内にファイルを置くかどうかで
パスの書き方が変わってきたりして…
>>934
横レスだけど、AppleScriptでやるより処理が速いし、
正規表現でファイル名置換したりできるのは便利ですよ
rubyとかの外部スクリプトをまぜるのは
少々難易度が高いかも…
do shell script "ruby -Ku -e 〜"
って直接AppleScript内に書く場合は、
ダブルクォートなんかのエスケープが面倒くさいし、
.rbファイルを実行するにしても、.app内にファイルを置くかどうかで
パスの書き方が変わってきたりして…
>>934
横レスだけど、AppleScriptでやるより処理が速いし、
正規表現でファイル名置換したりできるのは便利ですよ
937名称未設定
2017/03/13(月) 15:44:33.66ID:cpb4aFeg0 guiめも
CocoaDialog
Platypus
inquirer.rb
terminal-notifier
CocoaDialog
Platypus
inquirer.rb
terminal-notifier
938名称未設定
2017/03/13(月) 16:21:42.20ID:qRuWGLnq0 そんな速度求めてないんじゃないの
デバッグするにしてもどっちかで完結した方がいいっしょ
デバッグするにしてもどっちかで完結した方がいいっしょ
939名称未設定
2017/03/13(月) 20:41:59.39ID:3TX8S6Vu0 ASの基本もおぼつかない人を捕まえてRubyを薦めるなんて、非効率化道へ誘導しようとしているとしか思えない
940名称未設定
2017/03/13(月) 21:41:50.59ID:1rIqXrQG0 ruby使えるだけで威張れるからこのスレ好きです
これからもrubyを薦めます
これからもrubyを薦めます
942名称未設定
2017/03/14(火) 09:00:44.40ID:b/L7QY/Q0 いや、どうせどっちもわかってないんだから
rubyなりpythonあたりから覚えても一緒じゃん。
rubyなりpythonあたりから覚えても一緒じゃん。
943名称未設定
2017/03/14(火) 09:50:59.34ID:zmKBWmXS0 でもこのスレで話すのはノーサンキュー
語りたい奴は既存のスレ移動するか、自分でスレ立てろよ
語りたい奴は既存のスレ移動するか、自分でスレ立てろよ
945名称未設定
2017/03/14(火) 19:35:52.25ID:2q4HZx6M0 仲良くすれば良いのに
946名称未設定
2017/03/14(火) 19:38:31.45ID:bKIqYbDL0 見つめ合うと素直におしゃべり出来ないし
947名称未設定
2017/03/15(水) 11:30:38.37ID:BUZg/Ykg0 言いたいことも言えないこんな世の中じゃ
948名称未設定
2017/03/17(金) 15:04:25.07ID:zxHB61Ro0 白T
949名称未設定
2017/03/19(日) 22:48:52.31ID:jSXW0ufR0 asが便利なのってマックリソース込みのファイル移動とかコピーだよな
950名称未設定
2017/03/20(月) 10:59:37.70ID:K0kH9iJa0 そんなことにASなんか使う必要ないでしょ
10.4までなら MvMac/CpMac コマンドとか使えばいいし
10.4以降は mv/cp でよい
ASの特色はそういうレベルじゃない
10.4までなら MvMac/CpMac コマンドとか使えばいいし
10.4以降は mv/cp でよい
ASの特色はそういうレベルじゃない
951名称未設定
2017/03/20(月) 13:21:14.05ID:E5J2xdb70 対象のファイルが複数のフォルダーに散在している場合や、
同一フォルダー内でも縦横無尽に散らばっている場合で、
それらをまとめて処理するようなときには、
コマンドファイルでも、
アップルスクリプトでも、
オートメーターでも、
自分の好みにあわせてどれでも利用すれば良いじゃない
もちろんコマンドファイルが処理速度などの点でいちばん有利なんだろうと思うけど、操作結果のフィードバックが目立たなさすぎるので不安な人もいるだろうし
確かにアップルスクリプトの特色はファイル操作だけじゃないけど、
だからといってファイル操作ごときにアップルスクリプトを使うな、コマンドを使え、というのはおかしくないかね?
同一フォルダー内でも縦横無尽に散らばっている場合で、
それらをまとめて処理するようなときには、
コマンドファイルでも、
アップルスクリプトでも、
オートメーターでも、
自分の好みにあわせてどれでも利用すれば良いじゃない
もちろんコマンドファイルが処理速度などの点でいちばん有利なんだろうと思うけど、操作結果のフィードバックが目立たなさすぎるので不安な人もいるだろうし
確かにアップルスクリプトの特色はファイル操作だけじゃないけど、
だからといってファイル操作ごときにアップルスクリプトを使うな、コマンドを使え、というのはおかしくないかね?
952名称未設定
2017/03/20(月) 13:28:37.64ID:tNIG8sod0 リソース込みの移動やコピーなんて
今はOS添付のコマンドラインなら普通に出来るから
リソースがどうのというのは前提条件が間違ってますよ
という指摘でしょう
今はOS添付のコマンドラインなら普通に出来るから
リソースがどうのというのは前提条件が間違ってますよ
という指摘でしょう
953名称未設定
2017/03/20(月) 15:16:23.72ID:K0kH9iJa0954名称未設定
2017/03/20(月) 17:56:11.71ID:aJV3VVNJ0 他人がどんな言語選択するかなんて好き勝手すればいいじゃないか
そういうのは他所で議論してください
そういうのは他所で議論してください
955名称未設定
2017/03/20(月) 21:50:12.65ID:aRKmkiIl0 シェル使っていいならjava でもなんでもいいけど
956名称未設定
2017/03/20(月) 22:27:46.15ID:JAHXB/GD0 こういうのが続くと
do shell scriptが絡んだ質問がしにくくなるなあ
必要に迫られてjava使ってみたけど
普段スクリプト言語ばかりだから
爆速に驚いたよ
スレチすいません
do shell scriptが絡んだ質問がしにくくなるなあ
必要に迫られてjava使ってみたけど
普段スクリプト言語ばかりだから
爆速に驚いたよ
スレチすいません
957名称未設定
2017/03/21(火) 05:24:56.46ID:YDLfwtgb0 個人的にASの有難みを痛感したのは、WindowsでiTunesをスクリプト処理しようとした時だったな
958名称未設定
2017/03/21(火) 09:22:39.42ID:y5Ac/8600 ファイルコピーやら移動やらするにも、ASだと色々と自分で処理を考えてやらなきゃいけないけど、
shell系なら色々と処理が用意されてるから圧倒的に楽に書けると思うが。
shell系なら色々と処理が用意されてるから圧倒的に楽に書けると思うが。
960名称未設定
2017/03/21(火) 20:14:46.17ID:qE2C4R2r0 なんかようわからん流れ
961名称未設定
2017/03/22(水) 06:00:01.60ID:lgNGAT+b0 68KやPowerPC時代はApple Script一択だったけど
今は選択肢増えたんだし
慣れたのでいいと思う
今は選択肢増えたんだし
慣れたのでいいと思う
962名称未設定
2017/03/23(木) 20:37:28.14ID:7HvdunIZ0 ただの慣れの問題だろ
ASだから考える時間が増えるとは一概に言えない
ASだから考える時間が増えるとは一概に言えない
963名称未設定
2017/03/23(木) 20:48:16.61ID:x+CSrVz+0 AppleScriptのファイルコピーって挙動があやしくない?
バッティングしたのかしらんがスルーされるときがある
バッティングしたのかしらんがスルーされるときがある
964名称未設定
2017/03/23(木) 21:17:39.69ID:7HvdunIZ0 そもそも、ここはapplescriptのスレなんだから
どの言語が使い易いとか便利とかは関係ないだろう
そういう話になるならobjcの方が楽に書けるし自由度もある訳だから比較にならない
しかしapplescriptの便利さをただのファイル移動としてしか理解されてない人間に
だよな、とか自信満々に書かれても「違うわ」と言いたくなる気持ちも分かる
どの言語が使い易いとか便利とかは関係ないだろう
そういう話になるならobjcの方が楽に書けるし自由度もある訳だから比較にならない
しかしapplescriptの便利さをただのファイル移動としてしか理解されてない人間に
だよな、とか自信満々に書かれても「違うわ」と言いたくなる気持ちも分かる
965名称未設定
2017/03/23(木) 23:23:39.87ID:Hx/4F5AA0 俺はファイル移動よりもpythonとか言ってるやつのほうがわかってない気がする。
とケチをつけるくせに更に勿体つけてみる。
とケチをつけるくせに更に勿体つけてみる。
966名称未設定
2017/03/24(金) 00:43:30.67ID:753en8Rq0 >>963
AppleScriptというよりfinderが、じゃないの?
AppleScriptというよりfinderが、じゃないの?
967名称未設定
2017/03/24(金) 00:45:59.63ID:+ajPYzNh0 pythonとか言ってるやつってどれだよ
968名称未設定
2017/03/24(金) 11:25:36.85ID:kAphza5X0969名称未設定
2017/03/24(金) 16:57:44.81ID:+ajPYzNh0970名称未設定
2017/03/24(金) 21:58:16.85ID:7fFI+lWa0 もしファイルが既にあった場合の対処はしていないのかな?
ベースの部分が出来たーと思ってから
もしもの場合に備えていくと
スクリプトがどんどん膨らんでいくよね
ベースの部分が出来たーと思ってから
もしもの場合に備えていくと
スクリプトがどんどん膨らんでいくよね
971名称未設定
2017/03/29(水) 10:17:01.61ID:iAZHQzNY0 初歩的で申し訳ないんですが
エラーログどこでみれますか?
エラーログどこでみれますか?
972名称未設定
2017/03/29(水) 10:53:58.42ID:Z1/VUf2c0 >>971
スクリプトエディタの下のほうに
「返された値」ってタブみたいのがあって、
実行したあとそこをクリックすると処理の流れは追えるけど、
それではダメ?
あとは、
log 変数
log "ここまではちゃんと動いてる"
みたいに、log文を自分で仕込んでチェック
(返された値のところに表示される)
スクリプトエディタの下のほうに
「返された値」ってタブみたいのがあって、
実行したあとそこをクリックすると処理の流れは追えるけど、
それではダメ?
あとは、
log 変数
log "ここまではちゃんと動いてる"
みたいに、log文を自分で仕込んでチェック
(返された値のところに表示される)
974名称未設定
2017/03/29(水) 21:34:41.79ID:cKhIeBfJ0 最近気が付いたけど
tell application の中でdo shell scriptを実行すると
ログ見るとエラーメッセージが出てるのね
問題ないらしいけど
tell application の中でdo shell scriptを実行すると
ログ見るとエラーメッセージが出てるのね
問題ないらしいけど
975名称未設定
2017/03/30(木) 00:38:44.03ID:TSN5GLbj0 >>974
applicationに対してdo shell scriptの命令を送って、
それに答えられないからtellブロックの外で命令を実行、
みたいな動作だよね
だったら、do shell script命令に応えられるアプリが
あるってことなのだろうか…
applicationに対してdo shell scriptの命令を送って、
それに答えられないからtellブロックの外で命令を実行、
みたいな動作だよね
だったら、do shell script命令に応えられるアプリが
あるってことなのだろうか…
977名無し募集中。。。
2017/03/31(金) 01:14:47.24ID:Z+59Vv5J0 tell me to do shell script "..."
ってやるとエラー出ない
ってやるとエラー出ない
978名称未設定
2017/03/31(金) 01:29:26.65ID:fsk4tUbD0 TN2065
Does it make a difference which application I tell to do shell script?
For the most predictable results, always put do shell script calls outside of any tell block, or use tell me. In
practice, it usually doesn’t matter unless 以下省略
Does it make a difference which application I tell to do shell script?
For the most predictable results, always put do shell script calls outside of any tell block, or use tell me. In
practice, it usually doesn’t matter unless 以下省略
979名称未設定
2017/03/31(金) 01:57:25.58ID:67Umxyuk0 あー、にゃるほど。
最初からtellブロックの外(スクリプトオブジェクト)に向かって
do shell scriptメッセージ送っちゃえばいいわけか。
thx
勉強になった。
最初からtellブロックの外(スクリプトオブジェクト)に向かって
do shell scriptメッセージ送っちゃえばいいわけか。
thx
勉強になった。
980名称未設定
2017/04/01(土) 08:11:10.41ID:Pa22lWRm0 最初から do shell script の解釈が tell me で固定されてればいいだけの話なんだけどね
こんなんよそに tell できたとしてもトラブルの種にしかならないし
こんなんよそに tell できたとしてもトラブルの種にしかならないし
981名称未設定
2017/04/01(土) 12:44:55.72ID:F8/5NUFI0983名称未設定
2017/04/01(土) 13:12:52.80ID:Th6oGGes0 乙です
たまには新機能付けてくれれば盛り上がるのに
Automator にある選択テキストの取得
みたいなの付けてくれるとか
まあキーストロークで行けるんだけど
たまには新機能付けてくれれば盛り上がるのに
Automator にある選択テキストの取得
みたいなの付けてくれるとか
まあキーストロークで行けるんだけど
984名称未設定
2017/04/02(日) 00:52:36.56ID:jddYfO370 一応OSメジャーアップデートのたびに地味に新機能ついてるけど、知ってた?
ぶっちゃけもうASはほとんど完成されてるし、それ自体の機能より
AS未対応のアプリが対応するとかの方がインパクトある気がする
ぶっちゃけもうASはほとんど完成されてるし、それ自体の機能より
AS未対応のアプリが対応するとかの方がインパクトある気がする
985名称未設定
2017/04/02(日) 00:56:32.73ID:K0logwwW0 知りませんでした。ゴメンなさい。
986名称未設定
2017/04/02(日) 01:50:24.64ID:LTdBmP/H0 OSXになってゴッソリ機能が減った印象だったんだけどどうなんだ
record機能が秀逸だった記憶しかないけど
record機能が秀逸だった記憶しかないけど
987名称未設定
2017/04/02(日) 07:06:14.09ID:jddYfO370 印象だけで語るのいくない
しかもclassicの記憶じゃちょっと古すぎでしょ……
適当にググるかドキュメント当たって
https://developer.apple.com/library/content/releasenotes/AppleScript/RN-AppleScript/
しかもclassicの記憶じゃちょっと古すぎでしょ……
適当にググるかドキュメント当たって
https://developer.apple.com/library/content/releasenotes/AppleScript/RN-AppleScript/
988名称未設定
2017/04/13(木) 17:30:25.52ID:xzlkRX2p0 あっぷる
989名称未設定
2017/04/13(木) 18:59:02.00ID:UVICUHCG0 ぱい
990名称未設定
2017/04/13(木) 20:57:48.12ID:+p8dZwLu0 次立ってるしうめまっしょい
991名称未設定
2017/04/14(金) 00:58:59.92ID:ueTGfWAJ0 applescript://com.apple.scripteditor?script=say%20%22%E5%9F%8B%E3%82%81%22
992名称未設定
2017/04/14(金) 01:05:26.83ID:e/21lBVI0 repeat 9 times
display dialog "うめ" buttons {"おk"}
end repeat
display dialog "うめ" buttons {"おk"}
end repeat
993名称未設定
2017/04/14(金) 01:15:35.68ID:MoWkfgnX0 repeat 8 times
display dialog "うめ" buttons {"おk"}
end repeat
display dialog "うめ" buttons {"おk"}
end repeat
994名称未設定
2017/04/14(金) 01:29:10.19ID:ZmBUMfxw0 repeat while resNum < 1000
display dialog "Ume" buttons {"OK"} default button 1
end repeat
display dialog "Ume" buttons {"OK"} default button 1
end repeat
996名称未設定
2017/04/15(土) 18:50:20.05ID:vi5T35Fd0 try
say "うめ"
on error
say "Go to next"
end try
say "うめ"
on error
say "Go to next"
end try
997名称未設定
2017/04/15(土) 20:14:30.40ID:xurLJNJL0 applescript://com.apple.scripteditor?script=open%20location%20%22https%3A%2F%2Fegg.2ch.net%2Ftest%2Fread.cgi%2Fmac%2F1491018171%2F%22
998名称未設定
2017/04/15(土) 21:44:06.10ID:s3UVqvQw0 tell me to quit
999名称未設定
2017/04/15(土) 22:31:56.27ID:PpLFiK4M0 on quit
end
end
1000名称未設定
2017/04/15(土) 22:32:19.49ID:PpLFiK4M010011001
Over 1000Thread このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1211日 0時間 41分 34秒
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1211日 0時間 41分 34秒
10021002
Over 1000Thread 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- ブラジル人研究者「日本はとても安全な国。だから私はここに移住したい」 翌日、千葉県でスリランカ人に殺される [お断り★]
- 【映画】165億円の赤字か 米ディズニー「白雪姫」実写版、大型連休中の日本でも上映打ち切り [ネギうどん★]
- 【大阪・関西万博】来場者数きのう=5日『12万人1千人』(関係者1万7千人含む) [少考さん★]
- 【自主回収】「あんまん」に「肉まん」が混入1314パックを自主回収「肉まん」に「あんまん」が混入の可能性もあり [おっさん友の会★]
- 【MLB】大谷翔平、新加入の“韓国の至宝”活躍を祝福にネット胸アツ! 「泣けてくる」「スポーツに国境なんてない!」 [冬月記者★]
- 生活保護「持ち家を売らないと受けられない」はウソ…役所やネット上の言葉をうのみにする前に…知っておきたい“実際の法制度” [おっさん友の会★]
- 【実況】博衣こよりのえちえちサルゲッチュクリア耐久🧪
- ⭐👊😁👊🏡👊😁👊⭐
- トランプ政権が利用していたイスラエル製改造Signalアプリ、ハッキングを受けてチャット内容流出 [175344491]
- 【悲報】晋バルサンチャンネル、YoutubeにBANされる。AI安倍に歌わせたり統一教会の解説をしてたとこ [159091185]
- 【悲報】大阪万博、この時間にはボチボチ帰り出す客がそれなりに居る状態🥺 [616817505]
- 総務省「自治体職員へのカスハラは民間の3倍以上です 公務員に対するカスハラをやめましょう😡」 [983772831]