【发布时间】:2018-06-15 21:51:12
【问题描述】:
这里是 AHK 新手。
我有一个电子表格,其中包含用于在 IE 中的应用程序中填写表单的数据。
也许有更好的方法,但是是否可以在没有 Loop 函数的情况下解析剪贴板?
我创建了这段代码来复制 excel 中的选定范围并解析剪贴板,将每个值粘贴到一列中:
^`::
Send, ^c ; this copies the column in Excel
WinActivate, ahk_exe iexplore.exe ; activate browser
Sleep 30
Loop, parse, clipboard, `n, `r
{
Send, ^a
SendRaw, %A_LoopField%
Sleep 30
Send, {down}
Sleep 30
}
clipboard =
Return
问题是不能总是将数据粘贴到列中。有时,模式会是这样的:
Send, ^c ; copy the selected data in Excel
WinActivate, ahk_exe iexplore.exe ; activate browser
Sleep 30
;paste first data item
SendInput, {down}{tab}
;paste second data item
SendInput, +{tab}{down}
;paste third data item
SendInput, {down}
;paste fourth data item
SendInput, {down}
;paste fifth data item
另外,有没有办法根据名称的开头来激活窗口(Excel 电子表格)?基本上,我有几份报告(数据来自哪里),例如,以 XXX 开头,然后有一个识别参考号(例如 XYZ 31259875、XYZ 57896547)。一次只能打开其中一份报告。
请原谅我的无知,提前谢谢你!
【问题讨论】:
-
脚本如何知道何时下降或横盘?我不认为循环是你的问题,它正在弄清楚如何检测脚本应该如何导航工作表。
-
@Sidola 我在想我可以有几个脚本,每个模式一个(如上面的示例)。
-
假设您确切知道您正在处理多少行,您可以使用StrSplit() 并将其转换为一个数组,然后在不同的行访问该数组。
标签: autohotkey