使用剪贴板信息打开Word中的文件的AutoHotkey可以在Win8中运行,但不能在Win7中运行

时间:2015-07-25 01:48:35

标签: macros autohotkey

我为同事创建了一个AHK宏。我有Windows 8;她有Windows 7.她有两个“待处理工作”文件夹,一个用于文档,另一个用于音频文件。文档文件夹中的(文本)文件名对应于音频文件夹中的文件名。因此,例如,如果音频文件夹中有一个名为abc123.mp3的音频文件,则文档文件夹中会有一个名为abc123.txt的文件。

当她在她的转录(媒体播放器)应用中打开音频文件时,作为该过程的一部分,我想让AHK宏自动打开匹配的文本文件(在Word中)。

我创建了一个AHK宏,从她选择要从她的转录应用程序打开的文件开始。在她选择文件的位置,她调用AHK快捷键,然后切换重命名功能( F2 ),将文本复制到剪贴板( Ctrl + C ),打开文件( Alt + O ),然后使用剪贴板信息(以及路径信息)打开相应的文本文件字。

它在我的系统上完美运行。但是,当我今天早些时候登录她的系统演示宏时,宏不起作用。它起作用 - 它将重命名文件,复制文件名,打开音频文件,文件名在剪贴板中。但那就是死亡的地方,没有错误信息。在故障排除期间,我尝试将宏隔离为一个命令 - 只需在WinWord.exe中打开(固定名称)文件,但这也不起作用。

我一直无法找到与此问题相关的任何研究。我知道有很多方法可以完成这项任务,但我的AHK脚本技能和我的空闲时间是有限的,所以我选择了我知道我能够快速完成的任务。我愿意接受有关如何排除故障或调整此宏以使其在其系统上运行的建议。当它在我的作品上运行时很难排除故障!

NumpadEnter::
Send {F2}{Sleep 100}
Clipboard=
Send ^c
Send {Sleep 100}!o{Sleep 100}
Run, WinWord.exe "C:\DocFiles\"%Clipboard%.txt
Return

1 个答案:

答案 0 :(得分:2)

只是一个猜测,但我相信你想要睡眠命令而不是睡眠键?请确保您使用的是最新版本的AutoHotkey,您可以从www.ahkscript.org

下载
NumpadEnter::
Send {F2}
Sleep, 100
Clipboard=
Send, ^c
Run, WinWord.exe "C:\DocFiles\"%Clipboard%.txt
Sleep 100
Send, ^o
Sleep 100
Send, ^v
Sleep 100
Send, !o
Return

编辑:

在您发布的脚本中,您通过在单词Sleep旁边放置括号,告诉计算机Send Sleep Key。像这样{Sleep}

此外,您还告诉您的脚本不只是Send一个密钥...您告诉Send Sleep Key 100 times by placing the number 100 in the brackets, separated by a space, with the named key.同样如此:{{ 1}}

我看不出您希望如何让脚本模拟100次按键按下?

我上面发布的内容使用了以毫秒为单位延迟脚本的Sleep Command。我相信这是你想要的。