こちらの続きです。
仕方なく、OOoBasicをやってみました2 - C#ATIA
折角なので、CATIAでもやってみます。
元にするものは、こちらのスピードテストで使用したものです。
スピードテスト1 - C#ATIA
まず、元のソースコードを丸ごとOOoBasic側にコピペします。
VBAやVSの参照設定に該当するものが、良くわかりませんでした。
恐らく無いのではなかろうか? と思うのですがよくわかりません。
その為 "As" の以降の型の指定がエラーとなるので、全て置換機能で
「As 」 → 「'As 」
に置き換えコメント化させます。
続いて、アウトプロセスとなってしまう為、CATIA自身のオブジェクトを
取得しなければなりません。 さらに、OOoBasicのエディタから
マクロを起動する場合、"Sub Main" からしか起動出来なさそうなので
以下のコードを追加します。
'OOoBasic Dim CATIA as Object Sub Main set CATIA = CreateObject("CATIA.Application")'CATIAの取得 CATMain'コピペしたCATMainの呼び出し End Sub
ExcelVBAから起動する場合と同じです。
これでマクロを起動すると、エラー無く実行できました。 が、
元のVBAであれば最後にマクロの実行時間がダイアログに表示されますが、
OOoBasicの場合 "0秒" となってしまいます。
WinAPIを利用して時間を測定している事が原因だろうと思うのですが、
OOoBasicからWinAPIを利用する事が可能なものかどうか?は、
わかりませんでした。