Сказать приложение - строка против строки?

Если я бегу:

tell application "Maps"
    set miniaturized of windows to false
end tell

... это отлично работает

Тем не менее, когда я бегу:

set applicationName to "Maps"
tell application applicationName
    set miniaturized of windows to false
end tell

...Я получил:

Карты получили ошибку: не могу сделать | миниатюрный | каждого окна в ссылку на тип.

Я также попробовал:

tell application (applicationName as string)
    ...
end tell

... но я получаю ту же ошибку.

Я новичок в Apple Script и не совсем понимаю нюансы между ними.

2 ответа

Решение

Аргумент tell application требуется литеральная строка (константа), потому что терминология оценивается во время компиляции.

Альтернатива using terms from application блок, но аргумент также требует литеральной строки

using terms from application "Maps"

end using terms from

Это работает для меня, используя последнюю версию Sierra

set applicationName to "Maps"
tell application applicationName
    tell its windows
        set miniaturized to false
    end tell
end tell

Это также работает для меня

set applicationName to "Maps"
tell application applicationName's windows to set miniaturized to false

Другие вопросы по тегам