ユーザーパラメータの値をExcelに出力するマクロ|CATIAマクロの作成方法

今回はお問い合わせより頂いた内容です。
送って頂いた内容は以下のようなマクロです。

マクロの中で検索項目を指定してPart内で取得したパラメータをEXCELに出力したい
(ユーザーパラメータの値を探し出してEXCELに転機する)

ユーザーが各自で作成したパラメータの値を取得し、Excelに書き出すマクロです。
今回は途中作成のコードも送っていただいたので、その内容を書き直していきます。

 

マクロの機能

今回作成したマクロは『ユーザーパラメータの値をExcelに出力するマクロ』です。

具体的な機能は以下のとおりです。

  マクロの機能まとめ ・「ピン全長」「d1(呼び径)」という名前のユーザーパラメータの値をExcelに書き出す
 (ユーザーパラメータ = ナレッジ・アドバイザーで作成したパラメータ)

今回は頂いたコードから「ピン全長」「d1(呼び径)」という名前のパラメータの値を出力させますが、コード内にある「ピン全長」「d1(呼び径)」の部分を書き換えれば任意のユーザーパラメータの値を書き出すことができます。

 

サンプルコード

マクロのサンプルコードは以下のとおりです。
※下記コードはExcelライブラリを読み込んでいる必要があります。
 未設定の方はCATIAマクロでExcelを操作する方法を参考に設定して下さい。

 

コード解説

ここでは上記マクロコードのいくつかの部分を抜粋して解説していきます。

ドキュメントの定義

まず、はじめにアクティブドキュメントの定義をします。
今回のマクロはCATPartでのみ有効なものなので、アクティブドキュメントがCATPart以外の場合はTypeName関数を使った条件分岐でマクロを終了するようにしています。

 

Excel設定

次にExcelの設定を行います。
詳しくはCATIAマクロでExcelを操作する方法を参照下さい。

 

Excelにパラメータの値を書き出す

まずはSearchメソッドを使い「ピン全長」という名前のパラメータを全て選択状態にします。
あとはFor文を使って選択状態のパラメータの値を書き出していきます。

選択状態のパラメータは「パラメータ自体」を表しているので、「値」を取得するには「Parameterオブジェクト」の「ValueAsStringメソッド」を使って以下のように書きます。

 icon-code パラメータの値を取得

Dim Parm As Parameter
Set Parm = sel.Item(i).Value         ‘パラメータを取得
 
Dim ParmValue As String
ParmValue = Parm.ValueAsString ‘パラメータの値を取得

上記コードでは「ws.Cells(i + 1, 1).Value = Parm.ValueAsString」と、直接Excelのセルに書き出すようにしています。

これを「d1(呼び径)」でも同じ処理をすればExcelに全てのユーザーパラメータの値を書き出すことができます。

 

まとめ

今回は『ユーザーパラメータの値をExcelに出力するマクロ』についての内容でした。

いろいろコードを書いてきましたが、今回重要な部分は「パラメータの値を取得する」という部分です。(Excelでの操作はExcel VBAさえ理解できていれば非常に簡単なものです)

パラメータの値を取得するには「Parameterオブジェクト」の「ValueAsStringメソッド」を使います。引数なども特になく、「.ValueAsString」と書くだけなので「.Value」と同じ感覚で使うことができます。

 

目次へ戻る
 

icon-book CATIAマクロを本気で勉強するなら

CATIA, CATIAマクロ, VBA

Posted by Lic