office  複数のオブジェクトに同じ処理
(書式)を実行したい


  
要VBA/サンプル有
TOPExcel/Word/PowerPoint
○ポイントは右クリックイベントの作成活用
複数のオブジェクトを選択して、線や色を一括して変更することはできますが、テキストオブジェクトの場合、テキストの書式までは一括変更できません。そこで、右クリックしたテキストオブジェクトだけを特定の書式に変更していく方法を紹介します。書式変更ダイアログで同じ書式をその都度設定する手間が省けます。

(1) VBEを起動

(2) VBEを開いてプロジェクトエクスプローラ(図1)から編集中の文書を右クリック[挿入(N)]>[クラスモジュール(C)]。
office
(図1)WORD VBEプロジェクトエクスプローラ

(3) (2)で作ったクラスモジュールにマクロ作成。コード例は下記
 (この例では右クリックされたテキストオブジェクトの文字サイズを9、段落を固定値10pt、配置を中央寄せに変更します)


(4) ThisDocumentのモジュールにマクロ作成。コード例は下記

(5) VBEを閉じてファイルを保存終了

○こんな時に使える
・複数のテキストオブジェクトから選択的に同じ書式を設定したい
・個々のテキストオブジェクトの書式設定が面倒

○応用またはその他の方法
フォルダ内のピクチャファイルを一気に張り付けたい 要vba

○サンプル
サンプルファイルはこちら(要解凍) 9KB

○注意
この方法は右クリックイベンをクラスモジュールのコードで実現するものです。イベントを有効にするためには、Word.Applicationを宣言しなくてはなりませんので、ドキュメントのOpenイベントで自動的に宣言する方法を使っています。