Access (2013) のブール値に基づいて Word (2013) にオートテキスト (またはクイックパーツ) を挿入する

Access (2013) のブール値に基づいて Word (2013) にオートテキスト (またはクイックパーツ) を挿入する

これに関する情報はネット上のどこにも見つかりませんでした (少なくとも機能するものは見つかりませんでした。これについては後ほど詳しく説明します)。

私がやろうとしているのは、Access フォームで作成したボタンを押すと、Word で docx が開かれ、Access フォームで現在開いているレコード内のいくつかの TRUE/FALSE チェックボックスに基づいて、特定の rtf 段落 (特定のポイント) が取り込まれるようにすることです。

Word docx に値を渡すために機能するアクセス コード:

関数 OpenWord(conPath を文字列として)

Dim appword As Word.Application

Dim doc As Word.Document

エラー時に再開次へ

エラー。クリア

appword = GetObject(, "word.application") を設定します。

Err.Number <> 0の場合

appword = New Word.Application を設定します。

appword.Visible = True

終了条件

doc = appword.Documents.Open(conPath, , True) を設定します。

ドキュメント付き

.FormFields("TextName").Result = Me.Name

.FormFields("TextAnotherName").Result = Me.AnotherName

.FormFields("TextBoolean1").Result = Me.Boolean1

.FormFields("TextBoolean2").Result = Me.Boolean2

.FormFields("TextBoolean3").Result = Me.Boolean3

終了

appword.ActiveWindow.View.Type = wdPrintView

appword.Visible = True

appword.アクティブ化

doc を Nothing に設定

appword = Nothing を設定します

上記は、開発者 > レガシー > テキスト フォーム フィールド経由で Word docx に名前を渡すのに最適です。ブール値も表示されます (つまり、TRUE の場合は -1、FALSE の場合は 0)。私がやろうとしているのは、次のようなことです。

IF {TextBoolean1} = "0" "{ AUTOTEXT someparagraph}" ""

このインターネットの提案は機能しません。

要約すると、Access から渡されたブール値に基づいて、Word 2013 で定義済みの段落 (オートテキストまたはクイック パーツ ビルディング ブロック) をドキュメント内の定義済みの場所に挿入するには何が必要ですか? (これを行う方法は何ですか?)

親切なご助力に感謝します。このため、私は1週間、さまざまな手段を試しましたが、うまくいきませんでした。

困惑

答え1

まず、Access データベースの差し込み印刷を使用し、それをマクロ経由で実行することで、マクロ内のコードの多くを簡素化できると思います。

ここで表示される IF フィールドのフィールド コードは機能するはずです。通常の括弧ではなく、CTRL+をクリックして、コードを特殊なフィールド括弧で囲んでいることを確認してください。F9

関連情報