我必须在一些在线表格中填写一些信息,如客户姓名、地址、电话号码和父亲姓名等。我希望我填写的在线表格能够自动发送到 excel 工作表,而无需进行复制粘贴。这意味着我不想先复制这些信息并将其粘贴到 excel 工作表中。
我想同时在两个地方(即在线表格和 Excel 表)填写此信息。当我输入客户姓名 WILL JACSON 时,它应该自动进入 Excel 表的单元格 a1,而无需进行复制粘贴。现在我输入他的地址为 WARD NO 4 STREET NO 7。
现在,这应该进入该 Excel 表的单元格 b1,而无需复制粘贴。现在我输入他的电话号码 1234567890。
它应该自动进入该 Excel 表的单元格 c1,而无需进行复制粘贴。等等。可能吗?
答案1
你想要的都是可能的。下面的脚本由 control + shift + 1 启动。
举一个简单的例子,假设您有一个 Excel 工作簿,窗口标题为 Book1 - Excel,打开后光标位于 A1。您的在线表单有五个字段,并且是活动窗口,光标已准备好在第一个字段中输入内容。按下 Ctrl+Shift+1。此热键将捕获您在第一个字段中输入的接下来 300 个字符,直到您按下 Tab 键。按下 Tab 键后,您输入的信息将显示在 Excel 的 A1 单元格中。然后按下右键将光标移动到 Excel 中的下一列。在此期间,您的在线表单仍是活动窗口。然后输入您的地址字段并再次按下 Tab 键,依此类推。无需复制/粘贴,输入时信息将出现在两个位置。
确保您已从 ahkscript.org 安装最新版本的 autohotkey。您可能需要使用 ahk 的 Window Spy 来获取 excel 的控件或准确的窗口标题。使用窗口间谍确保其显示的内容与我在下面输入的内容相匹配。
由于您的表单可能更复杂,您可能需要调整此脚本以适应您的用例。请记住,如果您意外输入的字符多于表单可以容纳的字符,则它们将全部输入到 excel 中。明智地进行调整,这样您就不会遇到这个问题!
^+1::
Loop, 5
{
Input, inputVar, C IL300 V, %A_Tab%
controlsend, EXCEL71, %inputVar%{right}, Book1 - Excel
}
return