Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

マクロの保存場所はNormal.dotでよいか

西上原裕明さんのWordの本では、Wordがトラブルを起こした場合、Normal.dotを削除することで解決することがあるので、マクロはNormal.dot以外のテンプレートに保存しておくほうがよいと言っていますが、Normal.dotを削除せざるを得なくなっても、Normal.dot内のマクロは他のテンプレートにコピーできるので、マクロが失われることはないのではないでしょうか? それとも、Normal.dot内のマクロを他のテンプレートにコピーすることもできなくなるようなトラブルもあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

あくまでも、アドバイスとして西上原さんが提示しているのであり、 絶対にNormal.dotに登録してはいけないわけではないと思います。 その本にもたぶん記載されていると思いますが、一時的に保存して 一定後に別のテンプレートなどに移すことも問題ない方法なので、 マクロの数が少なければ問題ないと思います。 多くのマクロを登録しておくのは、個人的にもお勧めしません。 テンプレートも文書と同じで破損する可能性がありますし、とくに 汎用テンプレートであるNormal.dotに色々なものを登録するのは 影響が大きすぎるので、問題になることが多々あります。 テンプレートには、マクロだけでなく定型句やスタイルなども登録 することができるのですが、問題が起きた時にテンプレートが使用 不可になった場合に対応できない可能性があるためです。 アドインとして、登録マクロ専用のテンプレートを用意しておけば 定型句やスタイル、その他諸々の問題が発生しても、マクロ専用の テンプレートには影響が及ばないので、対応しやすくなります。 それと、アドインごとに専用ツールバーを用意すれば、アドインを 有効にした時点で専用ツールバーが立ち上がるので便利です。 Normal.dotに専用ツールバーを登録する方法もありますが、利用 したい機能ごとにツールバーのチェックを入れたり、消したりする 手間が増えますし、ツールバーの管理も大変になることもあって、 できるだけアドインで利用するようにしています。 また、マクロに問題が起きた時でも、アドインを無効にするとかで 対応しやすいことも専用のものを用意することの利点だと思います。 私はNormal.dotにはできるだけ登録しないようにして、ファイル に関わる影響も少なくなるようにしています。 マクロを使いたいときはアドインから利用して、マクロ実行後には アドインをはずして、文書への影響を少なくしています。 簡単なマクロなら、テンプレートだけでなく文書にも保存できます から、一時的なマクロを試すときは文書に書くようにしています。

krmr
質問者

補足

Normal.dotの世代管理バックアップを取っていれば、あまり心配ないような気もして、まだ迷っています。他のテンプレートに保存すると、マクロを書くときに、いちいちそのテンプレートを開く必要があるのがちょっと面倒な気がして…。マクロを書くときは、VB Editor、Word VBAに関する文書、そのマクロに関係する文書の三つを開きますし、さらにヘルプも開いたりして、たくさん開きますから、その上、また一つ開くものが増えるとややこしくなります。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

No.2の回答者です。 > Normal.dotの世代管理バックアップを取っていれば、 この方法は、ある意味妥当だとはお思いますが、無駄なことでも あり必要性を感じない管理だと思います。 リネームして新規のNormal.dotを作成したときに、リネーム前の 物を一時保存しておくことは意味がありますが、世代管理などの 管理は意味がないと思いますので。 この方法は新規テンプレートを作っていることと何ら違いがなく、 同じようなテンプレートを増やしているだけですので。 > マクロを書くときに、いちいちそのテンプレートを開く必要が 別のウィンドウとして保存用のテンプレートを開く必要はないと 思いますよ。マクロを使うために、マクロがあるテンプレートを アドインにしたときや、スタートアップにマクロ用テンプレート を置いてある場合、確かにVBEditorを開いてもアドインしている テンプレートに保存はできませんので、別に開く必要があるかと 思われるかもしれませんが、アドインしていない状態でしたら、 [テンプレートとアドイン]ダイアログから[構成内容変更]ボタン で[マクロプロジェクト]タブにて[コピー]ができますので。 スタートアップにおいてある場合はこの方法で対応できませんが、 アドインの場合ならアドインから外しておけばコピーできます。 記載しているのがNormal.dotであっても、[コピー]後に[削除]を しておけば済むことですしね。 この方法なら別にウィンドウを開く必要はないので簡単です。 別の方法としては、[テンプレートとアドイン]ダイアログにある [文書の作成に使用するテンプレート]が通常は"Normal"になって いますが、[添付]ボタンを押し登録したいテンプレートを指定し 一時的にマクロ専用のテンプレートに切り替えておいて、マクロ の編集作業で、VBEditorなどにてマクロ専用テンプレート上にて 記載すれば、そのテンプレートでの作業ができるようになるので 楽かもしれませんね。登録後には元の"Normal"に戻しておけば、 [文書の作成に使用するテンプレート]としては問題なく利用する ことができます。 全文書対象のテンプレートには、余計なものを登録しないことが 管理するうえで一番大事だと思ます。よく使うマクロだけを登録 しておいて、それ以外はアドインで対応するようにするのが一番 影響が少ない方法だと思いますよ。

krmr
質問者

お礼

世代管理バックアップは無駄が多いかもしれませんが、大事なマクロを失うよりはましなので、Normal.dotで行くにせよ、アドインテンプレートで行くにせよ、やはり、世代管理バックアップはせずにおれません。 私の場合、マクロを書くときは、今まで作ったマクロから必要な部分をコピーしながらする場合が多いので、やはり、今まで作ったマクロを参照する必要があり、アドインテンプレートで行くとすると、それを開くか、または、[文書の作成に使用するテンプレート]をこのテンプレートに切り替えるか、のどちらかということになりそうです。どちらが面倒臭さが少ないか試しながらゆっくり考えたいと思います。ありがとうございました。

すると、全ての回答が全文表示されます。
  • neKo_deux
  • ベストアンサー率44% (5539/12317)
回答No.1

> それとも、Normal.dot内のマクロを他のテンプレートにコピーすることもできなくなるようなトラブルもあるのでしょうか? 実際にあるかどうかは分かりませんが、Normal.dotを開くとフリーズするとか。 Normal.dotはいろんなタイミングで書き換えられちゃいますし。 > マクロはNormal.dot以外のテンプレートに保存しておくほうがよい ファイル名はNormal.dotでも構いませんが、調子いい、いろんな設定した状態の物をバックアップしとくとトラブルの際に助かったり、新規の環境で設定が簡単だったりって事はあります。

krmr
質問者

お礼

一応、Normal.dotの世代管理のバックアップはしているんですけどね。

すると、全ての回答が全文表示されます。

関連するQ&A