¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

grabación creación ...
 
Share:
Avisos
Vaciar todo

[Resuelto] grabación creación de word y grabación automática  

  RSS
sergio cortez rivva
 sergio cortez rivva
(@sergio cortez rivva)
Invitado

estimados 

tengo un macro que me permite ejecutar desde excel la emision de unos certificados en word reemplazando algunos datos,

requiero poder grabar este documento creado de manera automatica, pero como nombre de archivo con uno de los datos del documento y no usando el clasico documento 1, documento 2, etc..

adjunto el macro para su apoyo

Sub certf()

'ubicacion y nombre de la plantilla
wArch = Sheet9.Range("b2").Text & Sheet6.Range("c2").Text & ".docx"

Set objWord = CreateObject("Word.application")
objWord.Visible = True
objWord.documents.Add Template:=wArch, NewTemplate:=False, DocumentType:=0

For i = 1 To Sheet6.Range("c1").Value 'celda donde esta la cuenta

datos = Sheet6.Range("B" & i).Text 'donde estan los datos
reemp = Sheet6.Range("A" & i).Text 'donde estan las etiquetas

'utilizamos buscar y reemplazar de word
With objWord.Selection.Find
.Text = datos 'busca el texto en datos
.Replacement.Text = reemp 'reemplaza por el texto
.Execute Replace:=2 'variable en dos es para reemplazar todos los valores
End With

Next i

 

End Sub
Sub Spinner1_Change()
End Sub

Respondido : 09/07/2020 3:56 pm
RET
 RET
(@ret)
Miembro Admin

Hola Sergio,

Yo añadiría esto:

Dim objWord As Word.Application
Dim objDoc As Word.Document

y modificaría esto:

Set objDoc = objWord.documents.Add Template:=wArch, NewTemplate:=False, DocumentType:=0

Después, solo tienes que agregar el siguiente código:

Direct = "TuDirectorio\"
Fichero = "TuFichero.docx"

objWord.ChangeFileOpenDirectory Direct
objWord.ActiveDocument.SaveAs2 _
       Filename:=Fichero, FileFormat:= _
       wdFormatXMLDocument

objDoc.Close
Set objDoc = Nothing
objWord.Quit

Tendrás que hacer referencia a Microsoft.Word XX.X ObjectLibrary

Respondido : 09/07/2020 7:09 pm
sergio cortez
 sergio cortez
(@sergio cortez)
Invitado

@ret muchas gracias lo pruebo

Respondido : 10/07/2020 7:06 pm
sergio cortez
 sergio cortez
(@sergio cortez)
Invitado

@ret 

me perdonas pero podrias indicarme el macro completo, para no colocar lo que me indicas en alguna parte que  no corresponda

gracias

Respondido : 10/07/2020 7:11 pm
RET
 RET
(@ret)
Miembro Admin

Te lo mando adjunto en un txt. De todas formas, sin tener el libro, es un poco dificil saber exactamente lo que haces. Estoy asumiendo que en Sheet6.Range("c1").Value tienes el número de documentos que quieres salvar y que vas sobreescribiendo el documento y guardandolo con difernte nombre cada vez.

Tienes que definir el directorio donde quieres guardar y el nombre de cada archivo dentro del ciclo For---Next.

Respondido : 10/07/2020 9:08 pm
sergio cortez
 sergio cortez
(@sergio cortez)
Invitado

@ret muchas gracias me funciono muy bien

Respondido : 12/07/2020 4:46 am

Dejar una respuesta

Author Name

Author Email

Título *

 
Vista previa 0 revisiones Guardado