Mandar campos de un formulario a una plantilla word
Estimado Experto.
-Tengo abierto un formulario de access y en él un botón de comando cuya función, intento sea, mandar los campos del formulario a una plantilla de Word.
-La plantilla tiene dos marcadores "campofecha" y campoperiodo" con el objetivo de sobreescribir sobre la plantilla de Word el valor de los campos "fecha" y "periodo" del formulario.
-Al pinchar en el botón se accede a la siguiente subrutina de visual.
1º)
# defino un objeto word y dos marcadores "campofecha " y campoperiodo dentro de su sentencia with"
Dim appword As New Word.Application
With appword
.Documents.Add "c:\copiageriasistencia\plantillafactura2"
.ActiveDocument.ShowSpellingErrors = False
.Selection.Goto wdGoToBookmark, Name:="campofecha"
.Selection.Goto wdGoToBookmark, Name:="campoperiodo"
.Visible = True
End With
#Copio todos los registros del formulario en la variable rst
Dim rst As DAO.Recordset
Set rst = Forms!FACTURA.Recordset.Clone
# mando el valor de los campos del formulario fecha y periodo a la plantilla
appword.Selection.TypeText rst!Fecha
appword.Selection.TypeText rst!PERIODO
2º) el problema es que solamente reconoce el último de los marcadores definidos en la sentencia with "campoperiodo", a continuación del cual imprime ambos valores el del campo fecha y el del campo periodo.
Del formulario.
3º) No se que instrucciones tengo que definir en el bloque with para definir varios marcadores y mandar a cada marcador el valor de su correspondiente campo.
Muchas gracias.
-Tengo abierto un formulario de access y en él un botón de comando cuya función, intento sea, mandar los campos del formulario a una plantilla de Word.
-La plantilla tiene dos marcadores "campofecha" y campoperiodo" con el objetivo de sobreescribir sobre la plantilla de Word el valor de los campos "fecha" y "periodo" del formulario.
-Al pinchar en el botón se accede a la siguiente subrutina de visual.
1º)
# defino un objeto word y dos marcadores "campofecha " y campoperiodo dentro de su sentencia with"
Dim appword As New Word.Application
With appword
.Documents.Add "c:\copiageriasistencia\plantillafactura2"
.ActiveDocument.ShowSpellingErrors = False
.Selection.Goto wdGoToBookmark, Name:="campofecha"
.Selection.Goto wdGoToBookmark, Name:="campoperiodo"
.Visible = True
End With
#Copio todos los registros del formulario en la variable rst
Dim rst As DAO.Recordset
Set rst = Forms!FACTURA.Recordset.Clone
# mando el valor de los campos del formulario fecha y periodo a la plantilla
appword.Selection.TypeText rst!Fecha
appword.Selection.TypeText rst!PERIODO
2º) el problema es que solamente reconoce el último de los marcadores definidos en la sentencia with "campoperiodo", a continuación del cual imprime ambos valores el del campo fecha y el del campo periodo.
Del formulario.
3º) No se que instrucciones tengo que definir en el bloque with para definir varios marcadores y mandar a cada marcador el valor de su correspondiente campo.
Muchas gracias.
1 respuesta
Respuesta de xavi -ae soft-
1