2017-02-05 9 views
0

iTunesの[Export Library ..]ダイアログと対話しようとしています。アクセシビリティインスペクタの説明が "<空の説明>(グループ)[NSBox]"のウィンドウ内のオブジェクトをAppleScriptで参照するにはどうすればよいですか?

「ウィンドウwinNameのグループ1のポップアップボタン1のメニュー1のすべてのメニュー項目に選択肢を設定しようとしましたが、「グループ1」は無効なインデックスですか?

ここでは、関連するコードは次のとおりです(コール・パラメータは、「iMacの-8ギガバイト」、「iTunesの」、「iTunesは」、偽輸出ライブラリー」

on handleDir(dir, winName, appName, createIt) 
    local foundIt, ndx 
    set foundIt to false 
    if winName is not "" then 
     tell application "System Events" to tell process "iTunes" 
      set choices to every menu item of menu 1 of pop up button 1 of group 1 of window winName 
+0

エクスポートする別のフォルダを定義することができます。キーストローク経由でショートカットコマンドGを使用します。保存したいパスを "キーストローク"し、ダイアログを閉じるには "キーストローク"を入力します。フォルダのパスはunix形式でなければなりません:folder/subfolder/ – pbell

+0

@pbell - 「ショートカットコマンドGを使用する」という意味を理解できませんか?私はキーストロークに精通していますが、私が知っているショートカットコマンドGはありません。サンプルコードの回答を提供できますか? –

答えて

0

Use AppleScript to list the names of all UI elements in a window (GUI scripting)

への回答から来た

tell application "System Events" 
    tell front window of (first application process whose frontmost is true) 
     set uiElems to entire contents 
    end tell 
end tell 

を私はNSBoxがAppleScriptをすることによって、 『アウトライン』と呼ばれていることを発見しました。

0

あなたはメニューを利用したい 『...』からiTunes:

私のiTunesバージョン(12.5.5.5)では、メニューは「ファイル」メニュー、サブメニュー項目「ライブラリ」、サブメニュー「ライブラリの書き出し...」の順になっています。

2番目のステップでは、エクスポートファイル名を入力して保存先フォルダを設定します。Macの[名前を付けて保存] ... w indowには多くのショートカットがあり、すべてのアプリケーションで有効です。コマンドGでは、ファイルを保存するための完全なパスを定義することができます。このパスはUnix形式でなければなりません(サブレベルの場合は "/"で、 ":"ではありません)。

ベロースクリプトは完全なライブラリのエクスポート機能を実行します。最初の2行は、保存するファイルの名前と保存先のパスを定義します。あなたのニーズに合わせて調整してください。

set myTitle to "test" -- name of the exported file 
set myPath to "/Users/myuser/Desktop/Test_folder" -- destination folder for export file 

tell application "iTunes" to activate -- make iTunes front 
tell application "System Events" 
tell process "iTunes" 
    click menu 3 of menu bar 1 -- open the File menu 
    click menu item 12 of menu 3 of menu bar 1 -- select the Library menu item 
    delay 0.1 
    click menu item 5 of menu 1 of menu item 12 of menu 3 of menu bar 1 -- select the export library… item 
    delay 0.1 
    keystroke myTitle -- fill the export file name in the save as… dialog 
    keystroke "G" using command down -- shortcut to open Go-to folder window 
    keystroke myPath 
    keystroke return -- to close the go-to window 
    delay 0.1 
    keystroke return -- to close the export window 
end tell -- process iTunes 
end tell -- system Events 

Macにウィンドウを開閉するのに十分な時間があることを確認するためにいくつかの遅延が追加されました。特に、iTunesを対象とするように変更、このコードを使用して

+0

数値参照のいくつかが間違っていたため、あなたのコードは私のシステムで動作するよう修正が必要でした。私の変更されたバージョンは名前ですべてを参照し、正しく動作します。アイデアとサンプルコードが正しい方向に私を押してくれてありがとう –

+0

数字の代わりに名前を使うとスクリプトが読みやすくなりますが、言語に依存しないので数字を使用してコメントを追加する方が好きです。メニュー名 "File"は英語でのみtrueですが、メニュー3は常に正しいです!それがあなたを助けてくれることを嬉しく思います。 – pbell

関連する問題