Excel上で指定した範囲をCATDrawingのテーブルとして出力するマクロ|CATIAマクロの作成方法

今回の記事は「マクロ案」よりいただいた内容です。
送って頂いた内容は以下のようなマクロです。

ワークベンチ:ドラフティング
 
マクロ案: excelで特定の領域をDragした一部分をCATIAのtableで生成する方法を知りたいです。

VBAではマクロ実行後の処理が終わるまでExcelの領域を指定することはできませんが、UserFormを使用すればこれが可能になります。今回はUserFormとコードが分かれるためコードの詳細は解説していません。どうしても解説が欲しい場合は「お問い合わせ」よりご連絡ください。

 

マクロの機能

今回作成したのはExcel上で指定した範囲をCATDrawingのテーブルとして出力するマクロです。
具体的な機能は以下のとおりです。

  マクロの機能まとめ ・Excel上で指定した範囲をCATDrawingのテーブルとして出力する
・指定範囲内が空白でも指定範囲と同じサイズのテーブルが出力される
・作成位置はクリックで指定可能(上画像の操作手順⑤)
・セルが結合されている部分は非対応(結合していないものとして出力)

また、今回のサンプルマクロではUserFormを使用するので、上画像のようなフォームを作成しておきましょう。このときUserForm名称は「Export_table」ボタン名称は「CommandButton1」にしておいてください。

 

VBAコード

コード全体は下記の通りです。
標準モジュールとUserFormの2つのコードがあるので注意して下さい。
また、CATIA VBAでExcelの操作をするためには設定をする必要があります。
CATIAマクロでExcelを操作する方法を参考に事前に設定しておきましょう。

お問い合わせ頂いた内容の処理はできるようになっていますが、UIがかなりヒドいのでUserForm上に操作手順を書いたり、次にどんな操作をするかがわかりやすくなるような処理を追加する等をオススメします。
 

標準モジュールコード

 
UserFormコード

 

まとめ

今回はExcel上で指定した範囲をCATDrawingのテーブルとして出力するマクロについての内容でした。

重要なのはExcel上で範囲を指定するフェーズを作るために、UserFormを使用するところです。
これによりマクロ実行後だとしても、ボタンが押されるまでCATIAやExcelを操作する時間を生み出すことができます。

今回のマクロに限らずUserFormをうまく使うことで、標準モジュールだけではできないような操作が可能になるので、いろいろ試してUserFormも使いこなせるようにするのもよいと思います。
 

サンプルマクロ集に戻る
目次へ戻る

 

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

CATIA, CATIAマクロ, VBA

Posted by Lic