我正在使用AHKscript中的COM对象将Excel工作表中包含的数据行复制/粘贴到Web表单中。我在提取Excel工作表中包含的最后一行数据时遇到问题,因此我可以告诉脚本仅循环包含数据的行。COM中的Cells.Find()方法的正确语法AHK脚本中的对象
我使用的答案上stackflow here和here来计算最后一排,但有一个很难得到工作代码:
filepath := "C:\.....\test.xlsx"
X1 := ComObjCreate("Excel.Application")
X1.Visible := 1
X1.Workbooks.Open(filepath)
X1.ActiveWorkbook.Sheets("Input").Activate
Rows := X1.ActiveSheet.Cells.Find(What:="*", After:=X1.ActiveSheet.Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
MsgBox % "value is" . Rows
Return
代码中断第6行(行:=。 ..),返回一个0x800200005 - 类型不匹配错误,具体用'Find'方法。
什么是我百思不得其解的是:
- 在6个线工程中的代码,当我删除SearchOrder和VBA在Excel 宏时粘贴SearchDirection参数
- 在6号线工程中的代码
- 该代码与使用宏记录器时Excel中VBA中记录的内容类似(不包括某些参数)
运行Windows 7 Enterprise,MS Excel 2010和Autoho tkey 1.1.16.05。
xlByRows和xlPrevious是excel constents和ahk不知道它们,也就是你需要在脚本中定义它们 – blackholyman 2014-12-05 14:01:43
如果你找到了正确答案,请发布并接受。 – vasili111 2014-12-18 12:47:30