Вставка автотекста (или Quickpart) в Word (2013) на основе логического значения из Access (2013)
Никакой информации об этом нигде в сети не найдено (по крайней мере, какая-нибудь, которая работает - подробнее об этом чуть позже).
То, что я пытаюсь сделать, это иметь, нажатием кнопки, которую я создал в форме доступа, Word открывает docx и заполняет его определенными абзацами rtf (в определенных точках) на основе нескольких флажков TRUE/FALSE в запись в настоящее время открыта в форме доступа.
Код доступа, который работает для передачи значений в документ Word:
Функция OpenWord (conPath As String)
Dim appword As Word.Application
Dim Doc As Word.Document
При ошибке возобновить следующее
Error.Clear
Set appword = GetObject (, "word.application")
Если Err.Number <> 0, то
Установить appword = New Word.Application
appword.Visible = True
End If
Установите 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.Activate
Установить документ = ничего
Установить appword = ничего
Вышеприведенное прекрасно подходит для передачи имен в документ Word через Developer > Legacy > Text Form Field. Также отображаются логические значения (то есть: -1 для ИСТИНА и 0 для ЛОЖЬ). Я пытаюсь сделать что-то вроде:
IF {TextBoolean1} = "0" "{AUTOTEXT someparagraph}" ""
Это интернет-предложение не работает.
Подводя итог: Что необходимо для того, чтобы Word 2013 вставлял предопределенный абзац (блок автотекста или блок быстрого создания части) в предопределенное место в документе на основе логического значения, переданного из Access? (Как это сделать?)
Спасибо за вашу любезную помощь - это поставило меня в тупик на неделю, пробуя различные бесполезные пути,
Тупик
1 ответ
Во-первых, я думаю, что вы могли бы упростить большую часть кода в вашем макросе, используя вместо этого слияние Почты из базы данных Access и просто вызывая это с помощью макроса.
Код поля для вашего поля IF, как он здесь отображается, должен работать. Убедитесь, что вы окружили код специальными полевыми скобками, нажимая CTRL + F9, а не только обычные скобки.