探検


【中の人】Automator【小人】3人目 [転載禁止]©2ch.net

2014/11/17(月) 19:12:32.44ID:+W3jGxLM0
前スレ
【中の人】Automator【小人】2人目
http://anago.2ch.net/test/read.cgi/mac/1168924788/

【中の人】Automator【小人】
http://pc7.2ch.net/test/read.cgi/mac/1088457299/
2021/02/26(金) 16:31:33.28ID:VXEHjpn00
あれ自体はSafariが提供するサービス項目だから変わんない(オフる、他の検索エンジンに変える、だけ)
2021/02/26(金) 17:16:52.69ID:ggmZrJy50
Automatorを使って以下のことをする手順が分かる方お願いします

A列にある文字列:A1 ~ A100 までとか
B列にある文字列:B1 ~ Bxxx 不特定

このB列にある文字列がA列にもある場合に
B列にあるA=Bの文字列をC列に書き出したいのですが
何をどのようにすれば可能ですか?
2021/02/26(金) 17:18:26.37ID:ggmZrJy50
あ、イメージ的には表計算ソフトの列と行です
2021/02/26(金) 17:52:06.41ID:JqAJC6UM0
表計算ソフトのマクロか、テキストを入力にしてスクリプト言語か、先に仕上げないとダメだと思うよ
361名称未設定
垢版 |
2021/02/27(土) 02:10:09.86ID:UxBQPLwy0
>>357
やっぱ無理ですか
サービスから表示オフれなかった気がする
2021/02/27(土) 08:47:39.66ID:qQaij4NA0
>>360
ありがとうございます今まで通りSQLでやることにします
2021/03/06(土) 07:47:43.98ID:qgdrJUve0
Terminalで
$ /Applications/Firefox.app/Contents/MacOS/firefox --args -private-window http://yahoo.co.jp
を実行するとfirefoxのプライベートウインドウでhttp://yahoo.co.jpを開いてくれます。

これをAutomatorのアプリケーションとして、
Run Shell Script
Shell: /bin/sh - Pass input as arguments

/Applications/Firefox.app/Contents/MacOS/firefox --args -private-window
のようにしてみましたが、
Firefoxのプライペートウインドウを開く&safariでURLを開くという挙動になってしまいます。
firefoxのプライベートウインドウでURLを開くにはどこを直せば良いかアドバイスいただけませんでしょうか。
2021/03/06(土) 09:53:48.87ID:QmLYTYp20
ていうかそれ以前に、arguments 使ってるように見えないけど
365363
垢版 |
2021/03/06(土) 14:42:37.11ID:qgdrJUve0
shell scriptの中身を
open -n -a "Google Chrome" --args -incognito
にするとURLをgooleChromeのincognitoウインドウで開いてくれたからFirefoxでもいけると思ったけど
うまくいかなくて、 shellscriptで引数まわりいろいろ試したけど、どうしても望んだ処理をしてくれない。
Automatorってログ吐き出してくれるモードとかないのかなあ。。
2021/03/06(土) 18:07:23.29ID:8v2kqIVL0
Firefoxでも open -n -a ... だけのRun Shell Scriptアクション一つなワークフローでプライベートウインドウで開いてるけど
ワークフローをScripts Folderにぶっ込んでScriptsメニューからワークフローを実行でも動いてるな

open でなく、Firefox.app/Contents/MacOS/firefox 実行ファイルを実行でも、プライベートウインドウでいちおう開くことはできてるな

引数が間違ってるんじゃないの
2021/03/06(土) 18:22:38.43ID:8v2kqIVL0
Automatorのアプリケーション か
受け取るのは ファイルかフォルダーじゃないの?weblocファイルで??
>>363のそのまんまの通りにしても、「safariでURLを開く」なんてしないと思うけど
368名称未設定
垢版 |
2022/02/20(日) 16:29:44.54ID:vc4mhoN+0
アメリカ人は

どうしようもない奴や
真ん中より下の奴しか日本に来ないらしいからな

真ん中より上はアメリカを出る理由がない
真ん中より上はアメリカを出る必要がないらしい
2022/02/22(火) 10:14:42.81ID:qO+uHSWN0
https://i.imgur.com/GPb8ITT.jpg
2022/02/24(木) 15:38:49.69ID:m88HoIwm0
昔から、Automatorのシェルスクリプトを実行を使って
文字列をgoogle検索する際に、safariじゃなくてfirefoxとか
自分の希望のブラウザで開くスクリプトがあるけど、
Montereyになってから、そのスクリプトが起動して
実行されるまでに10秒くらいかかる
前はすぐに起動して実行されていた
Automatorのシェルスクリプト周りって何か変わったのかな?
2022/02/24(木) 15:41:43.02ID:m88HoIwm0
あ、>>356の言ってるスクリプトだ多分
サービスメニューに入れるやつ
昔はすぐに開いて実行したのにな
確かにワンテンポっていうか数テンポ遅れるんだよなあ
372名称未設定
垢版 |
2022/04/02(土) 13:31:42.97ID:qSl/654r0
Automatorで「システム環境設定」の中身って変更できる?
システム環境設定>アクセシビリティ>音声コントロール>音声コントロールを有効にするにチェックを入れる
これがやりたいが毎回開くのが本当に大変すぎる…
2022/04/02(土) 14:33:30.49ID:WrC+bnvS0
UIのそういうのはAppleScriptじゃないの
もしかしたら一発でできるコマンドラインツールとか誰か作ったりしてるかもしれないけど
2022/04/02(土) 14:46:54.41ID:WtrelTFz0
Montereyなら「ショートカット」アプリのアクションにある
Set Voice Controlで音声コントロールの有効化が操作できますね。
375名称未設定
垢版 |
2022/04/02(土) 15:47:45.84ID:qSl/654r0
>>374
ありがとうございます。
うまくできました。
2022/04/02(土) 17:40:37.92ID:6pOGaZ/T0
なんだよ紛らわしい
死ね
2022/04/02(土) 21:31:46.44ID:rmydQL/R0
うわ…
2022/06/16(木) 22:27:00.64ID:CwEU3QxN0
ショートカットまだあんまり使い込んでないけど、Automatorは廃止してショートカットに移行してね、にいずれなるのかな
Automatorじゃないと出来ないこともまだありそうだけど
2022/07/14(木) 20:40:35.67ID:5EVwJpoP0
ショートカットはだめだ。
Automatorのようにアプリケーションとして使えないから。
380名称未設定
垢版 |
2022/07/14(木) 23:06:33.09ID:wba/tEL00
「Dockに追加」すると~/Applicationsに.app作られるよ
2022/07/14(木) 23:13:13.35ID:UV5idpTC0
Mac版ショートカットはオートメーションが見当たらないんだよな
2022/07/19(火) 16:45:02.22ID:MGV5b7eI0
アプリケーションを起動するデスクトップをDockのところのオプションで設定出来るけど
Automatorでアプリケーションを起動するデスクトップの指定は出来ないんですかね?
2022/07/21(木) 22:48:23.52ID:k+8Vp+UT0
Automatorでのアクションではないね

やるならAppleScriptでのUI scriptで可能だが
2022/07/31(日) 11:36:29.13ID:PBPoPUIo0
Automatorを使ってファイルのリネームをつかっています。
iPhoneをMacに繋いでイメージキャプチャで読み込む時にフォルダアクションに登録して自動でリネームするようにしていますが、読み込むファイル数が1000枚とか多くなると
「アプルケーション”ScriptMonitor”はすでに閉じられれいます。」
と警告?がでてきます。
この警告の意味がわからずどうすれば改善できるのかわからず困っているのですが、
だれかわかる方いませんか?
教えていただけると助かります。
2022/07/31(日) 11:40:53.38ID:58tT7nhK0
読み込むファイル数を減らせばいけんじゃない
単に多すぎるからもうできませんって意味だと思うけど
2022/07/31(日) 12:31:35.05ID:PBPoPUIo0
>>385
200個くらいなら大丈夫なんですが、やはり1000個とか多いって事なんですかね。
イメージキャプチャで読み込む際に自動でリネームと、それとは別にすでにMacにあるファイルを選択してリネームの2通りをつかっていますが、
後者の方も多いとこちらは警告すら出ずに1つもリネームをしてくれず無視されます。

他の方法を考えるか数を減らして読み込む作戦にしてみます。
レスありがとうございました。
2022/09/09(金) 06:41:26.98ID:YcIlGrbY0
ファイルのフルパスをコピーする小技
ttps://qiita.com/negibouze/items/b5ac00e4472a9fd877f8

2017年投稿の小技ですが、うまく行かないです・・
OSはMontereyです
サービスを追加を選択するとファイル選択を要求されるので、クイックアクションから進めているのが根本的な間違いでしょうか?
他の2022年の小技は成功したので、シェルを調べてみたのですが原因が分かりません・・
2022/09/16(金) 15:41:30.90ID:jptvWxzT0
見て作ろうとしたが、作ってる最中にの間違いなんじゃないの
入力引数の渡し方法とか

また、単に クリップボードにコピー アクションだけで目的を達成しなくね
複数選択しても最初の一つだけじゃなきゃ嫌ってのでなければ
2022/09/16(金) 15:49:46.40ID:jptvWxzT0
また、フルパスをコピー したいってのなら、Finderで標準である。そういえばあったなと思ったらあった
コピーでOption押す
Command+Option+C。メニューバーの編集メニュー、コンテキストメニュー内でOption押すと、コピー のとこが変わる
2022/09/16(金) 20:53:26.72ID:Psw+oini0
>>388-389
有難うございました!
OSの基本的な知識不足でしたね・・
VBAほど情報がないので時間がかかるかもしれませんが、教えていただいた方法に書き換えることも試してみようかと思います
2022/11/15(火) 16:34:24.41ID:dTnV0Q6o0
誰か教えていただけませんか。

Automatorでアプリを作ったのですが、ちゃんとアプリ名を付けたのですがパッケージを開くとInfo.plistのCFBundleNameが名称未設定になっていました。
この名称未設定をちゃんとした名前に変えようとCFBundleNameの名称未設定を変更したら正常にAutomatorが動かなくなりました。

正常に動くようにリネームするにはどこを変更すればいいのでしょうか?
CFBundleNameだけでは足らないのでしょうか?
2022/11/15(火) 20:30:59.86ID:dTnV0Q6o0
>>391
問題はそこでは無いことが判明しましたのでこの質問は取り下げます。
失礼しました。
2022/12/15(木) 13:52:29.71ID:W8dIRmAe0
質問をさせてください。

あるシェルスクリプトをAutomatorでアップケーションにしてフォルダをドロップすると完了するアプリケーションを作ったのですが、
動作ログ?と言うのでしょうか

・Automatorアプリケーションにフォルダまたはファイルをドロップ
・ターミナル自動起動
・シェルスクリプトを自動入力してリターン
・シェルスクリプト実行開始

として動作ログを見たいのですが、どんなAutomatorを作ればいいのでしょうか?
どなたか教えていただけませんか。
2022/12/15(木) 14:25:00.37ID:XxqWJ7CG0
処理内容をオブジェクトにしてコンソールに流す。
2022/12/16(金) 03:38:14.26ID:4qr0btqQ0
>>393
>シェルスクリプトをAutomatorでアップケーションにしてフォルダをドロップすると完了する〜
が、やりたことで
>・Automatorアプリケーションにフォルダまたはファイルをドロップ
以下は本来は不必要だが、動作確認/デバッグしたいからそのようなことをしたい
ってこと?
2022/12/17(土) 17:22:40.21ID:ZRVwfuKw0
Ventura 13.1にしてからAutomator.appのエイリアスにAutomator.appで作ったアプリケーションをドロップしてもAutomator.appで作ったアプリケーションが編集モードで開かず新規ファイルを作るようになってしまったけど、
皆さんのところではどうでしょうか?同じ症状ですか?
2022/12/20(火) 12:05:21.13ID:FbDLO0000
うちでは起きてないけど、ずっと昔にMacを再起動するか
セーフモードかなんかでキャッシュをクリアしたら
そういうのが改善したことはあった気がする
漢字Talk時代で言うとデスクトップの再構築
2022/12/21(水) 19:17:11.54ID:uHol7Dyd0
書類の種類:フォルダアクション
これを使いファイル名変更のワークフローを作っています。
Finder項目の名前変更 を使いファイル名自体はうまく変更されます…

しかし、
フォルダにフォルダアクションを設定してそのフォルダへファイルを入れると
ファイル名自体は変更してくれるのですが、ファイル名の変更が延々と続いてしまいます。

IMG_01 -> IMG_01_01 -> IMG_01_01_01…(メニューバーのギアーが延々回っている状態)

のように止まりません。
1度だけファイル名を変更するにはどうすればいいのでしょうか?
2022/12/21(水) 21:07:23.33ID:sNADCgdj0
>>398
昔からそういうものらしい
フォルダアクションを設定したフォルダ直下の フォルダアクション対象 のを名称変更すると 別の新しいフォルダアクション対象 になり、永遠と続く
・別のフォルダ(フォルダアクションを設定したフォルダ下にフォルダ作ってでもいい)に移動して、そこで名称変更
・フォルダアクションで名称変えたことを表すマークを付けて(コメントやxattrとか、メモ/ログってとか)、AppleScriptなんぞマークがあるのは何もしない
とかとかとかとかかな
2022/12/21(水) 21:23:36.54ID:uHol7Dyd0
ファイルを他のフォルダへコピーをつけると
ファイルをフォルダに大量に追加した場合、
画像ならいいのですが、動画だと例えば20個くらい追加した場合途中でコピーが止まってしまいコピーが完了しない。
Applescritpでどうにかなるかもしれないけど、自分にはわからないのでなんとかAutomatorでと思っていますが。

コピーではなく移動にすると今度はファイル自体全く移動してくれなかったし。

今は仕方ないのでフォルダを選択またはファイルを選択してリネームする方法我慢しています。
でもちょっと不便で。
2022/12/21(水) 23:14:54.68ID:sNADCgdj0
Finder項目を移動
(保存先: でフォルダアクションのないフォルダ)
Finder項目の名前を変更
(お好きに。今現在の)
の2アクションだけのでいいんじゃないの??移動して名前変わる(一度だけ)けど
402名称未設定
垢版 |
2023/01/24(火) 10:25:04.31ID:JgALZgbY0
730 名無しさん 2022/12/30(金) 21:58:02.36 ID:aT1ftVXV
TBS系のない徳島県民は、今年の日本レコード大賞が『Habit(SEKAI NO OWARI)』に決まったことを知りません。
該当アーティストが、最大の目標である日本レコード大賞を獲れば、
来年以降、今後の楽曲は絶対売れなくなります!!
2023/02/20(月) 18:56:31.93ID:TuuDDhJs0
AppleScriptスレに間違ってレスをしてしまいまして再度こちらでお世話になりたいと思います。
当初と状況が変化しましたので新たな内容ですが、

Automatordでアプリを作って初回起動時に
「“Automator.app”は、アクセシビリティ機能を使用してこのコンピュータを制御することを求めています。」
とウインドウが出て来て システム設定を開く 拒否 と出て来ますが、
このウインドウでシステム設定を開くへ進んで許可を与えるとアプリは使えるようになるのですが、何かしらの不具合が起こっているようでアプリを実行しても完了せず途中のAppleScriptで止まってしまいます。

新たにアプリを全く異なる内容で作り直してもAppleScriptのtell application "System Events”でエラーがでているようです。

そこで、一旦システム設定の プライバシーとセキュリティ/オートメーション 無いのすでに許可している内容すべてをリセット(全てを削除)したいのですが、システムのどのファイルを弄ればいいかどなたかわかりませんか?

アクセシビリティの場合はーボタンで削除できますが、オートメーションには無く削除ができません。
2023/02/20(月) 19:11:18.79ID:TuuDDhJs0
>>403
追加で。
アプリケーションをゴミ箱に入れればオートメーションの項目から一応消えますが、同名で作ると前の設定がどこかから引き継がれ
「“Automator.app”は、アクセシビリティ機能を使用してこのコンピュータを制御することを求めています。」
は出て来ません。

また、tell application "System Events”はキーボードショートカットを打つためにつかっていますが、アプリケーションを作って実行すると正常に終了しますが、
Macを再起動して再度同じアプリを起動すると
「アクション"AppleScriptを実行”でエラーが起きました: “System Events
でエラーが起きました: アプリ名にはキー操作の送信は許可されません。」
と出てしまいます。

なので一旦オートメーション内の項目をリセットすれば改善するかも?と思って質問しました。

長々と申し訳ありませんがどなたかお助け願います。
2023/02/21(火) 04:06:43.01ID:pRCnS09z0
アプリがあれば セキュリティ/オートメーション のリストに普通に出てくるでしょ
変更して保存すると、再許可しなければならない。許可してるはず(チェック付いてる)なのに、その許可は無効になってるという昔からのバグじゃないのかな
一旦チェックを外して再チェック、もしくはチェックを外してリストから削除して手動でリストに追加しチェック、リストに無ければ追加(し、いちおうチェックを外して)チェック
2023/02/21(火) 04:21:10.62ID:pRCnS09z0
>セキュリティ/オートメーション
ああ、オートメーション の方だったか
アクセシビリティ の許可も必要。>>405で書いてあるのはアクセシビリティでのこと
2023/02/21(火) 12:43:35.84ID:jdVfW3wn0
>>405
レスありがとうございます。

状況が少し変わりました。
Venturaをクリーンインストールしてみました。
結果、調子よく使ってたアプリは最後まで実行されず例として
tell application "System Events"
key code 49
end tell
の部分でエラーが出て止まってしまいます。
そのAppleScriptを外すとアプリは最後まで完了します。

この問題が起こりはじめたのが多分18日か19日からで20日にMacを起動してAutometorアプリケーションを起動したら起動が完了しなくなっていました。

他にもtell application "System Events" to key code 9 using {option down, shift down, command down}
のようなものが入ってる別のアプリケーションは正常に動作していました。

クリーンインストール後、上記2つのアプリはいずれもアプリの起動が完了しなくなっていました。

しかたなく、Time Machineから17日のデータから移行アシスタントで戻してみたら2つのアプリは正常に起動を完了しました。

なぜなんでしょうね?

起動に問題が起こる時に、新たにキーボードショートカットの入ったアプリを作って起動してもいやはり正常に起動完了しません。

なにがどうなったんでしょうか?
408名称未設定
垢版 |
2023/02/21(火) 15:13:43.90ID:w5eXYqis0
AppleScriptって何とも言えない変な挙動があって苦手なんだよね
ShellScriptに置き換えられそうな部分は置き換えてる
だけどkeycode系は無理そう
2023/02/21(火) 19:03:40.41ID:jdVfW3wn0
上で書いた
tell application "System Events"
key code 49
end tell
は例ですが、実際はキーボードショーカットでデスクトップを移動するために使っているのですが他に方法があればいいのだけど。
2023/02/21(火) 20:33:54.33ID:kl//ck4h0
キーボードショートカットでデスクトップを移動するだけなら
キーボードショートカットを登録すればいいだけなのでは……
Mission Controlのデフォルトなら、Opt + → とか ← とかで移動できるンゴ
2023/02/21(火) 20:43:30.32ID:jdVfW3wn0
>>410
レスありがとう。
上にも書いたように
>クリーンインストール後、上記2つのアプリはいずれもアプリの起動が完了しなくなっていました。
なのでキーを変えてもエラーが出て動作しないんですよね。

もちろん手入力すれば動作しますし普段からデスクトップの移動には使っていますが、
あくまでもアプリを起動して移動したいのにできないわけです。
412名称未設定
垢版 |
2023/02/21(火) 21:45:57.07ID:w5eXYqis0
run script “tell app \”System Events\” ...”
って感じで、問題の部分だけ動的にAppleScriptを実行してみたらどうだべか
2023/02/23(木) 03:47:08.12ID:egSQRI+c0
>>409
何もしない(起動したらすぐ終了するだけの)アプリを作ってそれを一旦Dockに入れて割り当て先を移動したいデスクトップにしておく
後はそれを起動すればデスクトップ移動する
2023/02/23(木) 03:48:09.27ID:egSQRI+c0
>>408
cliclickっつーのがある
2023/02/23(木) 11:55:22.08ID:em7s4B4V0
Automatorアプリケーションでダブルクリックすると指定したウインドウサイズでFirefoxが起動して指定したWebサイトを表示する。
こんなアプリを作るいい方法はありませんか。

AppleScriptで

tell application "Firefox"
activate
open location "https://www.apple.com/";
make new document
tell front window
set bounds to {0, 0, 1000, 1000}
end tell

このようなものを作ったのですが、これだと余計な空白ダブ(新規ダブ)が一つつくられれしまいます。
指定したウェブサイトのタブ一つだけで起動したいです。
2023/02/23(木) 12:45:40.39ID:9z6DNosC0
activateしないで、最初にopen locationでデフォルトブラウザを起動させるようにして、その後(ウインドウ開くの待って)サイズを調整すればいいんじゃないの
2023/02/23(木) 12:54:02.64ID:9z6DNosC0
ごめん忘れて
知識と経験足らずですた
418名称未設定
垢版 |
2023/02/23(木) 18:08:54.66ID:nxUMNkhq0
>>415
なんでopen locationした後、make new windowしてんの?
余計な空白タブができる原因はこれでしょ
Firefoxは入れてないんで知らんけど、Safariではこれでできてるよ
2023/02/23(木) 18:32:48.64ID:em7s4B4V0
>>418
レスどうも。
うちの環境では(特に特別な設定はしてません)make new documentを外してもやはり空白の新規タブが最初に作られてしまいます。
2023/02/23(木) 20:54:12.12ID:bqPnJvwt0
>>415
do shell script "open -g -b 'org.mozilla.firefox' 'https://www.apple.com/'"; --手前にせず背後で開く(新規タブ/ウインドウは作られないはず)
--delay 1 --front windowが見つからないとか言われる場合は少し待たせる。
tell application "Firefox"
tell front window
set bounds to {0, 0, 1000, 1000}
end tell
--delay 1 --activateで新規タブ/ウインドウが開いてしまう場合は少し待たせる。
activate
end tell
2023/02/24(金) 08:05:08.60ID:TrBITBM/0
>>420
レスどうも。
私の環境ではうまくいかないようです。
やはり空白タブが出てきたり、指定してウインドウサイズにならなかったりします。
ちゃんと思うように動作することもあるのですが。
待ち時間も変更してみましたがうまくいかないようです。
2023/02/24(金) 12:00:02.57ID:C4ZxPTq80
Firefoxが起動して既にウィンドウがあっても別の新しいウィンドウでなら、
Firefox実行ファイルのオプションで(起動。新たに別のAppとしては起動しないけど)かな
set firefoxPath to quoted form of ((POSIX path of (path to application id "org.mozilla.firefox")) & "Contents/MacOS/firefox-bin")
set firefoxOption to "--new-window"
set theURL to "https://www.apple.com/";
do shell script firefoxPath & " " & firefoxOption & " " & quoted form of theURL
Firefoxが起動してなくてでは余計なブランクタブができてることが(ままある)のはもうFirefoxの癖(wまあバグといえばバグ)だから、気にくわないならブランクタブを消すようにスクリプトを書くしかないかな

ウィンドウサイズは、許可を与えてないか、ブラウザウィンドウではないなんか不可視の隠しウィンドウがあるからそれに対してか、単なるスクリプトのミスかな
ちゃんとしたドキュメントウィンドウ/ブラウザウィンドウはSystem Eventsでのattributeで得られたはず
2023/02/24(金) 12:13:22.89ID:C4ZxPTq80
>ちゃんとしたドキュメントウィンドウ/ブラウザウィンドウはSystem Eventsでのattributeで得られたはず
System Eventsでの対象ウィンドウは、ドキュメントウィンドウやGUIとしてちゃんと意味あるウィンドウだけで、余計ななんかわからんのは無い方だったか
逆に、他のスペースにあるのは無かったりもするけど。今回のようなのはSystem Events/processでのfront windowでやった方が良さげ
2023/02/24(金) 12:31:57.48ID:TrBITBM/0
みなさんご親切に様々な方法を教えていただいてありがとうございます。
もしかすると当方の環境のせいでうまく動作しないのかもしれないので
一旦Firefoxを初期化して教えていただいている方法を試してみます。
ここまでありがとうざいます。
2023/02/24(金) 14:47:04.71ID:C+3xlO1/0
Firefoxのオプションは、--new-window でなくて -new-window な
コマンドラインから open -a /Applications/Firefox.app --args -new-window https://5ch.net とかって試してみるのオススメ
2023/02/24(金) 15:59:42.97ID:C4ZxPTq80
わざわざそんないちゃもんwはどこから出てきたんだ?
フルネーム的なオプションの場合は、- ではなく -- というのがデファクトスタンダード(どこか策定するとことかでそうすべきという文書があるはず)
Terminalで firefox-bin --help もしくは firefox-bin -h してみ
2023/02/24(金) 16:05:28.86ID:C4ZxPTq80
ああ、
>コマンドラインから open 〜
openに拘ってそれだと動いたうご来ないとかでか??だとしたら色々勘違いしすぎてるな
2023/02/26(日) 22:08:47.27ID:bYVj+mkG0
こんばんは。
いつもお世話になり続けています。

少し教えてください。

tell application "System Events"
if exists (window 1 of process "Safari") then
display dialog "1"
else
display dialog "0"
end if
end tell

Safariを終了してる状態でこのコードを実行するとダイアログで0が出て来るまでに7秒程度かかります。
Safariが起動しているとすぐに表示されます。
また、同じコードのSafariをFirefoxに変えるとアプリの終了起動に関係なくすぐにダイアログが出てきます。

このコード、何かおかしいでしょうか?
ウインドウは有無でコードを変えたいです。
2023/02/26(日) 22:20:22.12ID:bYVj+mkG0
>>428
レスを修正します。
>また、同じコードのSafariをFirefoxに変えるとアプリの終了起動に関係なくすぐにダイアログが出てきます。

Firefoxでもやはりアプリが起動してない場合ダイアログが出て来るまで時間がかかります。

macOS Ventura 13.2.1です。
2023/02/26(日) 23:42:09.04ID:eFr0FfPK0
やりたい事と違うかもだけど、プロセスが無ければ他の処理する案
tell application "System Events"
set p to every process whose name is "Safari"
if p is {} then
display dialog "-1"
else
if (exists window 1 of process "Safari") then
display dialog "1"
else
display dialog "0"
end if
end if
end tell
2023/02/27(月) 01:41:24.20ID:i6US5sRi0
へーexistsで有無を調べられるんだ
tryでやってたわ
2023/02/27(月) 03:45:29.52ID:kEtidHqu0
exists process が目的のprocessが存在しない場合がめっちゃ遅いね
>>430の、existsではない方法でプロセスの存在を確認してからのが適切のよう
2023/02/27(月) 07:31:58.63ID:kqzhTCxk0
おはようございます。
>>430さんの方法でばっちりいけました。
しかも、3通りの確認ができてさらに便利になりました。
大変助かりました。ありがとうざいます。
2023/02/27(月) 17:34:28.49ID:kqzhTCxk0
>>430
昨日教えていただいたこのコードですが、Safariだとうまく行っています。
とても嬉しいです。ありがとうございます。

うまくいってるのでFirefoxに転用しようとやっているのですが、(Safari -> Firefoxに書き換えています)
display dialog “-1”の所に例えば

tell application "Firefox"
activate
make new document
tell front window
set bounds to {0, 25, 1000, 1000}
end tell
end tell

を入れてFirefoxを終了した状態でAutomatorアプリを実行するとなぜかダイアログ1が返ってきます。
Safariではちゃんとダイアログ-1が返って来るのですが、Safariと同じような動作をさせるにはどうすればいいか分かりませんでしょうか。
2023/02/28(火) 20:40:16.19ID:pHF7uSUD0
>>434
念のための確認だけど
display dialog "1"
の上の行の “Safari” を “Firefox” に書き換えてますよね?
2023/02/28(火) 21:42:51.08ID:zYJXUQmm0
>>435
レスありがとうございます。
コードはテキストエディタにコピペして置換してるので漏れなく置き換えできてると思います。
2023/02/28(火) 23:22:01.76ID:pHF7uSUD0
>>436
元の >>434 だけど
> display dialog “-1”の所に例えば
の “-1” は “1” の誤りかな
んで「の所に」ってのは、置き換えで合ってる?
自分の所だと、想定通り(*)動いているような…?
* Firefoxウィンドウがある時だけリサイズ

tell application "System Events"
set p to every process whose name is "Firefox"
if p is {} then
display dialog "-1"
else
if (exists window 1 of process "Firefox") then
tell application "Firefox"
activate
make new document
tell front window
set bounds to {0, 25, 1000, 1000}
end tell
end tell
else
display dialog "0"
end if
end if
end tell
2023/03/01(水) 01:24:47.31ID:OSoG+7wj0
全く関係ないけど、Firefox の make new document は何の意味もないよ
documentオブジェクトは作られるが、何の意味もないのが作られるだけでただのメモリの浪費
2023/03/01(水) 07:47:44.83ID:vhRk47dZ0
>>438
Firefoxでは意味はないが、Safariの場合は意味があるってことですか?
2023/03/01(水) 11:34:17.89ID:OSoG+7wj0
そう
2023/03/01(水) 11:42:34.31ID:vhRk47dZ0
>>440
ありがとうございます。
442名称未設定
垢版 |
2023/03/01(水) 19:33:48.14ID:b6/ZPb9l0
FirefoxはStandard Suiteしかないから、Scriptableとは言いがたいな
2023/03/01(水) 20:38:04.76ID:pTL+u2/O0
ちょっと前までは UI scriptingで何とかタブまではアクセスできたが、今のはそれすら全くだからな。今の話題のせいぜいウィンドウ「だけ」
全くScriptableではないよ。make new document の現在の無意味なのも前にScriptableにしようとした名残で残ってるだけで、現在のは全くScriptableではないな
2023/03/01(水) 20:51:42.52ID:pTL+u2/O0
>現在のは全くScriptableではない
かなり前から 正式なScriptable にする気は無くなっていて、その時からScriptableではないが、
普通にCocoa使って/準拠してのアプリを作れば UI Scripting で操作できるアプリになるのに、それすらできなくする、
全く「スクリプトによって」というのを意識しないオレオレな作り(スクリプトによるを排除/拒絶しようとしてんのかさえ思えるw)なアプリだなという意味での 全くScriptableではない ね
445名称未設定
垢版 |
2023/03/03(金) 17:25:43.30ID:XU/16hJ80
ワークフローが動かない場合、各アプリごとに許可しないといけないと思いますが設定のどこから許可するんでしたっけ…?
venturaにしてから分からなくなってしまいました…https://i.imgur.com/k9H3rhk.png
2023/03/03(金) 17:36:32.16ID:3/Wcifio0
>>445
システム設定/プライベートとセキュリティ/アクセシビリティ
ですかね。
オートメーションの方は自動で設定されるので。
2023/03/04(土) 13:05:27.47ID:rvgih+T50
いつもお世話になっています。
以前>>420で教えていただいたコードですが、現在

AppleScriptを実行
do shell script "open -g -b 'org.mozilla.firefox' 'https://www.apple.com/'";
delay 0.5

AppleScriptを実行
tell application "Firefox"
activate
tell front window
delay 0.1
set bounds to {0, 0, 1000, 1000}
end tell
end tell

とAppleScriptを実行を2つに分けて使うとなんとなくうまくいくようになりました。
なぜ2つに分けるとなんとなく(1/10くらいの確率で空白タブができたりリサイズされなかったりますが)うまくいくのでしょうか?

1つにまとめるとほぼ毎回空白タブができてしまいます。
なぜそうなるのか理由が知りたいのですがわかりませんでしょうか。
2023/03/04(土) 16:44:46.34ID:c0bArpRv0
なんてーかもう、いちいちここで聞く話じゃない、突き詰めようとし過ぎじゃないの、って感じ
そこそこ回避できてるっぽいなら、それでもう満足しとけば
2023/03/04(土) 17:22:06.75ID:rvgih+T50
そうでしたね。
そうします。
失礼しました。
2023/03/04(土) 18:06:26.17ID:AmX5dPGZ0
でもまあ気になる気持ちはわかるよ。
2023/03/04(土) 20:28:15.27ID:3WDeF6aa0
AppleScriptは基本的に他のアプリに命令を投げるから、それにどれくらい正しく反応するかは投げられた側の実装次第。
起動してウインドウ表示しようとしてる時とか忙しそうな時には微妙なタイミングの違いで動作が変わってしまうのはよくあること。

確実に動かしたいならUI Scriptingで状態をチェックする処理を入れるとかするしかない。
(ただFirefoxは上の話のように対応度が低いのでそれも難しいけど)
2023/08/16(水) 01:21:58.85ID:QyveK+Ap0
Finderで開いているフォルダをカレントディレクトリとしてターミナルで新たなシェルを
開始する、みたいのってAutomatorでできるんでしたっけ?
あと、Finderで開いているフォルダに空のテキストファイルを作成してそれをエディタで
開くとか

以前見たような気がするんだけど、今さら気になって
2023/08/16(水) 02:04:47.64ID:O4r/RTu/0
できるよ
2023/08/16(水) 06:29:04.46ID:QyveK+Ap0
こんなところで「簡単なことは教えない」みたいなマウントしてる感じ?
2023/08/16(水) 08:18:26.64ID:5G5BuqE80
AppleScriptのスレだったと思うけど、一言「頑張れ」って返したら、自力で目的を達成するスクリプトを書いてた人がいた
だから君も「頑張れ」
2023/08/16(水) 08:26:04.74ID:5G5BuqE80
なんだ、一つ目はOS標準機能にあるじゃないの
https://support.apple.com/ja-jp/guide/terminal/trmlb20c7888/mac
> Finderから新しい「ターミナル」ウインドウやタブを開く
レスを投稿する


ニューススポーツなんでも実況