............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

combinacion correspondencia con vba

Ver el tema anterior Ver el tema siguiente Ir abajo

combinacion correspondencia con vba

Mensaje por albersil el Sáb Abr 15, 2017 7:42 am

Buenas y gracias de antemano por vuestra ayuda. Tengo un excel que me muestra un formulario de toma de datos que se rellena y al pulsar el botón de agregar, pone los datos en la fila correspondiente. Esto es fácil, pero necesito que a la vez que haga esto,también con esos datos me abra un word que está en el mismo directorio y que es una combinación de correspondencia cuyo origen de datos es este excel y que me guarde el word como pdf utilizando el nombre y apellidos del excel como nombre del fichero word. No se por donde empezar y os agradecería mucho vuestra ayuda. Os dejo enlaces a los ficheros de prueba. Gracias.

[Tienes que estar registrado y conectado para ver este vínculo]

[Tienes que estar registrado y conectado para ver este vínculo]

albersil

Cantidad de envíos : 32
Fecha de inscripción : 30/01/2009

Volver arriba Ir abajo

Re: combinacion correspondencia con vba

Mensaje por moises melgar el Dom Abr 30, 2017 12:43 am

Buenas noches
Este codigo lo adapte para que funcione con este archivo (agrego notas)
Código:
Sub wordyPDFs()
Dim MiDoc As Object
Dim txt
Dim Num As Integer
Dim j As Integer
Application.ScreenUpdating = False
txt = ThisWorkbook.Path & "\Carta modelo.doc" '<--tu archivo esta en la misma carpeta que el libro excel
Set MiDoc = CreateObject("Word.Application")
MiDoc.Documents.Open (txt)

Num = Range("A" & Rows.Count).End(xlUp).Row '<--se ejecuta este codigo despues de agregados los datos (la ultima fila con datos agregados)
    
    For x = 1 To 4 '<-- representan las variables que se actualizan en tu word
    MiDoc.ActiveDocument.fields(x).Result.Text = Cells(Num, x + 1).Value <--aqui el "x + 1" representa la columna que se actualiza
    Next x

archivoPDF = ActiveWorkbook.Path & "\" & Cells(Num, 2) & " " & Cells(Num, 3) & " " & Cells(Num, 4) & ".pdf" '<--archivo pdf a crear

pdf = MiDoc.ActiveDocument.ExportAsFixedFormat( _
        archivoPDF, 17, False, 0, 0, , , 0, False, True, 1)

MiDoc.ActiveDocument.Close savechange = False
MiDoc.Quit
End Sub

por lo que dentro del codigo del boton grabar
coloque wordyPDFs

Código:
Private Sub grabar_Click()
nombre.SetFocus
If nombre.Text = "" Then
MsgBox "Debe escribir el nombre", , "Dato no válido"
.....
.....
.....
With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
End With

wordyPDFs '<---Ejecuto el codigo mencionado anteriormente

nombre.Text = ""
apellido1.Text = ""
apellido2.Text = ""
dni.Text = ""
Range("G2").Select


End If


End Sub

Finalmente espero que te funcione

Adjunto el archivo ya con el codigo
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 526
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: combinacion correspondencia con vba

Mensaje por albersil el Dom Abr 30, 2017 4:43 am

Muchas gracias. Ahora no estoy en casa y no puedo probarlo, pero lo haré y te cuento. Salu2.

albersil

Cantidad de envíos : 32
Fecha de inscripción : 30/01/2009

Volver arriba Ir abajo

Re: combinacion correspondencia con vba

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.