1

我使用系统事件来控制没有 AppleScript 库的程序。我因此使用系统事件来控制它。

我已经让程序为其打开一个弹出窗口打开文件界面,我想让它默认到某个位置。这可能吗。到目前为止,我有:

tell application "App Name"
activate
end tell
tell application "System Events"
tell process "App Name"
    tell menu bar 1
        tell menu bar item "File"
            tell menu "File"
                tell menu item "Import"
                    tell menu "Import"
                        click menu item "XML..."
                        delay 4

                    end tell
                end tell
            end tell
        end tell
    end tell
end tell
end tell

弹出窗口默认为其上次访问的位置。我希望它默认为给定的文件路径,例如 /Users/userabc/Documents/abcd.XML

谢谢

4

3 回答 3

2

如果您有一个位置的“posix 路径”并且打开了对话框,您可以执行以下操作。请注意,该位置可以是文件夹或文件路径。如果它是文件路径,则将选择该文件,然后您只需“击键返回”即可关闭对话框并打开该文件。祝你好运。

set theLocation to path to home folder
set posixLocation to POSIX path of theLocation

tell application "System Events"
    keystroke "g" using {command down, shift down}
    delay 0.5
    keystroke posixLocation
    delay 0.5
    keystroke return
end tell
于 2012-07-23T08:32:40.807 回答
0

这种方法的唯一问题是自动更正开始在文本框中输入苹果脚本类型并将所有内容都搞砸了。解决方法是从 applescript 复制/粘贴。

于 2013-05-17T07:41:58.420 回答
0

击键命令不适用于插入当前输入源无法插入的字符。而且它根本不适用于某些输入源。

您还可以设置文本字段的值:

tell application "System Events" to tell (process 1 where frontmost is true)
    keystroke "g" using {shift down, command down}
    tell window 1
        tell sheet 1
            set value of text field 1 to "/usr/share/dict/connectives"
            click button 1
        end tell
        click button "Open"
    end tell
end tell
于 2013-05-17T15:58:30.200 回答