Приложение Adobe Reader не содержит AppleScript файл словаря в своем комплекте приложения и поэтому не является AppleScript с возможностью сценариев сверх очень ограниченного числа Standard Suite команд и сценариев пользовательского интерфейса его строка меню с Системными событиями .
Если вы просто хотите получить имя документа , который имеет фокус, то следующий пример AppleScript код может сделать это:
if running of application id "com.adobe.Reader" then
try
tell application "System Events" to ¬
set docName to ¬
(get name of every menu item of menu 1 of menu bar item ¬
"Window" of menu bar 1 of application process ¬
"Acrobat Reader" whose value of ¬
attribute "AXMenuItemMarkChar" = "✓") as string
return docName
end try
end if
Использование return docName
было в целях тестирования и может быть при необходимости удалено. Кроме того, для Adobe Reader не было необходимости иметь фокус, а его окно можно было даже свернуть, сценарий по-прежнему извлекал имя как показано в его окне меню .
- Примечание: Это было проверено на macOS High Sierra с использованием US Engli sh и Adobe Acrobat Reader D C (непрерывный выпуск | Версия 2019.021.20058.) И работает как есть. Для других языков и / или других версий Adobe Reader .
могут потребоваться настройки. Примечание: пример AppleScript код только и не содержит никакой дополнительной обработки ошибок , которая может быть уместной. Пользователь должен добавить любую обработку ошибок , которая может быть уместной, необходимой или желаемой. Взгляните на оператор try и error оператор в Руководство по языку AppleScript . См. Также Работа с ошибками . Кроме того, использование delay команда может быть необходимо между событиями, где это необходимо, например, delay 0.5
, со значением задержка установлена соответствующим образом.