QA@IT
«回答へ戻る

回答を投稿

別のご質問で、

oSheet = DirectCast(oWBook.Sheets(getSheetIndex(sheetName, oWBook.Sheets)), Excel.Worksheet)

というコードがあったかと思います。
今回のコードは、その続きで書かないとダメです。

具体的には、oWBook.Sheets(...)でオブジェクトの参照を取得していますので、この処理がなければoSheetが初期状態であるNothingの状態になってしまい、NullReferenceExpection(いわゆる「ぬるぽ」ですね)が発生してしまいます。

.

※以下、ちょっと蛇足になるのでお読みにならなくても構いません。

NullとかNothingとか出てきてややこしいですが、どちらも「参照に何も設定されていない状態」のことです。VBではNothingを使うのですが、.Net的にはNullなのでこうなってしまっています。「ぬるぽ」はJavaの用語で、NullPointerExceptionのことです。
いずれも、「Null参照」のことを言っています。

別のご質問で、
```
oSheet = DirectCast(oWBook.Sheets(getSheetIndex(sheetName, oWBook.Sheets)), Excel.Worksheet)
```
というコードがあったかと思います。
今回のコードは、その続きで書かないとダメです。

具体的には、`oWBook.Sheets(...)`でオブジェクトの参照を取得していますので、この処理がなければ`oSheet`が初期状態である`Nothing`の状態になってしまい、`NullReferenceExpection`(いわゆる「ぬるぽ」ですね)が発生してしまいます。

.

※以下、ちょっと蛇足になるのでお読みにならなくても構いません。

`Null`とか`Nothing`とか出てきてややこしいですが、どちらも「参照に何も設定されていない状態」のことです。VBでは`Nothing`を使うのですが、.Net的には`Null`なのでこうなってしまっています。「ぬるぽ」はJavaの用語で、`NullPointerException`のことです。
いずれも、「Null参照」のことを言っています。