Создайте AppleScript для программы, которая не установлена ​​на текущем компьютере - PullRequest
2 голосов
/ 10 июня 2011

Я пытаюсь сделать две копии AppleScript, одну для Entourage и одну для Outlook. У меня только Entourage установлен на текущем компьютере.

Согласно информации на сайте Microsoft, оба приложения имеют одну и ту же библиотеку команд AppleScript, и я должен иметь возможность просто изменить имя приложения, указанное в скрипте.

Изменение:

Tell application "Microsoft Entourage"

до

Tell application "Microsoft Outlook"

Запрещает мне сохранять скрипт, потому что у меня не установлен Outlook на этом компьютере. Есть ли способ обойти это? Нужно ли использовать текстовый редактор для редактирования самого файла скрипта и изменения его там?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 10 июня 2011

Следующий обходной путь может помочь.На компьютере, на котором установлен Entourage, директива с использованием терминов позволит вам скомпилировать сценарий, даже если Outlook не установлен:

set theApp to a reference to application "Microsoft Outlook"
using terms from application "Microsoft Entourage"
    tell theApp
        get version
        ...
    end tell
end using terms from

После компиляции и сохранения сценария редактор AppleScriptсообщит вам об отсутствующем приложении Outlook, но, тем не менее, создаст скомпилированный файл AppleScript (.scpt).

0 голосов
/ 18 июня 2011

Должна быть возможность создать один скрипт, который будет работать как с Entourage, так и с Outlook, без ошибок, если он не найден ни при компиляции, ни при запуске.У меня нет ни Entourage, ни Outlook, но он должен работать так:

using terms from application "Microsoft Entourage"
    script theScript
        tell application "Finder" to try
            set theApp to application file id "Entourage's Bundle ID" as text
        on error
            set theApp to application file id "Outlook's Bundle ID" as text
        end try
        tell application theApp
            -- do stuff
        end tell
    end script
end using terms from
store script theScript in "MyScript.scpt"

«использование терминов из» имеет значение только при компиляции скрипта - не нужно при запуске, хотя и по какой-то причиневы все равно будете получать ошибки, если это приложение не найдено.Поэтому, обернув его вокруг объекта сценария и затем записав этот сценарий в файл, полученный сценарий все равно будет работать, но не будет содержать «используя термины из» и, следовательно, не будет доставлять пользователю ошибку.

ссылаясь на нужное приложение, Finder может искать его по идентификатору и просто сообщать об ошибке, если он не найден, вместо того, чтобы вызывать ошибку пользователя.Вам нужно будет ввести правильные идентификаторы, я не знаю, какие они.

0 голосов
/ 10 июня 2011

Applescript - это предварительно согласованный формат файла. Это означает, что каждый раз, когда вы нажимаете «Сохранить», он выполняет серию шагов, чтобы убедиться, что скрипт будет работать, но фактически не будет проходить через логику скрипта.Часть этих шагов заключается в поиске приложения, чтобы увидеть, существует ли оно на Mac.

Короче говоря, если вы хотите сохранить скрипт как Applescript, вам нужно установить целевое приложение, в противном случае вы можете сохранить скрипт в виде текстового файла и переместить файл на целевой Mac, чтобы сохранить какЯблоко там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...