Office 2007 で作業していて、ドキュメント ヘッダーにファイル名フィールドを追加したいと考えています。ドキュメントは後で PDF になるため、拡張子は必要ありません。
Insert -> QuickParts -> Field で遊んでみましたが、役に立ちませんでした。それには公式が必要だという直感があります...
ご協力いただける場合は、事前に感謝します。
あなたの感覚はとても正しいです。
Insert > QuickParts > Field > FileName
ただし、下のスクリーンショットからわかるように、ファイル拡張子をオンまたはオフにするオプションはありません。
表示するかどうか (シェイクスピア スタイル) は、既知のファイル拡張子を表示するか非表示にするかは Windows エクスプローラーの設定次第です。したがって、その設定を変更するか、何らかのコードが必要です。
非常に単純なマクロは次のようになります。
Sub InsertCurrentFileName()
Selection.InsertBefore Text:=Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
End Sub
「.doc」などの「ファイル名文字列」の最後の 4 文字を削除するだけです。保存されます。また、このマクロは一度実行され、ファイル名が変更されたときに再度実行する必要があります。
ドキュメント ヘッダーにファイル名を含めることで達成したいことをもう少し説明していただけないでしょうか。ドキュメント ヘッダーのファイル名を使用して、変換中に PDF プロパティを設定しようとしていますか? ドキュメントのタイトルを使用しないのはなぜですか? 後で PDF に元のファイル名が必要ですか? なぜですか?
問題を解決するためのさらに 2 つのページ (どちらもマクロに依存しています...):
実際、FileName フィールドには「ベース名のみ」のオプションはありません。
あなたとこの投稿にアクセスしている他の人に、その提案に賛成票を投じることを勧めます。
@DennisG が提案したように、マクロを記述することは、おそらく最も便利な回避策です。
ただし、セキュリティ上の問題を回避するために、Word 文書にマクロを関連付けることは避けたい場合があります (たとえば、文書を配布する場合)。したがって、別の回避策はFileBaseName
、ハードコードされた値「MyDocumentBaseName」を使用してカスタム プロパティを作成することです。
FileBaseName カスタム プロパティを作成し、値を割り当てます。
カスタム ドキュメント プロパティ をドキュメントに挿入FileBaseName
します。
ドキュメントにフィールドとして「MyTempReport」が挿入されます。
制限:
FileBaseName
を手動で変更する必要があります... (上記のように)。FileBaseName