システムwiki

DocVariableフィールドがTextBox内に含まれている場合、VBAを使用してString値を使用してDocVariableを作成する方法

Joseph1 受付中 最終更新日:2021-06-17 03:46

1<ボタンSTYLE= "マージン:0; パディング:0; ボーダースタイル:なし 境界半径:0; 背景-イメージ:なし. 背景サイズ:初期; 背景-繰り返し:初期; 背景-添付ファイル:初期; 背景-原点:イニシャル; 背景クリップ:初期; 概要:なし">

ドキュメント全体のVBAを使用してDocBariableフィールドの値を入力しています.この部分は主に働いています.機能していない唯一の部分は、DocBariableフィールドがTextBoxesの内側に配置されている場合です.

凡例

a.DocVariableの例:{docvariable "cpermper_name"* mergeformat} ***

b.Tempvars!depert_name.valueはTextString

です.

c.Mergedocは辞書のテンプレートドキュメント

です.

私は単語インスタンスを作成してから、テンプレートをインスタンスに提供します. 1)OWORD= CreateObject( "Word.Application")を設定する
2)SET WRD1= OWORD.DOCUMENTS.ADD(Mergedoc)
今、私はdocvariableを値

に移入します

3)WRD1.Variables( "depart_name").value= NZ(Tempvars!Depert_Name.Value、 "")
これは、テキストボックス内に含まれているときにDocVariableを入力しようとするまで動作します.何も起こりません.テキストボックス内にあるときは、DocVariableがまったくわからないようなものです.

さらに、以下を実行するときに、テキストボックス内に値をDocVariableフィールドに入力するときと同じように動作します.

Word.Field

としてDIM FLD

WRD1.Fields

の各FLDについて

fld.type= wdfieldDocVariable

の場合

fld.unlink

の場合は終わります

次の

フィールドが存在することがわからないようなものです
joe

返信リスト(回答:2)

1 #
DougRob

ドキュメントに表示されている場所にフィールドを更新するには、

などのコードを使用する必要があります.

範囲

としてDim MyStoryRange ActiveDocument

を使って .Storyranges

のそれぞれのMyStoryRangeについて

MyStoryRange.Fields.Update

そうでない間(MyStoryRange.NextStoryRangeは何もない)

MyStoryRange= MyStoryRange.NextStoryRange

を設定します

MyStoryRange.Fields.Update

ループ

次のMyStoryRange

で終わります

リンクフィールドのリンクを同様に

2 #
RichMic

交差投稿しました.エチケットを横切るために 交差投稿