DOBON.NET DOBON.NETプログラミング掲示板過去ログ

System.ComObjectの実際の型の判定について

環境/言語:[.NetFramewaork1.1 VB.Net]
分類:[.NET]

Comの扱いでどうも分からないことがあるのですが、

VB.NetでCreateObjectによって作成されたObjectは全て
System.ComObjectとして生成されますが、このComObjectの
本当の型を判定する方法はないのでしょうか?
C#で有れば、下記のページにやり方が載っているのですが
VBの記述がありません。


HOW TO:Visual C# .NET の COM オブジェクト(System.ComObject)の種類を確認します。
http://support.microsoft.com/Default.aspx?kbid=320523

VBでの判定の方法はないのでしょうか?

どなたかご存知でしたら、ご教授ねがえないでしょうか?
■No16289に返信(島田そぼろさんの記事)
> VBでの判定の方法はないのでしょうか?

同じように可能だと思います。

    If TypeOf xlApplication Is Excel.Application Then
        MessageBox.Show("Excel.Application!!")
    End If

    If TypeOf xlWorkbook Is Excel.Workbook Then
        MessageBox.Show("Excel.Workbook!!")
    End If

    If TypeOf xlWorksheet Is Excel.Worksheet Then
        MessageBox.Show("Excel.Worksheet!!")
    End If

    If TypeOf xlRange Is Excel.Range Then
        MessageBox.Show("Excel.Range!!")
    End If
島田です。

なるほど、 typeofを使えばいいんですね。

普段型の情報取るときはGetTypeしか使わないんで
気がつきませんでした

どうもありがとうございます。これでいけそうです。

■No16291に返信(じゃんぬねっとさんの記事)
> ■No16289に返信(島田そぼろさんの記事)
>>VBでの判定の方法はないのでしょうか?
>
> 同じように可能だと思います。
>
> If TypeOf xlApplication Is Excel.Application Then
> MessageBox.Show("Excel.Application!!")
> End If
>
> If TypeOf xlWorkbook Is Excel.Workbook Then
> MessageBox.Show("Excel.Workbook!!")
> End If
>
> If TypeOf xlWorksheet Is Excel.Worksheet Then
> MessageBox.Show("Excel.Worksheet!!")
> End If
>
> If TypeOf xlRange Is Excel.Range Then
> MessageBox.Show("Excel.Range!!")
> End If
解決チェックを設定し忘れていました。

■No16301に返信(島田そぼろさんの記事)
> 島田です。
>
> なるほど、 typeofを使えばいいんですね。
>
> 普段型の情報取るときはGetTypeしか使わないんで
> 気がつきませんでした
>
> どうもありがとうございます。これでいけそうです。
>
> ■No16291に返信(じゃんぬねっとさんの記事)
>>■No16289に返信(島田そぼろさんの記事)
> >>VBでの判定の方法はないのでしょうか?
>>
>>同じように可能だと思います。
>>
>> If TypeOf xlApplication Is Excel.Application Then
>> MessageBox.Show("Excel.Application!!")
>> End If
>>
>> If TypeOf xlWorkbook Is Excel.Workbook Then
>> MessageBox.Show("Excel.Workbook!!")
>> End If
>>
>> If TypeOf xlWorksheet Is Excel.Worksheet Then
>> MessageBox.Show("Excel.Worksheet!!")
>> End If
>>
>> If TypeOf xlRange Is Excel.Range Then
>> MessageBox.Show("Excel.Range!!")
>> End If
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板