Inserindo Autotexto (ou Quickpart) no Word (2013) com base em um valor booleano do Access (2013)

Inserindo Autotexto (ou Quickpart) no Word (2013) com base em um valor booleano do Access (2013)

Não encontrei nenhuma informação sobre isso em nenhum lugar da rede (pelo menos alguma que funcione - mais sobre isso em um momento).

O que estou tentando fazer é que, ao pressionar um botão que criei em um formulário de acesso, o Word abra um docx e preencha-o com determinados parágrafos rtf (em determinados pontos) com base em várias caixas de seleção VERDADEIRO/FALSO em o registro atualmente aberto no Formulário de Acesso.

Código de acesso que funciona para passar valores para o documento do Word:

Função OpenWord (conPath As String)

Dim appword como Word.Application

Dim documento como Word.Document

Em caso de erro, retomar o próximo

Erro.Limpar

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

Se Err.Number <> 0 Então

Definir appword = Novo Word.Application

appword.Visible = Verdadeiro

Fim se

Definir doc = appword.Documents.Open(conPath, , True)

Com documento

.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

Terminar com

appword.ActiveWindow.View.Type = wdPrintView

appword.Visible = Verdadeiro

appword.Ativar

Definir documento = Nada

Definir appword = Nada

O procedimento acima funciona muito bem para passar nomes para o documento do Word via Desenvolvedor> Legado> Campo de formulário de texto. Os valores booleanos também aparecem (ou seja: -1 para TRUE e 0 para FALSE). O que estou tentando fazer é algo como:

IF {TextBoolean1} = "0" "{AUTOTEXT algum parágrafo}" ""

Esta sugestão da internet não funciona.

Para resumir: O que é necessário para que o Word 2013 insira um parágrafo predefinido (um autotexto ou bloco de construção de parte rápida) em um local predefinido em um documento com base em um booleano passado pelo Access? (Qual é a maneira de fazer isso?)

Obrigado por toda a sua gentil ajuda - isso me deixou perplexo por uma semana tentando vários caminhos infrutíferos,

Perplexo

Responder1

Em primeiro lugar, acho que você poderia simplificar muito o código da sua macro usando a mala direta do banco de dados do Access e apenas instigando isso por meio da macro.

O código do campo IF conforme aparece aqui deve funcionar. Certifique-se de ter colocado o código entre colchetes de campo especiais clicando em CTRL+ F9e não apenas em colchetes normais.

informação relacionada