タイトル : Re: VB2005でのExcel遅延バインディング 投稿日 : 2008/08/26(Tue) 19:52 投稿者 : 魔界の仮面弁士
> このDirectCastは遅延バインディングの場合も必要でしょうか? いいえ。その場合はキャスト不要です。 > Dim xlSheet As Excel.Worksheet = DirectCast(xlSheets(1), Excel.Worksheet) > のようにDirectCastを行っているコードを見つけました。 遅延バインディングならばキャストは不要です。が、そのコードは 遅延バインディングのものではありませんので、必要になってくるのでしょう。 xlSheets(1) は、「Sheet 型」でしょうから、もしも「Worksheet 型」にしたいなら そこに書かれているとおり、キャストが必要になるかと思います。 > DirectCastを行うのは事前バインディングを行っている場合と理解しているのですが、 おおよそ正解だと思います。 ただし、事前バインディングであっても、必ずしも DirectCast が必須というわけでは ありませんし、遅延バインディングであっても、キャストが必要な場合はありえます。 |