Powerpoint VBAを使おう!

Powerpoint VBAやExcelのVBAで遊んでいます。AdobeのScriptにも興味が少し。。

挿入→動作→マクロ からの挙動 忘れてたので覚書

ひさびさにやると,いつも忘れてるので細かいこともメモ。

あれ,なんでだったっけ?と数日前になったので(;´▽`A``


パワーポイントでは 図形にマクロを設定していろんなものをボタンにできます。


やり方は簡単。ボタンにしたい図形を選んでおいて メニューから  挿入 → 動作 → マクロの実行 

f:id:chemiphys:20180910202546p:plain
のところに,そのボタンで実行したいマクロを選ぶだけ。

とてもシンプル。

・・・

パワーポイントではスライドを安定して動かすことが最重要項目なんでしょうね。

この時マクロにエラーがあると,何も言わずにマクロが止まるみたい。

Sub エラーなし1()
    MsgBox ("エラーなし")
End Sub

Sub エラーあり1()
    MsgBoxx ("エラーあり")
End Sub

Sub エラーなし2引数必要(shp As Shape)
    MsgBox (shp.Name)
End Sub

Sub エラーあり2引数必要(shp As Shape)
    MsgBoxx (shp.Name)
End Sub

なんの変哲もないマクロを用意して試してみる。

エラーあり1は MgsBoxx xが多すぎなので当然ちゃんと動かないんですが,このマクロを 挿入→動作→マクロの実行 のところに貼り付けて,ボタンを押してもなんにも答えてくれない。


マクロが動いてるかどうかすらわからない

長いマクロだと まったくエラーがわからないことになり,困ります。

どうやってチェックすればいいかというと・・・

開発 → マクロ から実行するか, VBEditorから実行すればちゃんとエラーは教えてくれる。

パワーポイントのマクロいじる上で忘れないほうがいい仕様なのかもしれません。

引数があるマクロの場合は実行できないので

Sub エラーあり2引数必要(shp As Shape)
    MsgBoxx (shp.Name)
End Sub

これを

Sub エラーあり2引数必要() 'shp As Shape)
    Dim shp As Shape: Set shp = ActivePresentation.Slides(1).Shapes(1)
    MsgBoxx (shp.Name)
End Sub

のように引数に具体的に何かいれてデバッグしてみるしかないのかな。。

そういえば以前そうしていたような気がする。。

だめですね,やらないと忘れるなぁ(;´▽`A``

図を入れる余裕がないので,何言ってるかわからないことを書いてますが,自分用メモということでこれでおしまい(;´▽`A``