● WordVBA:ビジネス基礎:VBAプログラム(マクロ)をコピペして動作テストしてみる方法

  
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
目次
 ★ はじめに
 ★ VBAプログラムのコピペ方法
 ★ コピペしたプログラムのコマンドボタン化

※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。
  
  
★ はじめに
本サイトで紹介したVBAプログラムに限らず、VBAプログラムをコピペして何度でも使えるようにできると便利です。

また、そのプログラムをクイックツールバーからメニューボタンとして呼び出せると更に便利です。

ここではWordVBAの場合のそのやり方をご紹介いたします。
  
  
★ VBAプログラムのコピペ方法

Wordのコマンドバー用のVBAプログラムは(=コマンドボタン化したいプログラムは)、基本的にすべて 、「Normal.dot」というWordファイル にコピペします。

理由は、Normal.dot に書かれたプログラムは、マクロが動かないはずの「docx」拡張子のファイル上でも動くからです。

(さらにその理由は、Normal.dot が、docxやdocmなどのすべてのWordファイルのひな型だからです。Normal.dotで「既定」に設定されたものはすべてのワードファイルの「既定」となるからです。そのため、Normal.dotに書かれたプログラムは拡張子がdocxでもdocmでも共用部品・共用プログラムとして動きます。)
※「Normal.dot」は、Wordがインストールされていればすでに組み込まれています。どこにあるかはここでは問題とはなりません。

Word2010の場合、「開発」タブ→VisuaiBasic で Normal.dotに標準モジュールを作れるようになります。

下図のように「Visual Basic Editor」が開きますので、まずその画面の左側・上のペインの「Normal」を押します。

この「Normal」は「Normal.dotのプログラムが集まってますよ~」という意味です。

そこをクリックしたら、今度は「挿入」→「標準モジュール」とクリックしていきます。

「Module1」という標準モジュールができます。
多くのプログラムはここにコピペします。

なお、原則としては、標準モジュールにプログラムをコピペすれば、その標準モジュールの名前が「Module1」だろうが「Module2」だろうが何だろうがプログラムは動きます。

逆に(ここでは関係ありませんが)、誰かから何らかの名前変更の指示があった場合は、標準モジュールの名前を変えます。
例えば「共通部品01」とか「ツールバー用」とか「メニューバー用」とか管理しやすい名前に変更します。

なお、標準モジュールの名前を変更するには、下図のようにします。

(01)「挿入」→「標準モジュール」を押して生成された標準モジュール(「Module1」など)をクリック
(02)するとその下にも標準モジュール名が出てくるので、そちら側で名前を変更してEnterします。
(03)上部の標準モジュールの名前にもその変更が反映されます。
  
  
  
  
★ コピペしたプログラムのコマンドボタン化

コピペしたプログラムがもし便利だった場合、そプログラム(マクロ=VBA)をコマンドボタン化すると、大変便利です。

2010以降(2007もかも?)では「クイックアクセスツールバー」に、マクロをコマンドボタンとして登録することもできます。

ただ、「クイックアクセスツールバー」だと例えば階層化されたマクロボタンを、(2003以前のように)デフォルトの機能だけで比較的簡単に作ることができません。また、アイコンの絵も自由に変えられません。アイコンの絵をかえられないなら、ボタンの文言が書きたいところなんですがそれもできません。
アイコンの絵だけは変える方法があるにはあるらしんですけど、非常に面倒くさいです。

そのような面倒くささを回避するには、クイックアクセスツールバーではなく、リボンを使います。

例えばですが、「2003用のVBAでのメニュー自作プログラム」を動かすと、リボンの中に勝手に「アドイン」タブができて、その中に階層化されたマクロボタンを作ることができます。
文言も自分で決められるし、XMLエディタも要らないので、僕はこちらのほうが便利かなと思うので、一応事例をご紹介しておきます。

「Excel2010のリボンに、Excel2000と同じプログラムコードのコピペでユーザー設定ボタンを生成する。~パート02。(一応ツールバー単位で。ピボットテーブル一発作成ボタン等も追加。ドロップダウンでの階層化ボタンも追加。)」
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080860_vba_basic/tool-bar-auto-make-excel-02

「Excel2010のリボンに、Excel2000と同じプログラムコードのコピペでユーザー設定ボタンを生成する。~パート01(一応ツールバー単位で)」
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080860_vba_basic/tool-bar-auto-make-excel

「Word2010のリボンに、Word2000と同じプログラムコードのコピペでユーザー設定ボタンを生成する。(一応ツールバー単位で)」
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080860_vba_basic/tool-bar-auto-make-word

ただ、クイックアクセスツールバーも大変便利ですので、「タブ切り替えすらう面倒くさくなるほど本当によく使う機能」はクイックアクセスツールバーにコマンドボタン化してしまったほうがいいと思います。

クイックアクセスツールバーと、リボンの「アドイン」タブをバランスよく使えば、使いやすくなると思います。

また、リボンの「アドイン」タブを「ホーム」タブよりも前に並ぶように設定を変えれば、Excelを開いたときに「ホーム」タブよりも先に「アドイン」タブが表示されますので、「アドイン」タブに本当に必要な機能・ボタンだけを集めておくのも手かなと思います。

クイックアクセスツールバーにマクロを登録する方法はこちらです。(外部ページへのリンクになりますけど)

「ExcelVBA:ビジネス基礎:VBAプログラム(マクロ)をクイックツールバーにボタンとして組み込む方法」
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080860_vba_basic/quicktoolbar-vba-add01