UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

raul7733


Hola,
Soy nuevo y no domino mucho pero tengo una macro que saqué de internet que guarda en formato pdf con una ruta determinada.
En este caso guarda en el disco duro "O" Dentro de una carpeta que genera llamada "RESULTADOS_LABO" y dentro otra carpeta llamada como pone en la celda T2. El problema es que necesito que además dentro de esa T2 cree otra carpeta llamada como pone en la celda T3 ó con el nombre de "LIBRE".
Pongo la macro.
Gracias por todo y un saludo.

Sub Imprimepdf()

Dim pdfjob As Object
Dim sPDFName As String
Dim sPDFPath As String
Dim TheFile As String
Dim Results As String

TheFile = "O:\RESULTADOS_LABO\" & Range("T2").Value & "\" & Cells(1, 20).Value & ".pdf"
Results = Dir$(TheFile)

If Results <> "" Then
MsgBox "!Esta Serie Ya Existe!"

' Exit Sub
Else



'/// estos campos son para especificar el nombre de la serie y la ruta donde queda guardada///

sPDFName = Range("T1")
sPDFPath = "O:\RESULTADOS_LABO\" & Range("T2").Value

'Comprobar si la hoja de trabajo esta vacía y salir
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")

With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0
.cClearCache
End With

'Print the document to PDF
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator"

'Esperar hasta que el trabajo de impresión ha entrado en la cola de impresión
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False

'Esperar hasta que acaba de crear el pdf y lanza los objetos
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
pdfjob.cClose
Set pdfjob = Nothing
End If
MsgBox "HOJA IMPRESA Y GUARDADA CORRECTAMENTE", 64, "By Raúl J062545"

End Sub

tyno


Hola Raul.
Para empezar, ¿esta macro te fuciona? No digo si te crea la sub carpeta que pides porque es obvio que falta ese proceso, pero asi como esta la macro funciona por lo menos??
¿que Excel tenes?, Tambien parece que esta macro lo que hace es no solo crear una copia en pdf, sino que imprime el documento. ¿esto esta bien?¿debe funcionar asi? Si nos puedes aclarar un poco mas quizas se pueda hacer algo. Saludos.

raul7733


Hola Tyno,
Sí funciona y lo hace bien. Lo he probado con 2003 y 2010 y en los dos casos va sin problemas.
Esta macro lo que hace es que imprime la hoja en formato pdf pero tienes que tener instalo el pdfcreator.
Lo imprime y lo guarda dentro de la ruta que marca la macro:
O:\RESULTADOS_LABO\carpeta con nombre de la celda [T2] \y en pdf con nombre de la celda [T1].
El probleba es que ademas necesito que se guarde ese pdf con nombre [T1], dentro de:
O:\RESULTADOS_LABO\[T2]\[T3]\[T1].pdf
No sé si sabes de alguna forma menos complicada pero yo no controlo y esto me funciona.
Sé que el 2010 te da la posibilidad de guardar directamente en formato pdf sin tener instalado ningún programa pero no sé como hacerlo.
Gracias.

tyno


Hola Raul.
Si todavia dispones de tiempo y no estas muy apurado mas tarde voy a ver tu planteo, de todas formas si logras resolverlo antes, igual voy a subir un archivo con una alternativa . Saludos compañero.

raul7733


Ok amigo, no te apures que no tengo prisa.
Un saludo

tyno


Hola Raul.

Te paso un archivo con una macro que crea dos grupos de carpetas dentro de una Carpeta determinada (por lo que entendi) que ya se encontraría en el directorio O de tu PC, llamada RESULTADOS_LABO; aparte crea un archivo pdf cuyo nombre lo toma de la celda T4 (me di cuenta tarde que tenia que ser la celda T1, pero esto es facil de modificar desde el editor de macro) Si la carpeta RESULTADOS_LABO no existe en el directorio principal O vas a tener que crearla porque la macro no esta programada para crearla.

La creación del pdf lo hice directamente con la grabadora de macro en Excel 2010, sin necesidad de ejecutar pdfcreator, que dicho sea de paso no tengo idea de como hacer el proceso que active el pdfcreator, sea como sea el archivo pdf se crea y creo que tambien sirve para Excel 2003, aunque todavia no lo probe en esa version.

Para modificar el codigo de la macro y adaptar la ruta de destino de las carpetas y documentos pdf que se van a crear, vas a tener que cambiar la letra C que he utilizado para mi pc, por la letra O que es para tu caso. Para editar la macro que se encuentra en la Hoja1, en la misma Hoja1, solo oprimis la combinacion de teclas Alt+F11 y veras el editor, luego te vas a dar cuenta facil donde modificar.

Este archivo seria como en principio para que pruebes si funciona la creacion y/o reemplazo de las carpetas y doc pdf, luego si necesitas agregar otro proceso solo me avisas y vemos si se puede hacer.

Si el doc pdf y las carpetas ya existen dentro de la Carpeta determinada RESULTADOS_LABO la macro las reemplaza directamente, de lo contrario crea las sub carpetas y archivos distintos. Bueno creo que eso seria todo por ahora, cualquier cosa me avisas. Saludos.
Archivos
prueba crear pdf.xlsm
No tienes los permisos para descargar los archivos.
(26 KB)

raul7733


Hola tyno,
Tras adaptar correctamente la situación de las celda, me va genial en veo que es más simple.
Gracias de nuevo amigo por tu ayuda.
Un saludo.

8RESUELTO resucitando el tema el 08/03/13, 01:57 pm

bmalan


hola, este archivo que has subido tyno me va de maravilla, es exactamente lo que quería hacer pero lo necesito modificar un poco, pero no busco como editar tu archivo y otra duda que tengo es si habría algún problema que lo haga? te molestaría?

Saludos.

tyno


Hola bmalan.
Lo ideal seria que inicies un nuevo tema. en el foro con tu caso, entonces subi tu archivo con las indicaciones de como necesitas que funcione o explicando como debe funcionar y vemos como hacemos Smile. Saludos

10RESUELTO ok listo el 14/03/13, 11:14 pm

bmalan


hola tyni, abri un nuevo tema como me recomendaste aqui te dejo el link

http://www.universoexcelforo.com/t270-ayuda-con-macro-para-exportar-en-pdf#1190

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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