我正在使用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