Вставка автотекста (или Quickpart) в Word (2013) на основе логического значения из Access (2013)

Вставка автотекста (или Quickpart) в Word (2013) на основе логического значения из Access (2013)

Никакой информации по этому поводу в сети не нашел (по крайней мере, работающей — подробнее об этом чуть позже).

Я пытаюсь сделать так, чтобы при нажатии кнопки, созданной мной в форме Access, Word открывал docx-файл и заполнял его определенными абзацами rtf (в определенных точках) на основе нескольких флажков ИСТИНА/ЛОЖЬ в записи, которая в данный момент открыта в форме Access.

Код доступа, который работает для передачи значений в Word docx:

Функция OpenWord(conPath As String)

Dim appword Как Word.Application

Dim doc Как Word.Document

При ошибке Возобновить Далее

Ошибка.Очистить

Установить appword = GetObject(, "word.application")

Если Err.Number <> 0 Тогда

Установить appword = Новое Слово.Приложение

appword.Видимый = Истина

Конец Если

Установить doc = appword.Documents.Open(conPath, , True)

С документом

.FormFields("TextName").Result = Я.Имя

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

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

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

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

Конец с

appword.ActiveWindow.View.Type = wdPrintView

appword.Видимый = Истина

appword.Активировать

Установить документ = Ничего

Установить appword = Ничего

Вышеуказанное отлично работает для передачи имен в Word docx через Developer > Legacy > Text Form Field. Булевы значения также отображаются (например: -1 для TRUE и 0 для FALSE). Я пытаюсь сделать что-то вроде:

ЕСЛИ {TextBoolean1} = "0" "{ AUTOTEXT someparagraph}" ""

Это интернет-предложение не работает.

Подведем итог: что необходимо для того, чтобы Word 2013 вставлял предопределенный абзац (блок автотекста или быстрого построения раздела) в предопределенное место документа на основе логического значения, переданного из Access? (Как это сделать?)

Спасибо за всю вашу любезную помощь. Это поставило меня в тупик на целую неделю, когда я пытался найти разные бесплодные пути.

Озадаченный

решение1

Во-первых, я думаю, что вы могли бы упростить большую часть кода в вашем макросе, используя вместо этого слияние из базы данных Access и просто инициируя это через макрос.

Код поля для вашего поля IF, как он здесь отображается, должен работать. Убедитесь, что вы заключили код в специальные скобки поля, нажав CTRL+ F9, а не просто в обычные скобки.

Связанный контент