【发布时间】:2017-09-14 06:17:09
【问题描述】:
为什么在 VBScript 中执行 End(xlDown) 时会出现“未知的运行时错误”?
Dim objExcel, objSheet, pbjPath, objBook
objPath="C:\Users\Documents\automateexcel.xls"
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open(objPath)
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
objSheet.Cells(1,1).Value = "Punter"
objExcel.Range("A1").End(xlDown).Offset(1,1).Value = "14"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Range("A1").End(xlDown).Offset(1,1).Value = "14" 行被写入以用值 14 填充第一列中的第一个空单元格。我可以硬编码到工作表中的任何单元格中。但是这种xlDown 填充空单元格的方法会导致未知的运行时错误。
C:\Try\automateexcel.vbs(9, 1)
Microsoft VBScript 运行时错误:未知的运行时错误
【问题讨论】:
-
objSheet.Range("A1")... -
没有改善斯科特。 objSheet.Range("A1") 仍然抛出同样的未知错误
-
A 列是否至少在第 2 行有数据?如果不是,您将转到页面底部并尝试多走一行。尝试从底部开始,然后向上:
objSheet.Range("A60000").End(xlUp).Offset(1,1).Value = "14" -
vbscript 不知道
xlDown是什么。将Option Explicit放在最上面。 -
.End(xlDown)->.End(-4121)