読者です 読者をやめる 読者になる 読者になる

C#ATIA

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

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

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

知識不足で断言できないのですが、やはり現状は無理っぽいです。
"Digital Photos" にあるサンプルを何とか動かしたいと思い、
ゴニョゴニョとコードを変更しましたが、思うような結果が得られない
理由も何となくわかりました。

あのサンプルは、CATIA.StartCommandを利用し "ドキュメントのリンク" のウィンドウを
表示させ、WinAPIを利用して文字の取得をしています。
"ドキュメントのリンク" のウィンドウに表示されるリンク情報は、"リストビューコントロール"
が利用されています。

VBAで "リストビューコントロール" を使用しているサンプルを探していたところ
こちらのサイトにたどり着きました。
リストビュー文字列取得−VBパーツ
サイトの冒頭に "64bitCPUは本方式では不可" と記載されており、
その辺の理由は、こちらに書かれていました。
ListView to CSVを作ってみよう番外編〜x64を考慮した場合 - ListView to CSVのヘルプ

僕が利用しているCATIAはR2012の為、VBAは6.5になります。
(たまにVBA7.0で立ち上がるときがあるのですが、理由が不明)
確かVBAが64bitに対応したのはVBA7.0からだった記憶なので、
現状は無理では無いのかな? と言う結論に達しました。

試しに、こちらのソフトで試したところ
ListView to CSV
"ドキュメントのリンク" の内容も取得できます。

"Digital Photos" のサンプルも32bitであれば利用できるのでは
なかろうかと・・・。