Quisiera saber si se puede hacer una macro que abra un documento de una carpeta asignada en word y lo guarde con el nombre de una celda asignada de excel y que deje el documento de word abierto
Eston serian los datos
Documento abrir c:\datos\documento.doc
valor celda (a1) excel 2017-5248
Documento final y ubicacion c:\datos\pres\2017-5248.doc
HE CONSEGUIDO HACERLA PERO COMO PRORIA HACER PARA QUE ME GRABARA EL FICHERO CON EL NOMBRE INTRODUCIDO EN UNA CELDA Y NO COMO LO HE PUESTO YO PRESUPUESTO.
ADJUNTO LA MACRO
Sub IMPRESIONPDF()
Sheets(Array("RANGOS", "DEMOLICION", "ALBAÑILERIA", "CARPINTERIAYPINTURA", _
"FONTANERIA", "ELECTRICIDAD", "VENTANAS", "ARMARIOS", "RESUMEN")).Select
Sheets("RANGOS").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Datos\Excel\PRESUPUESTO.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Sheets("RANGOS").Select
End Sub
puedes referirte al valor de una celda de muchas formas, por ejemplo así: Sheets("Tu Hoja").Range("tucelda").Value
en tu ejemplo
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Sheets("Tu Hoja").Range("tucelda").Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
------
Ya sé Excel, pero necesito más.
gracias
He creado esta macro pero me da error de compilacion alguien sabe lo que ocurre
Sub reword()
celdita = ActiveSheet.[A1]
Dim oWord As Word.Application, wdDoc As Word.Document
Set oWord = CreateObject("Word.Application")
Set wdDoc = oWord.Documents.Open("c:\datos\documento.doc")
oWord.Visible = True
wdDoc.SaveAs "c:\datos\pres\" & celdita & ".doc"
wdDoc.Activate
End Sub
Gracias a todos
¿cuál es el mensaje del error?¿en qué línea se produce?
Pueden ser muchas cosas, desde una variable no declarada a una referencia a la biblioteca de Word que no esté definida.
------
Ya sé Excel, pero necesito más.
Te adjunto pantallazo, he mirado a ver si algun espacio o coma estan mal pero se me escapa
parece que está bien escrito
¿qué referencias tienes en el proyecto? (en herramientas>referencias)
De todos modos, como parece que tienes referencia a Word, puedes crear la instancia a word con esta otra sentencia, en lugar de mediante CreateObject
Set oWord = New Word.Application
------
Ya sé Excel, pero necesito más.
Creo que en las referencias va a estar el problema porque estoy con otra macro y pasaa lo mismo
sale el mismo error
Sólo te queda probar poco a poco.
Corrige otros errores que veas por el código (como esos End Sub duplicados que se ven en la imagen)
Crea un libro nuevo y empieza a poner el código ahí para ver qué falla.
En las referencias sólo veo que tienes versiones diferentes de Word(16) y Excel(14), pero tampoco debería ser la causa del problema (o sí, vete tú a a saber).
------
Ya sé Excel, pero necesito más.