1

作業中のファイルのテンプレートをドロップボックスに保管しています。別のドロップボックス パスを持つコンピューターに変更すると、テンプレートをドキュメントに再度添付する必要があります。これをマクロで実現したい。

[テンプレートとアドイン] ウィンドウには、最初に添付されたテンプレートの名前がまだ表示されているため、その情報はドキュメント内のどこかに保存されている必要があります。

ただし、以前に添付されたテンプレートの名前をVBA経由で取得しようとすると、次のように記述します

strTemplate = ActiveDocument.AttachedTemplate

結果は「MyTemplate.dotm」ではなく「Normal.dotm」になります。これは実際には非常に理にかなっていますが、私が探しているものではありません。

以前に添付されたテンプレートの名前とパスを取得する方法はありますか?

4

2 に答える 2

1

「添付されたテンプレートを解決せずにワード文書を開く方法」への回答として、スタックオーバーフローに関する回答を見つけました(残念ながら質問を投稿した後のみ):

strOldTemplate = Dialogs(wdDialogDocumentStatistics).Template
于 2013-09-05T21:51:18.273 に答える
1

から完全な名前(パス+名前)を取得できると思います

Application.Dialogs(wdDialogToolsTemplates).Template

そして名前だけから

ActiveDocument.BuiltinProperties(wdPropertyTemplate)

それらの最初のものを初めて試したとき、うまくいかないように見えましたが、間違ったドキュメントをチェックしていた可能性があります。Dialog オブジェクトの下に文書化された Template プロパティは見つかりません -ここに文書化されています

それらが機能しない場合、私が見ることができる唯一の他の方法は

a. .docx が閉じているときに (.docx の場合) 内部を調べるか、または (チェックしていない) .doc に dsofile.dll を使用するか、または

b. フィールド { テンプレート \p } を挿入し、それを実行して結果テキストを取得します

于 2013-09-05T10:33:11.703 に答える