Excel VB 中的互操作获取错误 HRESULT:0x800A03EC
Excel Interop in VB getting error HRESULT: 0x800A03EC
我正在尝试逐行向 sheet 添加信息。
如果我 + 1 任何东西,我总是给我一个错误。
如果我只是直接更改一个单元格,它工作正常并且没有像这样的错误或崩溃
ws.Cells(2, 1) = "Test Data"
但是当我尝试自动单步浏览我的行时,它崩溃了。
有什么想法吗?我用谷歌搜索了很多,但似乎 0x800A03EC 是一个通用错误代码。
这是我的代码
Dim app As New Excel.Application
Dim ws As Excel.Worksheet
Dim workBook As Excel.Workbook
workBook = app.Workbooks.Open("P:\CAD\RhinoDek\Color Storage\TWO_SHEETS.xlsx")
ws = workBook.Worksheets("Sheet1")
Dim uRange = ws.UsedRange
Dim rRange = uRange.Rows
Dim cRow = rRange.Count + 1
ws.Cells(cRow, 1) = "Test Data" (It throws the error here at cRow)
workBook.Save()
workBook.Close()
app.Quit()
感谢您对此的任何帮助。
你在Excel中达到最大行数的问题。
试试这个来获取最后使用的行:
dim cRow = ws.Cells(1048576, 1).End(Excel.XlDirection.XlUp).row +1
或
dim cRow = ws.Columns("A").Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, LookIn:=Excel.XlFindLookIn.xlValues, SearchDirection:=Excel.XlSearchDirection.xlPrevious).Row +1
我正在尝试逐行向 sheet 添加信息。 如果我 + 1 任何东西,我总是给我一个错误。
如果我只是直接更改一个单元格,它工作正常并且没有像这样的错误或崩溃
ws.Cells(2, 1) = "Test Data"
但是当我尝试自动单步浏览我的行时,它崩溃了。
有什么想法吗?我用谷歌搜索了很多,但似乎 0x800A03EC 是一个通用错误代码。
这是我的代码
Dim app As New Excel.Application
Dim ws As Excel.Worksheet
Dim workBook As Excel.Workbook
workBook = app.Workbooks.Open("P:\CAD\RhinoDek\Color Storage\TWO_SHEETS.xlsx")
ws = workBook.Worksheets("Sheet1")
Dim uRange = ws.UsedRange
Dim rRange = uRange.Rows
Dim cRow = rRange.Count + 1
ws.Cells(cRow, 1) = "Test Data" (It throws the error here at cRow)
workBook.Save()
workBook.Close()
app.Quit()
感谢您对此的任何帮助。
你在Excel中达到最大行数的问题。
试试这个来获取最后使用的行:
dim cRow = ws.Cells(1048576, 1).End(Excel.XlDirection.XlUp).row +1
或
dim cRow = ws.Columns("A").Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, LookIn:=Excel.XlFindLookIn.xlValues, SearchDirection:=Excel.XlSearchDirection.xlPrevious).Row +1