June 15, 2016

パワーポイントでVBA編集を有効にして、マクロを使えるようにするには



これまでマクロに関する記事を何度か書きましたが、そもそもどうやってマクロを使うのかという肝心なことを書いていないことに今さら気づきました 笑

この記事では、パワーポイントでVBAの編集を有効にし、マクロを実行するまでの簡単な説明をしたいと思います。

「開発」リボンを表示する

VBAを編集するためのメニューは、「開発(Developer)」リボン内に収められていますが、デフォルトでは表示されていないようです。

まずはこれをアクティブにしましょう。

00_2010

[ファイル]から[オプション]を選択します。

01_2010

左のメニューから[リボンのユーザ設定]を選び、右側にある[メインタブ]の中から[開発]を探してチェックを入れます。

02_developer

そうすると「開発」タブが出現し、リボンを展開できるようになります。

項目がいろいろありますが、基本的にはVisual Basicとマクロしか使いません。

マクロを作成しよう

マクロを作成するにはVBA(Visual Basic for Applications)の知識が必要です。PowerPointに限らず、WordやExcelなどのOfficeには編集機能が標準搭載されており、機能を拡張したり作業を自動化したりと、使えると非常に重宝します。習得は比較的容易ですが、ほかの言語(たとえばjavaやphpなど)と比べるとちょっと癖があります。

この辺触ったことがないという方も多いと思いますが、自分で書けなくてもWebで誰かが作成してくれた便利なコードをコピペすれば動かせますので、知っておいて損はありません。

11_macro

まず、開発リボンの中から、[マクロ]を選択します。

12_1_create_macro

そうすると、上のようなマクロ作成のためのWindowが出現します。

12_2_create_macro

マクロ名にカーソルがあるので、「半角で」名前をつけます。とりあえずなんでもいいのでSampleとしました。

名前をつけると[作成]がアクティブになりますので、クリックします。

13_sample_code

すると上の図のようにVisual Basic Editorが開き

Sub sample()

先ほどつけた名前でSubなんとかが作られます。このSubプロシージャは空っぽですので、実行しても何も起きません。

14_sample_code

試しに

MsgBox ("Hello, PowerPoint!")

と入力してみました。MsgBoxはポップアップウィンドウにメッセージを表示するための関数です。

Visual Basic Editorを最小化しPowerPointに戻り、再度マクロウィンドウを開いてください。

15_sample_code

すると、マクロ一覧にもSampleが出現しますので、[実行]をクリックしてください。

16_sample_code

うまくいくと上のように”Hello, PowerPoint”というメッセージがポップアップします。簡単ですね!

ここでセキュリティのエラーがでる場合は、下にある注意を参考にしてください。

マクロをコピペして使おう

さて、例えば前回の記事、パワーポイントの総スライド数を思い通りに表示する様々な方法に記載されているサンプルコードをどのようにして使うかですが、基本的には先ほどのVisual Basic Editorが開いた画面(Subのところ)にコピペすれば大丈夫です。

ただし、コードを張り付ける前に、自動生成されたSubEnd Subは削除してください

17_sample_code

まとめると

  1. [マクロ]を選んで適当な名前をつけ、[作成]をクリック
  2. Visual Basic Editorが開いたら、自動生成されるコードを消去
  3. コードをどこかから探して、Copy&Paste
  4. [マクロ]ウィンドウに戻って[実行]

という感じです。見た目が難しそうなので抵抗感があるかもしれませんが、やることはとても単純です。

自分でマクロを作るには

自分でマクロを作るには、VBAの知識と、PowerPointのクラス構造をなんとなく知っている必要があります。

ただし、PowerPointでVBAはほとんど活躍しません。なので、PowerPointを用いてVBAの学習をするのではなく、Excelを用いたほうが役に立つと思います。

ちなみに僕はVBA多少かじっている程度で、やりたいことがあったらMSDNで調べながら適当に作っています 笑

マクロを使用する際の注意

保存形式について

マクロは通常のpptx形式で保存すると破棄されます

作ったマクロを保存したい場合は、pptxではなくpptm形式で保存してください

セキュリティについて

マクロを実行しようとしたときなどに、セキュリティのエラーが出る場合があります。

マクロでは様々なことが可能な反面、有害なマクロも当然存在しますので、通常有効になっていません。

22_sample_code

自分で作ったマクロを動かすには[開発]から[マクロのセキュリティ]を選択します。

22_security

セキュリティセンターが開くので、「すべてのマクロを有効にする」を選択します。

「すべてのマクロを有効にする」を選択すると、それ以降有害なものも含め、すべてのマクロが実行可能な状態になります。自分でマクロを編集する際は問題ありませんが、外部からダウンロードしたマクロ付きPowerPointファイル(pptm形式)を開く場合には、先にセキュリティレベルを元に戻すか、外部のpptmは使わないようにするなどの対応をしてください。

おそらく外部からpptmをダウンロードして開くケースはほとんどないと思いますが、マクロを有効にした場合は頭に入れておいてください。

おわりに

マクロに関する記事を書いておきながらこんなことを言うのもなんなのですが、PowerPointでマクロはあまり使いません。

基本的には、細かいルーチンワーク、たとえば前の記事にあるような総ページ数を追加したり、「すべての赤いオブジェクトを青く塗りなおす」などといった手動ではあまりに面倒な作業を効率化するために使います。

なので、「誰かが書いてくれたコードをコピペして使える」くらいで十分だと思います。