C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

ファイル間リンクの取得2

こちらの続きです。
ファイル間リンクの取得 - C#ATIA

"Digital Photos" にあるサンプルを何とか動かしたいと
思っているのですが上手く行きません。

Form "GVI_GetCatiaLinks" の一部なのですが、

Public Sub UserForm_Initialize()
Dim i As Integer
Dim LstItem As ListItem
Dim LinkItm As New LinkItem
Set q = iLink.GetV5Liks
Debug.Print q.Count
With iList.ColumnHeaders
    .Add , , "No", 25
    .Add , , "FromElement", 55
    .Add , , "ToElement", 55
    .Add , , "InInstance", 55
    .Add , , "PointedDocument", 55
    .Add , , "Publication", 55
    .Add , , "LinkType", 55
    .Add , , "Owner", 55
    .Add , , "Status", 55
    .Add , , "LastSynchronized", 55
    .Add , , "ActiveStatus", 55
End With
・・・

ListItemクラスがエラーの原因なのですが、よくわかりません。

With iList.ColumnHeaders

"ColumnHeaders" コレクションを持つオブジェクトを探すとこんな記事に
たどり着きました。
http://officetanaka.net/excel/vba/listview/04.htm
で、iListはFormに配置されたListViewコントロールではなかろうか?
と思ったのですが、調べてみると64bitではListViewが
利用できなさそうな記述が大量にHit・・・。
そのままの利用はすんなり諦めました。

ListViewに関しては表示上の問題なのだろうと思うので、
ゴニョゴニョとコードを変更した結果

Debug.Print q.Count

部分は取得できました。(リンクしたViewが3つあるので)
f:id:kandennti:20151218191347p:plain

でも、取得したItemは全て空っぽ。
f:id:kandennti:20151218191355p:plain

肝心な部分の取得が出来ていないです。


何となくやっていることはわかってきたのですが、知識不足で
ゴールに辿り着けないでいます。
もしこれが上手く行くようであれば、今までプロパティが提供
されていない為に "マクロでは出来ません" と答えていたものも
マクロでも可能になる事が増えるのですが・・・。
何とかしたい。