【CATIA応用知識】VBAマクロの作成方法まとめ

ここではCATIA V5でマクロを作成する方法をまとめていきます。
マクロとは一言でいうと「手動でやっていた操作をプログラムを使って全自動でやらせる機能」で、主にExcelで利用されることが多いです。

基本的にはCATIAマクロもExcelマクロも言語が同じなので根本的な書き方は全く同じです。
そのため、ここではExcelマクロと共通する内容についてはあまり詳しく説明せず、CATIAマクロ特有の書き方をメインに説明していきます

全くマクロを知らなくてもある程度は理解できる内容にしようとはしていますが、あくまでもCATIAマクロについて解説していく内容なので、Excelマクロのように調べればたくさん情報が出てくるものに関しては説明を割愛する場合があるので、あらかじめご了承ください。

下記ページではCATIAマクロのオススメ書籍を紹介しています。
本サイトの作成にも参考にしている書籍なのでぜひチェックしてみて下さい。

ページ最後では「こういったマクロを作りたい」というマクロ案を募集しているので、そちらもうまく学習にご活用下さい。

icon-exclamation-triangle 注意点 

本ページの作成で参考にした書籍は最新のバージョンに対応していない場合があります
そのため、本ページの内容もバージョンによっては使えない可能性があります。
 
バージョンの違いによってコードの書き方が少し変わることはありますが大きく異なることはないため、基本的には『マクロの記録』『CAA V5 Visual Basic Help』を利用してご自身のCATIAにあったコードの書き方を調べてください。
 
『マクロの記録』の使い方 (マクロの記録について)
オブジェクトとコレクション/プロパティとメソッドとは (CAA V5 Visual Basic Helpについて)

 

基礎知識編

マクロとVBAとは
マクロ作成の下準備
『マクロの記録』の使い方
マクロの実行方法

VBA基本コード

1. Subプロシージャ
2. 変数の宣言と代入
3. メッセージボックスの表示[MsgBox関数]
4. インプットボックスで入力値を取得[InputBox関数]
5. 処理を条件分岐させる[If文]
 

CATIA固有オブジェクト

オブジェクトとコレクション/プロパティとメソッドとは ★重要★
VBEでオブジェクトを取得1 ★重要★
 

オブジェクト別詳細ページ

Documentsコレクション     ドキュメントの新規作成/ドキュメントを開く
Documentオブジェクト            ドキュメントの操作(保存、切り替え、閉じる等)

Windowsコレクション         ウィンドウを並べて表示
Windowオブジェクト        ウィンドウの操作(切り替えやサイズの変更等)

Selectionオブジェクト       任意の形状を選択
VisPropertySetオブジェクト  形状の色や透明度を変更

FileSystemオブジェクト      ファイル/フォルダを作成(CATIA外操作)

Measurableオブジェクト     長さや角度、面積などを測定
 

オブジェクトの種類を調べる[TypeName関数] 上記オブジェクトを調べることのできる関数

 

マクロ作成編

CATIAマクロの備忘録         コードをコピペしてCATIAマクロで何ができるかを確認

空の形状セットを一括で削除するマクロ 簡単なマクロを例にマクロ作成の流れを学習
空のボディーを一括で削除するマクロ 

選択しているオブジェクトを一時保管する方法 SelectionとFor文を使う際のテクニック
 

サンプルマクロまとめ (『マクロ案』『お問い合わせ』で頂いたもの)

要素の名前を連番にするマクロ      ・直線のベクトルを取得するマクロ
  

 
R値別にフィレットに色付けするマクロ  ・テキストボックスを一括で回転するマクロ 
    

 
パラメータの名称を変更するマクロ
要素にパラメータの値を反映する(式を編集)マクロ

選択した円の中心座標を取得するマクロ(Part.ver)
選択した円の中心座標を取得するマクロ(Product.ver)
現在開いているドキュメントファイルの名前を取得するマクロ
Product内のCATPartをIGESファイルで出力するマクロ
ファイル名をパーツ番号と同じにするマクロ
選択したBody別に新規CATPartとして作成するマクロ

CATDrawingでコーナー部に仮想線を作成するマクロ
CATDrawingのテキストボックスサイズの取得方法
シートを基準としたテキストボックス座標の取得方法

 

応用知識編

ここではCATIAマクロを他のソフトと連携させたり、マクロでWindows APIを呼び出す方法などのさらに応用的な内容を解説しています。
マクロ初心者の方には少し難しい内容となっていますが、これらを理解することで作成することのできるマクロの幅が一気に広がります。
 

  Excel連携

CATIAマクロでExcelを操作する方法 
★重要★Excelと連携するための事前準備の解説
  
CATDrawingのテーブルをExcelファイルに出力するマクロ

ExcelファイルをCATDrawingのテーブルに出力するマクロ

 
ExcelファイルをCATDrawingのテキストボックスに出力するマクロ
Excelの表から座標を取得し点を作成するマクロ

 

  PowerPoint連携

CATIAマクロでPowerPointを操作する方法
★重要★PowerPointと連携するための事前準備の解説

CATPartの座標系をPowerPointオブジェクトとして作成するマクロ

 

  Windows APIの利用

【Sleep関数(API)】        指定した秒数だけマクロの処理を止める
【GetAsyncKeyState関数(API)】 キーボードの押されたキーを取得し、処理を割り振る
 

― icon-edit  Windows APIとは ―

Windows API(Application Programming Interface)とは簡単にいえばWindowsに用意されている機能がまとまっているセットのようなものです。
 
VBA上でこのWindows APIを呼び出すことで、マクロでWindowsの操作(キーボードの取得やシステム音再生など)を行うことができるようになります
 

Windows APIはWindowsの機能を呼び出しているだけなのでソフトに依存しませんつまりExcel/CATIA/AccessなどのVBAマクロではどれも全く同じ方法で使うことができます。
 

VBA初心者の人には少し難しい内容ですが、VBAだけでは行えない操作を行うことができるようになり、作成できるマクロの幅も広がるので中・上級者の方は覚えておいて損はない機能です。

Windows APIとVBAの連携を勉強するならまずはコレ!

 

マクロ案の募集

「こんなマクロが欲しい、作ってみたい」というCATIAのマクロ案を随時募集しています。

ご連絡いただいたマクロ案の中で管理人が作成できるものがあった場合は、VBAコードとその解説のページを作成していく予定です。(100%作成するわけではないので予めご了承ください)

作成可能なものであれば送信後から1週間前後までにはマクロを作成して記事にします。
1~2週間たっても記事にならない場合は、申し訳ないですが作成できないものです。
どうしても作成してほしいという場合は『お問い合わせ』よりご連絡ください。

 icon-warning マクロ案募集の注意点 

本サイトでは無料でCATIAマクロの作成/相談を受け付けています
ただ、無料のかわりに細かいエラー処理や確認等は行っていません
 
また本サイトで紹介したマクロを実行して何か不具合が生じた場合も責任は取りかねますので予めご了承ください

 
マクロ案や相談等は下記フォームより送信してください。
メアドや名前などなにも入力する必要はないので、お気軽にご利用ください。
マクロ内容の認識がズレないよう、できるだけ詳しく書いていただけると助かります。

※ページ作成時に送信していただいた文章を引用させて頂く場合があるので予めご了承ください。

管理人も全て理解できてるわけじゃないから

あまり期待はしないでくださいね

 
マクロ案以外のご要望やご質問、コメント等はお問い合わせで受け付けています。
また、より詳しくマクロについて聞きたいことがある場合は、『お問い合わせ』からご連絡いただいた方がメールでのやり取りができるため問題を解決しやすいと思います

 

2020年6月18日CATIA, CATIAマクロ

Posted by Lic