Wordでドキュメントを開くと、ドキュメントのファイル名がタイトルバーに表示されます。場合によっては、タイトルバーに単純なファイル名以上のものを表示すると便利です。多くの読者は、タイトルバーにファイル名とともにフルパス名を表示することで利益を得ることができます。残念ながら、Wordはこれを簡単に行う方法を提供していません。

(結局のところ、このオプションのチェックボックスを含めるのはどれほど難しいでしょうか?)

これに取り組むにはいくつかの方法があります。たまにフルパス名を知る必要がある場合は、非常に単純なマクロを作成して、ツールバーボタンに割り当てることができます。ボタンをクリックすると、アクティブウィンドウのタイトルバーの情報が変更され、フルパス名が反映されます。 ChangeCaptionと呼ばれるこのマクロは、次のとおりです。

Sub ChangeCaption()

ActiveWindow.Caption = ActiveDocument.FullName End Sub

繰り返しますが、このマクロは時々使用するのに最適です。必要に応じて、このマクロの名前をAutoOpenに変更することもできます。そうすると、すべてのドキュメントを開くと、フルパス名が表示されます。ただし、このオプションにはいくつかの大きな欠点があります。 [名前を付けて保存]を使用してドキュメントの名前を変更して別の名前で保存する場合は、マクロを再実行しない限り、新しいファイル名(およびパス)はタイトルバーで更新されません。次に、ウイルスチェックをオンにしている場合、マクロ(AutoOpenに割り当てられている)が、マクロウイルスによるシステムの混乱の試みとして解釈される可能性があります。

より包括的で自動化されたアプローチを作成する方法があります。フルパス名を含むようにWordをカスタマイズするには、Wordで使用されるインターフェイスの種類を理解する必要があります。 Wordは、マルチドキュメントインターフェイス(MDI)アプリケーションです。つまり、メインアプリケーションウィンドウ(Wordの場合)は親アプリケーションウィンドウであり、このウィンドウには、開いている各ドキュメントのドキュメントウィンドウ(子ウィンドウ)を含めることができます。ドキュメントウィンドウが最大化されると、Wordのタイトルバーにアプリケーションタイトル(Microsoft Word)とドキュメントファイルの名前の組み合わせが表示されます。ドキュメントが部分画面または最小化された状態で表示される場合、親ウィンドウにはアプリケーション名(Microsoft Word)のみが表示され、各子ウィンドウにはそのウィンドウに含まれるドキュメントのタイトルが表示されます。したがって、変更する必要があるのは、ファイル名とともにパスを含めるための子ウィンドウのタイトルバーだけです。

包括的なアプローチは、Wordアプリケーションイベントの使用に依存しています。

基本的に、このアプローチを実現するために使用される手順は次のとおりです。

。アプリケーションイベントをトリガーするようにWordを設定します(これらはWordに組み込まれていますが、自動的には発生しません)。

。 DocumentChangeイベントの実際のタイトルバー変更コードをいくつか記述します。

DocumentChangeイベントは、一度設定されると、ユーザーが子(ドキュメント)ウィンドウをアクティブ化するたびに発生します。私が「ほぼ」と言ったことに気付くでしょう。

これは、子ウィンドウが開いているドキュメントと重複するウィンドウである場合(たとえば、[ウィンドウ]メニューから[新しいウィンドウ]を選択したときに表示されるウィンドウ)、イベントがトリガーされないためです。これは事実上、同じドキュメントの2つのビューであるため、一方のビューからもう一方のビューに切り替えてもドキュメントは変更されません。したがって、ドキュメントが開いていて、ユーザーが同じドキュメントに対して新しいウィンドウを開いた場合、DocumentChangeイベントから実行されたコードによってタイトルバーが自動的に変更されることはありません。ただし、ユーザーが別のドキュメントを含む他の子ウィンドウからこの「新しいウィンドウ」ビューに変更した場合は、後で変更されます。

2番目の問題は、新しいドキュメントが保存されたときにDocumentChangeイベントもトリガーされないことです。したがって、保存されていないドキュメント(Document1、Document2など)が保存された場合、新しく保存されたファイルからフォーカスが外されて返されるまで、タイトルバーは変更されません。幸い、これは回避できます。

したがって、最初のステップは、Wordアプリケーションイベントをアクティブ化することです。これを行うには、次の手順に従います。 (ここでの例は_WordTips_ CD-ROMには含まれていません。ただし、概説されている手順に従って簡単に作成できます。)

。 Wordを起動し、開いているすべてのドキュメントを閉じます。

。 Alt + F11を押して、Visual BasicEditorを起動します。エディタのタイトルバーには、「Microsoft VisualBasic-Normal」と表示されているはずです。これは、通常のテンプレートプロジェクトで作業していることを意味します。

。 [挿入]メニューから[クラスモジュール]を選択します。これにより、通常Class1、Class2などの名前のクラスモジュールがプロジェクトに追加されます。

。 [プロパティ]ウィンドウ(エディターの左下隅)を使用して、新しいクラスモジュールの名前をAppEventsに変更します。

。エディタウィンドウで、次のように入力または貼り付けます。

。 [挿入]メニューから[モジュール]を選択します。これにより、通常はModule1、Module2などの名前の通常のモジュールがプロジェクトに追加されます。

。 [プロパティ]ウィンドウ(エディターの左下隅)を使用して、新しいモジュールの名前をMyModuleに変更します。 (必要に応じて、別の名前を使用できます。名前を変更する場合は、上記の手順5でMyModule参照も変更する必要があります。)

。エディタウィンドウで、次のように入力または貼り付けます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1248)は、Microsoft Word 97、2000、2002、および2003に適用されます。