回答:
AppleScript言語内のダイアログアラートには、メニューという概念が組み込まれていません。
最も近い方法は、適切なアクションを使用して(一時フォルダー内の)ダミーファイルに名前を付け、ユーザーに実行するアクションのラベルが付いたファイルを選択させることです。
open folder blah
with selected file bah
do whatever
ココアメニューを必要とする問題に対する恐ろしい「解決策」-Xcode で作成するか他の誰かが作成するかに関わらず、Xcode / IBはメニューを作成するツールです。MacRubyは、AppleScriptよりも完全な機能を備えたUIを必要とするアプリをスクリプト化するための優れた方法です。純粋なスクリプトからアプリを作成するのにXcode / IBは必要ありません。
Interface Builderを使用してNIBを作成し、AppleScriptを使用してすべてスクリプトを作成できますが、nibはメニュー自体を定義します-AppleScriptではなく(実行時にAppleScriptがメニュー項目を追加または削除できる場合でも)。
1つのオプションは、CocoaDialog ** を使用することです。
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l
また、単に使用することもできますchoose from list
:
choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
**このGithubリポジトリの元のURL mstratman
が変更されました。研究から、CocoaDialogは組織に移行したようです。新しい変更点は次のとおりです。
これは古い質問であると理解していますが、CocoaDialog 2のドキュメントでは、最高の回答が示されているため、
ダウンロードが機能しないcocoadialog 2のダウンロードは利用できなくなりました。これは主に、長年にわたるさまざまな変更と永続的なストレージの不足によるものです。
そして、3は春/夏18まで来ていません。私は他の選択肢を探していましたが、パシュアを見つけました:
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
スクリーンショット:
Github リポジトリ
それを使用した後、アプリケーションディレクトリにPashua.appをインストールできるか、アプリにPashuaを埋め込むことができることがわかりました。私はこの作者ではありませんが、GUIの基本ソリューションが必要であり、これについては言及しませんでした。
AppleScriptにはXcodeは必要ありません。アプリケーション/ユーティリティでAppleScript Editorを開くだけです(ユーティリティフォルダのFinderショートカット:⌘ Command+ Shift+ U)。MacScripterのドロップダウンメニューには、ドロップダウンメニューのサンプルコードがあります。