プレゼン資料の作成と発表の効率化に役立つツールをマクロで自作する技術者のための資料作成とプレゼン講座(9)(2/3 ページ)

» 2022年05月09日 08時00分 公開

図形の大きさを自動でそろえるマクロ

 図形の大きさをそろえるのは面倒な作業です。マクロを使ってこれを自動化してみましょう。

1.マクロを有効にする

 PowerPointでマクロを使うためには、「開発タブ」を有効にする必要があります。[ファイル]-[オプション]で「PowerPointのオプション」画面が表示されます。左のペインから[リボンのユーザー設定]を選びます。[メインタブ]の[開発]にチェックを入れて[OK]を押します。これでタブに「開発」が表示されます。

 追加された開発タブの中に[コード]-[マクロのセキュリティ]というアイコンがあります。これをクリックすると「セキュリティーセンター」が開きます。左のペインにある「マクロの設定」が選択されているはずです。

マクロの有効化とセキュリティレベル 図3 マクロの有効化とセキュリティレベル[クリックで拡大]

 「マクロの設定」の項目が4レベルあります。一番下の「すべてのマクロを有効にする」はそれに続くカッコ内にあるように、推奨されません。マクロに対して全くの無防備になってしまうので、この設定はやめましょう。ネット上には便利なVBAがたくさん存在しますが、便利なフリをして危険な動作をするものもありますので、この設定は危険です。逆に、一番上だとマクロが全く動作しなくなってしまうので、筆者は上から2番目の項目で設定しています。マクロについては自己責任でお願いします。

2.マクロを有効にする

 [表示]タブ-[オプション]に[マクロ]アイコンがあります。それを押すと図4のようなダイアログが表示されます。「マクロ名」の部分にマクロの名前を入れます。マクロの動作を示す名前がいいでしょう。今回は「四角形の大きさを揃える」としました。

マクロの作成とVBAエディタ 図4 マクロの作成とVBAエディタ[クリックで拡大]

 [作成]を押すとVBAのエディタが開きます。何やら難しそうですが、今回はコピー&ペーストでプログラムを作成するので心配ご無用です。VBAエディタには既にプログラムの一部が入力されています。以下のようになっているはずです。

  1. Sub 四角形の大きさを揃える()
  2. →ここは1行空いている
  3. End Sub

 非常に粗っぽい説明ですが、1行目は「以下は「四角形の大きさを揃える」というプログラムだよ」ということです。そして、最終行は「プログラムはここで終わり!」ということです。今の段階では空っぽです。

 以下に、四角形の大きさをそろえるプログラムを用意しました。1行目と最終行も含んでいますので、注意してくださいね。全部で9行です。

  1. Sub 四角形の大きさを揃える()
  2. With ActiveWindow.Selection
  3. If .Type <> ppSelectionShapes Then Exit Sub
  4. With .ShapeRange
  5. .Height = .Item(1).Height
  6. .Width = .Item(1).Width
  7. End With ' .ShapeRange
  8. End With ' ActiveWindow.Selection
  9. End Sub

 VBAは高度で多機能なプログラム言語です。これを使えるようになれば、かなりのことができるようになります。VBAに関しては書籍も豊富にそろっていますし、Webサイトにはたくさんの情報がありますので、興味のある方はぜひ勉強してみてください。

3.マクロを使う

 早速マクロを使ってみましょう。まずは、マクロを作成したそのPowerPointのスライドに、大きさの異なる幾つかの四角形を描きます。最初に大きさの基準となる四角形を選択して、その後、[Shift]キーを押しながら大きさをそろえたい四角形を選択します。

 そして、[表示]タブ-[オプション]の[マクロ]をクリックします。これはマクロを作成するときと同じです。先ほど作成したマクロが登録されていますので、それをクリックして[実行]します。実際の動きについては、以下の動画1をご覧ください。

動画1 四角形の大きさをそろえるマクロの動作

 マクロ付きのPowerPointファイルを保存するときは、「PowerPoint マクロ有効プレゼンテーション(*.pptm)」で保存してください。そうしないとマクロが無効になってしまいます。

 動画1で使用しているマクロ付きのPowerPointファイルは、以下からダウンロードできます。

Copyright © ITmedia, Inc. All Rights Reserved.