Как выбрать между двумя приложениями, которые будут открыты? (Автоматизатор)
Я использую Automator для написания приложения (я новичок в программировании, обладающий лишь некоторыми базовыми знаниями), которое даст пользователю подсказку выбирать между двумя различными приложениями. Пока у меня есть это, которое я нашел в другом посте на этом сайте
on run
choose from list {"Old", "New"} with prompt "Choose which launcher you want to use" without multiple selections allowed and empty selection allowed
return the result as string
end run
Когда пользователь выбирает один из двух вариантов и нажимает "ОК", идея заключается в том, чтобы открыть соответствующее приложение. Однако я не могу понять, как заставить приложение прочитать, какая опция выбрана, и открыть соответствующее приложение. Возможно ли это даже изнутри Automator?
1 ответ
Я верю, что следующий код сделает то, что вы хотите. Я перечислил три приложения, два из которых у вас могут быть: "Календарь" (ранее известный как "iCal") и "Контакты" (ранее известный как "Адресная книга"), а также третье приложение под названием "Веб-редактор", которое не Я не хотел тестировать этот скрипт в приложении с пробелом в его названии.
on run
choose from list {"Calendar", "Contacts", "Web Editor"} with prompt "Choose which launcher you want to use" without multiple selections allowed and empty selection allowed
if result is equal to false then
error -128
else
# convert the list return from choose list to a single string
set app_name to result as string
# run the selected app
tell application app_name
launch
activate
end tell
return app_name
end if
end run
# the following line of code cancels the rest of the workflow when the user clicks the "Cancel" button
error -128
Я полагаю, что вам не хватало того, что ваше действие "Запустить AppleScript" вернуло имя приложения, которое передало бы его следующему действию в рабочем процессе.
return the result as string
Что вам нужно сделать, это зафиксировать имя выбранного приложения в переменной следующим образом:
# convert the list returned from the "choose list" command to be a single string
set app_name to result as string
Если у вас есть имя приложения в переменной, вы можете использовать его следующим образом, чтобы открыть приложение:
tell application app_name
launch
activate
end tell
Я не знаю, какую ценность вернуть. То, что вы вернете сюда в AppleScript, будет передано следующему действию Automator в этом рабочем процессе. Единственное, что имеет смысл для меня, это передать имя приложения, которое было выбрано.
return app_name
Мы можем либо вернуть это, либо другую вещь, которая обычно передается как результат действия, является его собственным вводом:
return input
При создании нового действия "Запустить AppleScript" вам необходимо определить "вход", такой как он есть:
on run {input, parameters}
return input
end run
Вышеприведенный скрипт просто передает свой ввод в качестве вывода и ничего не делает, но это только отправная точка.
Я собираю веб-сайт, чтобы он-лайн учебник, и я мог бы использовать вашу помощь. Мне нужны люди, которые являются новичками в программировании, которые возьмут уроки, которые я собираю, и я бесплатно помогу вам, попросив вас оставить отзыв на моем сайте. Если вы заинтересованы, вы можете посетить мой сайт и / или отправить мне письмо.
Начало Mac автоматизации и программирования
kaydell@yahoo.com