Insertar autotexto (o Quickpart) en Word (2013) basándose en un valor booleano de Access (2013)

Insertar autotexto (o Quickpart) en Word (2013) basándose en un valor booleano de Access (2013)

No he encontrado ninguna información sobre esto en ningún lugar de la red (al menos ninguna que funcione; hablaremos más sobre eso en un momento).

Lo que estoy tratando de hacer es que, con solo presionar un botón que he creado en un formulario de acceso, Word abra un docx y lo complete con ciertos párrafos rtf (en ciertos puntos) sobre la base de varias casillas de verificación VERDADERO/FALSO en el expediente actualmente abierto en el Formulario de Acceso.

Código de acceso que funciona para pasar valores al documento de Word:

Función OpenWord (conPath como cadena)

Dim appword como Word.Aplicación

Atenuar documento como Word.Document

En caso de error Continuar siguiente

Error.Borrar

Establecer palabra de aplicación = GetObject(, "palabra.aplicación")

Si Número de error <> 0 Entonces

Establecer appword = Nueva Palabra.Aplicación

appword.Visible = Verdadero

Terminara si

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

con doctor

.FormFields("NombreTexto").Resultado = Yo.Nombre

.FormFields("TextAnotherName").Resultado = Yo.OtroNombre

.FormFields("TextBoolean1").Resultado = Yo.Boolean1

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

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

Terminar con

appword.ActiveWindow.View.Type = wdPrintView

appword.Visible = Verdadero

appword.Activar

Establecer documento = Nada

Establecer palabra de aplicación = Nada

Lo anterior funciona muy bien para pasar nombres al documento de Word a través de Desarrollador > Legado > Campo de formulario de texto. Los valores booleanos también aparecen (es decir: -1 para VERDADERO y 0 para FALSO). Lo que estoy tratando de hacer es algo como:

IF {TextBoolean1} = "0" "{ AUTOTEXTO algún párrafo}" ""

Esta sugerencia de Internet no funciona.

Para resumir: ¿Qué se necesita para que Word 2013 inserte un párrafo predefinido (un autotexto o un bloque de creación de partes rápidas) en un lugar predefinido de un documento sobre la base de un booleano pasado desde Access? (¿Cuál es la manera de hacer esto?)

Gracias por toda su amable ayuda. Esto me ha dejado perplejo durante una semana probando varias vías infructuosas.

perplejo

Respuesta1

En primer lugar, creo que podría simplificar gran parte del código de su macro utilizando la combinación de correspondencia desde la base de datos de Access y simplemente instándolo a través de la macro.

El código de campo para su campo IF tal como aparece aquí debería funcionar. Asegúrese de haber rodeado el código con corchetes de campo especiales haciendo clic en CTRL+ F9y no solo con corchetes normales.

información relacionada