CATIAマクロでPowerPointを操作する方法|CATIAマクロの作成方法
今回はCATIAマクロでPowerPointを操作する方法を解説していきます。
PowerPointマクロは存在自体を知らない人が多く、あまり使用頻度が高いとも言い難いものです。
ただ、仕事でCATIAとあわせてPowerPointをよく使うという人が多いのも事実です。
CATIAとPowerPointの連携を理解しておけば「PowerPointでのこの作業を効率化したい!」というときに自作することができます。
Excelマクロに比べ情報もかなり少なく難しく感じるかもしれませんが、ここで理解しておけば今後の役にも立つと思います。
今回学ぶことのできる内容は以下のとおりです。
CATIAマクロでPowerPointを操作する方法
また、CATIAマクロでExcelを操作する方法は下記ページで解説しているため合わせて参照ください。
CATIAマクロの事前準備
まずCATIAマクロでPowerPointを操作するには以下の2つの準備をする必要があります。
① CATIAマクロ内にPowerPointマクロのライブラリを読み込む
② CATIAマクロのコードにPowerPointを呼び出すための構文を書く
CATIAマクロ内にPowerPointマクロのライブラリを読み込む
CATIAマクロでPowerPointを操作するには大前提として「参照設定」というものでPowerPointマクロの固有オブジェクトを読み取ることができるように『ライブラリ』を設定する必要があります。
デフォルトの場合、CATIAマクロではCATIA専用の固有オブジェクト(PartDocument,HybridBodyなど)のみを、PowerPointマクロではPowerPoint専用の固有オブジェクト(Presentation,Slideなど)のみしか読み込むことができません。
そのためCATIAのVBE上でPowerPointの固有オブジェクトを書いても、CATIAマクロがそれを理解することができないためオブジェクトとして認識されません。
『ライブラリ』とは簡単にいうとVBAのオブジェクトがまとめられた本のようなものです。
VBAはExcelやCATIAだけでなくPowerPointやAccessなど様々なソフトで使うことができます。
そして、それらのソフトにはそれぞれ特有の”固有オブジェクト”があります。
(たとえばExcelでいえば「セル」、パワーポイントでいえば「スライド」、CATIAでいえば「サーフェス」のようにそのソフトでしか使わないオブジェクトのこと)
これら全ての固有オブジェクトを1つのライブラリにまとめてしまっては、あまりにも量が膨大すぎて非常に扱いづらいものとなってしまいます。
そのためライブラリは各ソフトや各機能ごとに分けて用意されています。
このライブラリをソフト(CATIA)に読み込ませることで、別のソフト(PowerPoint)を操作するマクロを作成することができるようになります。
ライブラリの設定
次にPowerPointではどのようなライブラリが読み込まれているのかを確認します。
PowerPointのVBEのメニューバーから[ツール]>[参照設定…]をクリックすると以下のようなウィンドウが立ち上がります。
名前から想像がつくと思いますがPowerPointのコードは「Microsoft PowerPoint ○○.○ Object Library」に書かれています。(○○.○の部分はPowerPointのバージョンによって違います)
つまりこの「Microsoft PowerPoint ○○.○ Object Library」をCATIAにも読み込ませれば「Presentation」や「Slide」などのPowerPointの固有オブジェクトを使うことができ、操作も可能になるということです。
ではCATIAに「Microsoft PowerPoint ○○.○ Object Library」を読み込んでいきましょう。
CATIAのVBEのメニューバーから[Tools]>[References…]をクリックすると以下のようなウィンドウが立ち上がります。
このリストの中から「Microsoft PowePoint ○○.○ Object Library」にチェックを付ければライブラリの設定は完了です。
CATIAマクロのコードにPowerPointを呼び出すための構文を書く
ライブラリの設定ができたら後は以下のコードを書くだけです。
コードを書かないとライブラリを読み込んでいても、PowerPointは使えないので注意してください。
On Error Resume Next
Dim appPPT As PowerPoint.Application
Set appPPT = GetObject(, “PowerPoint.Application”)
If Err.Number <> 0 Then
Err.Clear
Set appPPT = CreateObject(“PowerPoint.Application”)
End If
On Error GoTo 0
‘実行したい処理
End Sub
このコードに関してはあまり深く考えずに「PowerPointを使うときにはこのコードを書く」と丸暗記しておけば大丈夫です。(詳しく知りたい方は「GetObject」や「CreateObject」で検索してみて下さい)
これによりCATIAのVBE上でPowerPointの固有オブジェクトを使うことができるようになりました。
たとえばPowerPointファイルを何か開いた状態で以下のコードを実行してみて下さい。
CATIA内のメッセージボックスでファイル名が表示されます。
MsgBox appPPT.ActiveWindow.Presentation.Name
PowerPointマクロはExcelマクロに比べ情報が少ないです。
これからPowerPointと連携したマクロを多く作っていこうという方は、以下の本を1冊持っておくと重宝するのでオススメです。
まとめ
今回の内容をまとめると以下のとおりです。
CATIAマクロでPowerPointを操作するには以下の2つを行う必要がある
① CATIAマクロ内にPowerPointマクロのライブラリを読み込む
② CATIAマクロのコードにPowerPointを呼び出すための構文を書く
CATIAマクロでもPowerPointを操作する書き方はPowerPointマクロと同じ
「CATIAマクロ作れるからいいや」で終わらず、PowerPointやExcelといった他のソフトとの連携もできるようになっておけばいろいろな会社で通用するスキルが身につきます。これを機により深く勉強してみるのもいいのではないでしょうか。
CATIAマクロを本気で勉強するなら