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

То, что я пытаюсь сделать, это иметь, нажатием кнопки, которую я создал в форме доступа, Word открывает docx и заполняет его определенными абзацами rtf (в определенных точках) на основе нескольких флажков TRUE/FALSE в запись в настоящее время открыта в форме доступа.

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

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

Тусклый appword As Word.заявка

Dim Doc As Word.Документ

При ошибке возобновить следующее

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

Set appword = GetObject(, "word.application")

Если ошибатьсяNumber <> 0 Тогда

Установите appword = Новое слово.заявка

appword.Visible = True

Конец, если

Установите doc = appword.Документы.Открыть (conPath, True)

С док

,Поля форм ("TextName").Результат = Я.название

,Поля форм ("TextAnotherName").Результат = Я.Другое имя

,Поля форм ("TextBoolean1").Результат = Я.Boolean1

,Поля форм ("TextBoolean2").Результат = Я.boolean2

,Поля форм ("TextBoolean3").Результат = Я.Boolean3

Конец с

appword.ActiveWindow.Посмотреть.Type = wdPrintView

appword.Visible = True

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

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

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

Вышеприведенное прекрасно работает для передачи имен в документ Word через Developer> Legacy> Text Form Field. Также отображаются логические значения (то есть: -1 для ИСТИНА и 0 для ЛОЖЬ). Я пытаюсь сделать что-то вроде:

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

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

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

Спасибо за вашу любезную помощь - это поставило меня в тупик на неделю, пробуя различные бесполезные пути,

Тупик

1 ответ1

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .