2017-10-20 1 views
1

Wenn ich laufen:Tell Anwendung - String vs. String?

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

... das funktioniert gut

Doch wenn ich laufe:

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

... ich:

Karten einen Fehler bekam : Kann nicht | miniaturisiert | von jedem Fenster in Typenreferenz.

ich auch versucht:

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

... aber ich bekomme den gleichen Fehler.

Ich bin neu in Apple Script und verstehe die Nuancen zwischen den beiden nicht ganz.

Antwort

1

Das Argument tell application muss eine literale Zeichenfolge (eine Konstante) sein, da die Terminologie zum Zeitpunkt der Kompilierung ausgewertet wird.

Die Alternative ist ein using terms from application Block aber das Argument erfordert eine Zeichenkette, zu

using terms from application "Maps" 

end using terms from 
0

Dies funktioniert für mich

die neueste Version von Sierra mit
set applicationName to "Maps" 
tell application applicationName 
    tell its windows 
     set miniaturized to false 
    end tell 
end tell 

enter image description here

Dies auch funktioniert für mich

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

enter image description here

+0

Ich laufe auch Sierra (10.12.6), aber keiner von beiden funktioniert auf meinem Rechner. Sie erzeugen keine Fehler, aber sie stellen auch die Fenster nicht wieder her. – Jeff