質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
AppleScript

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

Automator

Automatorは、作業を自動化するワークフロー構築ソフトウェア。Macに標準で搭載されています。ドラッグ&ドロップ操作で自動化レシピを作成。任意のショートカットキーで実行することが可能です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

2回答

5848閲覧

applescript(Automator)で単純なクリックやドラッグを指定したい

Rasny

総合スコア21

AppleScript

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

Automator

Automatorは、作業を自動化するワークフロー構築ソフトウェア。Macに標準で搭載されています。ドラッグ&ドロップ操作で自動化レシピを作成。任意のショートカットキーで実行することが可能です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2021/09/12 06:48

Macの単純作業を自動化したいです。

applescriptで、画面上の場所指定によるクリックやドラッグを再現したいのですが、Automatorでの「記録」では「どこのアプリの何々をクリック」みたいになってしまい、うまくいきません。

Automatorの「記録」でデスクトップの適当な箇所をクリックすると、

Applescript

1on run {input, parameters} 2 -- マウスがクリックされました 3 delay 1.402326 4 set timeoutSeconds to 2.000000 5 set uiScript to "click group 1 of scroll area 1 of application process \"Finder\"" 6 my doWithTimeout( uiScript, timeoutSeconds ) 7 return input 8end run

のようになってしまいます。

  1. どのアプリを開いてるとか関係なく、「画面上の(X , Y)地点を右クリック」や「画面上の(X1 , Y1)〜(X2 , Y2)までドラッグ」というのを指定するにはどうしたらいいでしょうか?

  2. また、動作を指定回数繰り返す、という書き方も合わせて教えていただけるとありがたいです。

よろしくお願いいたします。

追記(わかる方はわかる)
スマホのAutoTouchみたいなイメージです。
ほんの少しですが、LUAをいじって反復や条件指定などはできてました。
似たようなことがAppleScriptでもできると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

一般的には、座標をクリックする方法ではなくて、デスクトップ上にあるオブジェクトを条件で抽出して、Finderでオープンする操作を行ったり、指定のアプリケーションでオープンする操作を記述することになります。

とくに、「ドラッグ&ドロップ」という動作をそのまま行うのがAppleScriptでは難しいので、「何かのアプリケーションのDock上のアイコンにドラッグ&ドロップする」という話であれば、「何らかのアプリケーションに対して指定のファイルをオープンさせる」といったように、内容を翻訳する必要があります。

投稿2023/12/26 06:23

Piyomaru

総合スコア75

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

動作を指定回数繰り返す、という書き方

こちらのドキュメントに記載されている repeat Statements の中から適当なものを使うとよいでしょう。
Apple Developer > Documentation Archive > AppleScript Language Guide > Control Statements Reference > repeat Statements

  1. の方は分かりませんが、画面上の(X , Y)地点をクリック(右クリックではない)であれば

applescript

1tell application "System Events" 2 click at {10, 10} 3end tell

投稿2021/09/13 07:44

etherbeg

総合スコア1195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問