我相信下面的代碼會做你想做的事情。我列出了三個應用程序,其中兩個可能有:「日曆」(以前稱爲「iCal」)和「聯繫人」(以前稱爲「地址簿」),以及第三個名爲「Web編輯器」的應用程序,我們走來與Mac,但我想測試這個腳本的應用程序在其名稱中的空格。
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
上述腳本只是將它的輸入視爲輸出,並沒有做任何事情,但是這僅僅是一個起點。
我在網上做一個在線教程,我可以使用你的幫助。我需要那些新編程的人,他們會把我正在編寫的教程放在一起,我會免費協助您,只要您在我的網站上給我反饋。如果你有興趣,你可以訪問我的網站和/或給我發一封電子郵件。
Beginning Mac Automation and Programming
[email protected]
好的,謝謝!我會試試看看它是否有效! – user2547859
@Kaydell我想知道你爲什麼同時啓動和激活。並意識到,我可以發誓的是隻使用啓動啓動應用程序,所以它不會成爲最前面或啓動應用程序,以便它確實成爲最前面的舊行爲不是目前的行爲。他們兩人都自己打開應用程序,所以它不會成爲最前線。並一起將應用程序帶到最前面。可能是錯誤,年老或新的行爲。 – markhunte
@markhunte我不能說我明白了。這正是我必須做的,讓應用第二次出現在被腳本激活並且隨後運行該腳本後,我必須同時啓動和激活才能擁有這些應用在前面展示他們的窗戶。 – Kaydell