- - PR -
Visual Basicからエクセルの操作
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-19 21:47
このあたりの記憶は正しかったようです。
_Default の代わりに Range を使うのだと思っていました。 私の記憶では、むしろコンパイル エラーになる予定だったのですが、実行まではできるんですね。
関係ありだと思いますよ。 でも、どういう仕組みだったのか覚えてません。 (その上、今は出張先にいるので検証できませんw) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||||||
|
投稿日時: 2006-05-20 00:53
Compile error にはならないですね。 というのは、Excel.Range class の Range property は、Variant 型宣言ですから。 .NET にしたってそれを受けて Object 型宣言になっているので。 もっとも、Option Strict On を有効にした場合には前述の source では compile error になりますが、これは下記のようにすれば compile error になりません。
そもそも、VB.NET に VB(VBA) の Global class のようなしくみ用意されていましたっけ? 余談ですが、関連したところとして Range property と Cells property の違いちゃんと意識したほうがいいですね。 Object Browser で覗いてみると一目瞭然ですが、Range は必ず引数をとる property です。xlSheet が Excel.Sheet class の instance が格納されているとして、
は、COM instance が 1つ参照されますが、Cells だと引数が存在しないので、
これは
の省略形なので、2つの COM instance が参照されます。 まあ、ここら辺は Object Browser かじりついて見てみればそのうち気づくでしょう。 [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-05-20 00:54 ] |
«前のページへ
1|2|3