如何让applescript在插入点所在的位置写入存储在变量中的值?

如何让applescript在插入点所在的位置写入存储在变量中的值?,applescript,Applescript,如何让applescript在插入点所在的位置写入变量中存储的值,而不管文件或应用程序处于焦点位置?必须通过击键命令模拟键盘输入。但这意味着您必须首先将变量转换为字符串。您将遇到的第二个问题是,您的应用程序必须是激活的,并且您在后台运行的脚本不应该成为预先的。在本例中,类似于bellow的内容是Application=TextEdit set myVariable to 10 tell application "TextEdit" activate delay 1 tell applicati

如何让applescript在插入点所在的位置写入变量中存储的值,而不管文件或应用程序处于焦点位置?

必须通过击键命令模拟键盘输入。但这意味着您必须首先将变量转换为字符串。您将遇到的第二个问题是,您的应用程序必须是激活的,并且您在后台运行的脚本不应该成为预先的。在本例中,类似于bellow的内容是Application=TextEdit

set myVariable to 10
tell application "TextEdit"
activate
delay 1 
tell application "System Events" to keystroke (myVariable as string)
end tell

不过,使用系统事件/GUI脚本模拟用户输入是不可靠的。根据他/她在做什么,OP可能会更好地将脚本打包为服务。它们很容易在Automator中创建,其中包括运行脚本的操作,您可以在系统首选项中为它们提供键盘快捷键,或者从应用程序自己的服务子菜单中运行它们,它们依赖于实际的系统API,而不是翅膀和祈祷,所以会更加健壮。@pbell这在某种程度上是有效的,我不允许表达感激之情,也就是说,它允许applescript写入变量的值,但到目前为止它仍然只绑定到一个应用程序。现在我发现,如果使用“最前面的应用程序”而不是命名的应用程序,它仍然有效,现在很明显,在任何地方。我已经在iText、Excel和Firefox的web表单中对其进行了测试。这里是脚本的一部分:告诉应用程序系统事件设置x为{随机数从1到250}延迟0.5告诉最前面的应用程序告诉应用程序系统事件到击键x作为字符串结束告诉延迟0.2键代码48键代码36结束告诉顺便说一句,我直到今天才知道脚本中可能有比结束告诉更多的“告诉”@我现在发现,如果您使用“最前端的应用程序”而不是命名的应用程序,它仍然可以工作,现在显然在任何地方都可以。我已经在iText、Excel和Firefox的web表单中对其进行了测试。这里是脚本的一部分:告诉应用程序系统事件设置x为{随机数从1到250}延迟0.5告诉最前面的应用程序告诉应用程序系统事件到击键x作为字符串结束告诉延迟0.2键代码48键代码36结束告诉顺便说一句,我直到今天才知道脚本中可能有比结束告诉更多的“告诉”@foo还没有尝试automator方法。很抱歉格式不好等,但我对Stackoverflow的系统完全感到困惑。