【VB.NET】Excel操作で「HRESULT からの例外: 0x800A03EC」のエラーが出たときに確認すべきこと(一例)

excelerr-sumne
スポンサーリンク

どうも、あおです。

 

 

VB.NETでExcel操作を行っている際、よくわからないエラ-が出て、

デバッグ中に落ちました。

エラーの内容を見てみると、

「HRESULT からの例外: 0x800A03EC」

 

内容を見ても原因不明。コードを目をこらして見直していると、

なんと、範囲指定の開始のindexを「0」にしていました。。

 

 

プログラミングしてて、

開始のindexは0始まりというのが身に染み付いてしまってます。

 

Excelでは、開始のindexは「1」なんですよね。

こういう感じにしてしまってました。

Dim xlsSheet As Excel.Worksheet = Nothing
Dim xlsRange As Excel.Range = Nothing

xlsRange = DirectCast(xlsSheet.Range(xlsSheet.Cells(0, 9), xlsSheet.Cells(11, 32)), Excel.Range)

 

 

 

そりゃ怒られるわってね。

「0」を「1」に変えて、無事エラーがなくなりました。

Dim xlsSheet As Excel.Worksheet = Nothing
Dim xlsRange As Excel.Range = Nothing

xlsRange = DirectCast(xlsSheet.Range(xlsSheet.Cells(1, 9), xlsSheet.Cells(11, 32)), Excel.Range)

 

 

ちなみにセル指定は、左がRow(行)で右がColumn(列)

xlsSheet.Cells(RowIndex, ColumnIndex)

よくどっちかわからなくなる(笑)ので。

 

PC
スポンサーリンク