Rellenar Bookmarks en documento de word desde vba en access.

Les pido amablemente ayuda con el siguiente tema, estoy tratando de exportar unos valores de un formulario a un documento de word, lo logre hacer usando campos de textos en word, pero estos no son muy amigables para después modificarlos de ser necesario, lo logre hacer de la siguiente manera:

Private Sub Command1257_Click()
Dim appword As Object
Dim doc As Object
Dim path As String
path = "D:\Dropbox (Equipo ICOL)\Carpeta del equipo Equipo ICOL\Seguimiento de Oportunidades\Documentos\Oferta No1.docx"
Set appword = CreateObject("Word.Application")
Set doc = appword.Documents.Open(path)
With doc
    .FormFields("ClienteW").Result = Me.Combo1030.Column(1)
    .FormFields("DireccionW").Result = Me.Combo1030.Column(3)
    .FormFields("PaisW").Result = Me.Cuadro_combinado803.Column(1)
    .FormFields("DepartamentoW").Result = Me.Combo1030.Column(5)
    .FormFields("CiudadW").Result = Me.Combo1030.Column(4)
    .FormFields("TelefonoW").Result = Me.Combo1026.Column(3)
    .FormFields("ResponsableW").Result = Cuadro_combinado94.Column(1)
    .FormFields("CorreoResponsableW").Result = Cuadro_combinado94.Column(2)
    .FormFields("NroOfertaW").Result = Me.NumeroDeOfertaTXT
    .FormFields("NITW").Result = Combo1030.Column(6)
    .FormFields("FechaW").Result = Me.Fecha
    .FormFields("RevW").Result = Me.Texto90
    .FormFields("RFQW").Result = Me.NoRFQ
    .FormFields("ContactoW").Result = Me.Combo1026.Column(1)
    .FormFields("CTelefonoW").Result = Me.Combo1026.Column(4)
    .FormFields("CCorreoW").Result = Me.Combo1026.Column(5)
End With
doc.Save
doc.Close
Set doc = Nothing
Set appword = Nothing
End Sub

la cuestion es que quiero hacer lo mismo pero usando marcadores, pero no logro hacerlo.

1

1 Respuesta

864.050 pts. No responderé preguntas de usuarios que no valoren las...

en este ejemplo de Neckkito lo tienes explicado: http://neckkito.xyz/nck/index.php/ejemplos/20-especiales/207-cartas-de-word-en-access 

Un saludo.


Si, pero la cuestión es que el no usa campos de este tipo, como.

Y con la opción que esta ahí descrita, se borra el marcador y el campo de texto creado después de que se rellena.

Lo estoy haciendo de la siguiente manera

objWord.ActiveDocument.Bookmarks("NroOfertaW").Select
objWord.Selection.Range.Text = Me.NumeroDeOfertaTXT
objWord.Visible = True

No acabo de entender lo que dices...

Un marcador es solo eso, una marca en el documento sobre la que puedes hacer algo, no tiene por qué corresponder a un texto del documento (de hecho, en el ejemplo no lo es)

Los marcadores del ejemplo tampoco se borran, si vas a Insertar->Marcador, verás que siguen estando ahí...

La forma en que lo haces es igual de válida que la del ejemplo, pero en dos lineas en vez de en una:

objWord.ActiveDocument.Bookmarks.Item("NroOfertaW").Range.Text = Me.NumeroDeOfertaTXT

Por otro lado, dentro del objeto Range, tienes opciones para formatear un texto (negrita, cursiva...)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas