シェアラブルプロダクトのライセンスを取得するマクロ|CATIAマクロの作成方法

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

ワークベンチ: パート・デザインorアセンブリー・デザイン

マクロ案: シェアラブルプロダクト(SPAやKWA)のライセンスへのアクセスを簡素化するマクロを作成したく思っております。
5~6年程前に下記サイトで話題となっていますが、未解決のままでした…。ご教授いただけたら幸いです。
https://www.eng-tips.com/viewthread.cfm?qid=350925

確かに上記のサイトでは最終的にうやむやになっていますが、どうやら上記サイトに書かれているコードでライセンスの取得が可能なようです。

個人的にライセンス関係のマクロはほとんどわからないので、本ページで紹介するマクロは上記サイトに書かれているコードを国内向け少し書き換えただけのものになっています。

そのため本ページの内容は曖昧な部分が多いと思いますが予めご了承ください。

 

マクロの機能

※画像はCATIAヘルプのものを引用しています。
(参考:Reserving Shareable Product Licenses Dynamically)

このページで紹介するマクロは上画像の赤枠内にある「ASDライセンス」を取得/解放するマクロです。(※コード自体はMacro to load licens|ENGI-TIPS.COMにあるコードをほとんどそのまま引用したものです。)

コード内の一部を書き換えることである程度はどのライセンスにも対応できそうです。

 icon-warning 注意 コードが実行できない場合

 以下で紹介するコードは実行できる場合とできない場合があるようです。
実行できない場合はおそらく「SetLicense」というメソッドで「Run-time error ‘-2147467259 (80004005)’)」というようなエラーが発生すると思います。

 

このエラーについてMicrosoftのページを確認すると以下のようなページがありました。
実行時エラー-グラフのプロパティを設定するときに 2147467259 (80004005)|Microsoft
 
上記ページを要約すると、
Excelのシートに保護がかかっているとマクロ実行時にエラーが起きるという内容になっています。
 
これと同じエラーということから、以下で紹介するコードが実行できない場合は“おそらく”管理者設定によりCATIAのライセンス関連に何らかの制限がかかっているのかもしれません。(断言はできませんがコードを実行できた知人もいるのでコード自体は間違っていないと思います)
 
多くの企業では社員が勝手にCATIAの設定をいじくり回せないように管理者設定により個人での設定変更を行えないようにしている場合があります。実行できないのはこれが原因だと勝手に推測しています。

 

サンプルコード

上記コードのコメント文の文字列を変換するだけでいくつかのライセンスは取得可能なことが判明しました。ライセンス関連のオブジェクトについては下記ページを参照してみてください。

r1 LicenseSettingAtt (Object) – CATIADOC

 

まとめ

今回はCATIAのシェアラブルプロダクトのライセンスを取得するマクロについての内容でした。

今回のマクロで使用していた「LicenseSettingAttオブジェクト」を使うことで現在取得しているライセンスを取得したりすることも可能なようです。ライセンス関連のマクロを作成しようと考えている方はこのオブジェクトについて色々調べてみるとよいと思います。
 

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

 

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

 

 

CATIA, CATIAマクロ, VBA

Posted by Lic