VB中的Excel Interop获取错误HRESULT:0x800A03EC

时间:2016-05-09 22:37:21

标签: vb.net excel excel-interop

我正在尝试逐行向工作表添加信息。 如果我发现任何事情,我会一直给我一个错误。

如果我只是直接更改一个单元格,它可以正常工作,没有错误或崩溃,如此

ws.Cells(2, 1) = "Test Data"

但是一旦我尝试自动单步行,它就会崩溃。

有什么想法吗?我已经google了很多,但似乎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()

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

您已达到Excel中的最大行数的问题。

尝试此操作以获取上次使用的行:

zcat input.gz | sed  -n 's/.* \(\*[0-9]*\*[0-9]*\) \[AAAAA\].*/\1/p' | sort -u
*10*4444444444
*11*2222222222
*13*7777777777
*15*9999999999
*18*6666666666
*19*5555555555

dim cRow = ws.Cells(1048576, 1).End(Excel.XlDirection.XlUp).row +1