答え1
この要件は VBA で実装する必要があると思います。
VBAコンソールを開く: 「Alt + F11」をクリック
以下は、画面録画によって生成されたマクロです。参照できます。
Sub Macro5()
Selection.TypeText Text:="100"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "parameter1"
.Replacement.Text = "100"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.TypeText Text:="200"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "parameter2"
.Replacement.Text = "200"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.TypeText Text:="300"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "parameter3"
.Replacement.Text = "300"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
変数の値を制御するには、次の 2 つのパラメータを変更するだけです。
TypeText Text:="XX" Replacement.Text = "XX"
答え2
ご希望のものにかなり近い方法を見つけたと思いますが、ドキュメント内のテーブルの代わりに、ドキュメントの詳細プロパティを使用する必要があります。
以下は、最初から実行した手順です (Windows 上の最新バージョンの Word の場合)。
- 新しいドキュメントを作成する
- ファイル ➡ プロパティ (右上) ➡ 詳細プロパティに移動します。
- 次に表示されるウィンドウの[カスタム]タブに移動します
- ここでは、カスタム ドキュメント プロパティを作成できます。これを使用して、以下の GIF に示すようにパラメーター値を保存できます (タイプミスで申し訳ありません)。
では、文書に戻ってください。フィールドコードドキュメントのプロパティを表示します。
最も簡単な方法は、パラメータ テキストを表示する場所に移動し、CTRL+を押してF9入力し
DOCPROPERTY parameter_name \* MERGEFORMAT
、 を押してF9ドキュメント内のすべてのフィールドコード (作成したフィールドコードも含む) を更新することです。
- パラメータを表示させたい場所ごとにこれを繰り返します
ドキュメント全体でパラメータ値を変更するには、詳細プロパティ (手順 2-3) でパラメータ値を更新し、ドキュメントに戻って を押してすべてのフィールドコードを更新しますF9。
ここに短いデモがあります: