- PR -

C#でVBAコレクションの文字列を取得する方法

1
投稿者投稿内容
くに
会議室デビュー日: 2005/10/12
投稿数: 2
投稿日時: 2005-10-12 16:07
いつもお世話になっております。

現在、C#でVB6.0のActiveX DLLを操作するアプリケーションを開発しています。
VB6.0のActiveX DLLのオブジェクトにコレクションがあり、このコレクション(VBA.Collection)を参照したいのですが、コレクションにクラスオブジェクトが設定されている場合は、

 foreach(Test.Temp oTemp in oTest.Temps)
{

}
← oTestはVB6.0のCOM、oTest.Tempsは、Tempオブジェクトを含むVBA.Collection

で、参照できるのですが、oTest.Alarmsがあり、Alarmsは文字列を直接コレクションへ追加したものなのですが、このAlamrsが参照できません。

foreach(string sAlamr in oTest.Alamrs)
{

}

としてみたのですが、エラーにはならないのですが、foreach文内には入らず、Alarmsの文字列を取得することができません。

文字列が直接入ったVBAコレクションの参照方法についてご存知の方がいらっしゃいましたら、ご教授の方よろしくお願い致します。

_________________
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-12 16:14
こんにちは、じゃんぬ です。

引用:

くにさんの書き込み (2005-10-12 16:07) より:

foreach文内には入らず、Alarmsの文字列を取得することができません。


foreach ブロック内に制御が移らない、ということは、
Alarms は何も格納されていない状態ということになります。
取得されないのではなく、最初から何も格納されていないことが問題なのでは?

読み違いをしていましたら、ごめんなさい。(*_ _)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
くに
会議室デビュー日: 2005/10/12
投稿数: 2
投稿日時: 2005-10-12 16:23
じゃんぬさん。こんにちは。

返信ありがとうございます。

ご指摘の通り、Alarmsに何も格納されていませんでした。
私の操作、プログラムミスでした。

Alarmsに格納されるように操作すると、foreachで正常に文字列が取得できました。

お騒がせいたしました。

今後ともよろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)