Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行

Posted on 10月 27, 2021 by Takaaki Naganoya

macOS 12で新規搭載された「ショートカット.app」、このアプリケーション上で記述するワークフローを「ショートカット」、ショートカットを構成する各コマンドを「アクション」と呼びます。

ショートカット.appは日本語ローカライズされた名称であって、実際には「Shortcuts.app」という名前です。

AppleScript用のショートカット実行GUIなしアプリケーション「Shortcuts Events.app」が別途(ショートカット.appのバンドル内に)存在しており、こちらもAppleScript用語辞書を備えています。

Shortcuts.appに対してコマンドを実行すると、同アプリケーションが起動します。Shortcuts Events.appに対してコマンドを実行すると、Shortcuts.appは起動しません。

両者とも辞書内容は一緒であり、バージョン番号と名前以外に差異はありません。

AppleScript名:ショートカットのプロパティを取得.scpt
tell application "Shortcuts"
  properties
  
–> {frontmost:false, class:application, name:"Shortcuts", version:"5.0"}
end tell

★Click Here to Open This Script 

AppleScript名:Shortcuts Eventsのプロパティを取得.scpt
tell application "Shortcuts Events"
  properties
  
–> {frontmost:false, class:application, name:"Shortcuts Events", version:"1.0"}
end tell

★Click Here to Open This Script 

ショートカット.appを起動するとこのようなウィンドウが表示されます。

あるいは、このようなウィンドウです。

ショートカット一覧が並んだ表示状態で実行することもできますし、ダブルクリックして個別ウィンドウ表示した状態で実行することも可能です。

また、メニューから実行することも可能です。

環境設定では、以下のような設定が行えます。「詳細」に「スクリプトの実行を許可」の項目があり、デフォルトではオフになっています。当然、ここはオンにします。他の項目についても適宜、自己責任でオンにすることになります。

ショートカット(ワークフロー)はローカルに保存されません。iCloud上に保存されます。

ショートカット(ワークフロー)の共有はコンテクストメニューから行います。このさい、iCloud上のURLが直接表示されないため、少々面倒な感じです。

「リーディングリスト」で共有すると、WebブラウザのURL欄に詳細なURLが表示されるため、これを用いるとよさそうです。

https://www.icloud.com/shortcuts/e788482535704922aaa9f617491353b2

新規ショートカットの作成には、メニューから「ファイル」>「新規ショートカット」(Command-n)を実行するか、ショートカット.appのウィンドウでツールバーの「+」をクリックします(すべてのショートカット、My Shortcutなど選択中のフォルダによって表示/非表示状態が変わります)。

初期状態はこんな(↑)感じです。アクションを選択してダブルクリックするか、ビュー上にドラッグ&ドロップするとアクションが置かれます。

最初なので、ダイアログでも出しておきましょう。

ツールバー上の「▶︎」ボタンをクリックするか、Command-rでショートカット(ワークフロー)を実行します。

ショートカットは名前で識別することになります。ツールバー上の名称を変更すると名前を付けられます。

AppleScript側からはこの名前「AS TEST2」を指定して呼び出すことになります。

AppleScript名:ショートカット.appでショートカット実行.scpt
tell application "Shortcuts"
  run shortcut "AS TEST2"
end tell

★Click Here to Open This Script 

AppleScript名:Shortcuts Eventsでショートカット実行.scpt
tell application "Shortcuts Events"
  run shortcut "AS TEST2"
end tell

★Click Here to Open This Script 

現在のところ、Shortcuts.appならびにShortcuts Events.appのrunコマンドでパラメータを指定すると実行時にエラーになるので、パラメータをAS側からショートカット側に指定できていません。クリップボード経由で指定するとかいってアクロバット技を使えばできないことはありませんが、パラメータを指定できないのは明らかな「バグ」です。

あとは、他のプログラムとの相互運用性を高めるためには、ショートカット側の実行結果をAS側に返してくれることが望ましいです。オブジェクトによっては、sdefを通じてやりとりできないCocoa Object(CLLocationなど)もありますが、結果は得られるべきでしょう。

ショートカット.appについては、ヘルプにけっこうな内容の説明が書かれているので、まずはそちらを読むとよいでしょう。ただ、日本語訳がよくないのか「お前は何を言ってるんだ?」という表現が散見され、説明文というよりも広告みたいな内容の箇所もあります。

More from my site

  • macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?
  • 集中モード(Don’t Disturb Mode)に設定する集中モード(Don’t Disturb Mode)に設定する
  • Shortcuts Eventsでショートカットのインストール+実行Shortcuts Eventsでショートカットのインストール+実行
  • macOS 12が正式リリースされるmacOS 12が正式リリースされる
  • Shortcuts EventsShortcuts Events
  • Finderの隠し命令openVirtualLocationが発見されるFinderの隠し命令openVirtualLocationが発見される
(Visited 2,075 times, 2 visits today)
Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | 12 Comments

12 thoughts on “<span>AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行</span>”

  1. 10/27/21
    8:14 PM
    2021年10月27日
    8:14 PM

    Reply

    ささき says:

    Shortcuts.appやShortcuts Events.appもやっぱりセキュリティー設定で許可にしてやる必要があるのですか?

  2. 10/27/21
    10:14 PM
    2021年10月27日
    10:14 PM

    Reply

    Takaaki Naganoya says:

    システム環境設定の「セキュリティとプライバシー>プライバシー>オートメーション」
    の設定については、とくに「Finderをコントロールするなら許可しろ」とか「FileMaker Proをコントロールするなら許可しろ」と聞いてくることはありません。

  3. 10/28/21
    5:58 AM
    2021年10月28日
    5:58 AM

    Reply

    Dirk says:

    You can even share parameters between shortcuts and AS, if belly something buggy. I have written something about this:

    • 10/28/21
      6:00 AM
      2021年10月28日
      6:00 AM

      Reply

      Dirk says:

      See: Late Night Software -> Forum -> AppleScript much faster on Monterey?

  4. 10/28/21
    11:11 AM
    2021年10月28日
    11:11 AM

    Reply

    Takaaki Naganoya says:

    Hi Dirk,
    I read the thread on LateNightSW and found Shortcuts’s parameter function works partly.
    I wrote simple parameter receiving Shortcut to receive parameters.

    https://www.icloud.com/shortcuts/b9d99ea21804455ba765c972b115603d

    “accepts” word have to be re-written as “with” word in every compilation as Dirk wrote.

    set aList to “AAAA”
    tell application “Shortcuts”
    set theResult to run shortcut named “Test” accepts input aList
    end tell
    –> string parameter is OK.

    set aList to {1, 2, 3}
    tell application “Shortcuts”
    set theResult to run shortcut named “Test” accepts input aList
    end tell
    –> list parameter is OK.

    set aList to {myLabel:11111}
    tell application “Shortcuts”
    set theResult to run shortcut named “Test” accepts input aList
    end tell
    –> record is ignored…..hmmmmm

    Though we can’t pass through Cocoa Objects via AppleScript’s sdef interface, clipboard may be able to pass some Cocoa objects such as NSImage, PDFDocument and so on….

  5. 10/28/21
    8:13 PM
    2021年10月28日
    8:13 PM

    Reply

    Dirk says:

    Hi Takaaki,

    You are right. Records are currently simply ignored. But I found that you can used the output from the AppleScript action directly (e.g. with the List action “Object for index”).

    on run {input, parameters}
    return input as list
    end run

    List action: “Object for index 1 of AppleScript-Result”

    Therefore I assume that the handling of records is a bug, because dictionaries are also available in shortcuts.

    Since I don’t know how to post links here, I posted my example shortcut again in the LateNightSW forum: “Example of passing parameters to a Shotcuts and getting the return”.

    Greetings
    Dirk

    • 10/29/21
      12:46 AM
      2021年10月29日
      12:46 AM

      Reply

      Takaaki Naganoya says:

      We can share Shortcuts workflow by adding it to Safari Reading List.
      Shortcuts’ URL is displayed in Safari URL bar.

      https://youtu.be/g8QC0tuMMic

  6. 10/28/21
    11:27 PM
    2021年10月28日
    11:27 PM

    Reply

    Dirk says:

    Records works with passing as JSON string.
    (See forum)

    • 10/29/21
      1:04 AM
      2021年10月29日
      1:04 AM

      Reply

      Takaaki Naganoya says:

      http://piyocast.com/as/wp-content/uploads/2021/10/8b628de8b019be8c80d6368616acd4f0.jpeg

      This Shortcuts & AppleScript causes crash. Shortcuts seems very unstable for me….

  7. 10/29/21
    2:08 AM
    2021年10月29日
    2:08 AM

    Reply

    Dirk says:

    You must set the destination to a Japanese place. Otherwise it can’t work, because there is no route from your place to Germany. It can also be due to the language.

    • 10/29/21
      11:03 PM
      2021年10月29日
      11:03 PM

      Reply

      Takaaki Naganoya says:

      I confirmed that this Shortcuts workflow works with Japanese address.

      • 10/30/21
        12:18 AM
        2021年10月30日
        12:18 AM

        Reply

        Dirk says:

        Thanks for the feedback!
        The sample was only meant to show that the parameter passing with a JSON string makes the whole thing quite comfortable, even though accessing the values may be a bit unusual.

        Greetings
        Dirk

        PS: You are right! The shortcut app currently still contains many bugs and is very unstable. It’s shameful that Apple releases an app with so many bugs.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • 指定のWordファイルをPDFに書き出す
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AdobeがInDesign v19.4からPOSIX pathを採用
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • AppleScriptによる並列処理
  • Cocoa Scripting Course 続刊計画
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • Keynote/Pagesで選択中の表カラムの幅を均等割
  • Keynote、Pages、Numbers Ver.14.0が登場
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • AppleScript入門① AppleScriptってなんだろう?
  • Numbersで最前面の書類のすべてのシート上の表の行数を合計
  • macOS 14で変更になったOSバージョン取得APIの返り値

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (194) 14.0savvy (147) 15.0savvy (129) CotEditor (66) Finder (51) iTunes (19) Keynote (116) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (55) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC