Macro VBA para generar un PDF sin guardarlo.
Resuelto
Looping38
Mensajes publicados
91
Fecha de registro
Estado
Miembro
Última intervención
-
Looping38 Mensajes publicados 91 Fecha de registro Estado Miembro Última intervención -
Looping38 Mensajes publicados 91 Fecha de registro Estado Miembro Última intervención -
Bonjour,
Me bloqueo en una macro. Quiero generar un PDF de una selección de un libro de trabajo dándole un nombre según ciertas celdas, pero solo abrirlo con la función OpenAfterPublish:= _True y no necesariamente guardarlo. Dependerá del usuario hacer "guardar como" desde Adobe Reader.
De hecho, no siempre conozco el lugar de destino del archivo para el usuario.
Una alternativa sería proponer un cuadro de diálogo para elegir el destino, sugiriendo ya un nombre de archivo. (solución que deseo únicamente si no es posible de otra manera).
Actualmente utilizo el siguiente código:
Gracias por su ayuda.
Atentamente, Martin
Configuración: Windows / Chrome 66.0.3359.181
Me bloqueo en una macro. Quiero generar un PDF de una selección de un libro de trabajo dándole un nombre según ciertas celdas, pero solo abrirlo con la función OpenAfterPublish:= _True y no necesariamente guardarlo. Dependerá del usuario hacer "guardar como" desde Adobe Reader.
De hecho, no siempre conozco el lugar de destino del archivo para el usuario.
Una alternativa sería proponer un cuadro de diálogo para elegir el destino, sugiriendo ya un nombre de archivo. (solución que deseo únicamente si no es posible de otra manera).
Actualmente utilizo el siguiente código:
Sub ExportPDFnomvariable()
'Selección del área a imprimir
CV = 6
With Worksheets("Panorama FM")
For n = 8 To 115
If .Columns(n).Hidden = False Then CV = CV + 1
If CV = 11 Then Exit For
Next n
.Range(Cells(8, 2), Cells(114, n)).Select
' Macro exportar en PDF con nombre variable según el contenido de la celda.
'Ruta de acceso para el guardado
ChDir "C:\Users\Martin GIVELET\Desktop\Devis Santé"
selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Martin GIVELET\Desktop\Devis Santé\DEVIS " & " " & Sheets("Données Client").Cells(1, 10).Value & " " & Sheets("Données Client").Cells(5, 5).Value & " " & Sheets("Données Client").Cells(4, 5).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End With
End Sub
Gracias por su ayuda.
Atentamente, Martin
Configuración: Windows / Chrome 66.0.3359.181
2 respuestas
He avanzado y comparto mi solución: Estoy guardando el archivo en el mismo directorio que el archivo de Excel.
En ideal, debería verificar si existe una carpeta "Presupuesto" para usarla, de lo contrario, crearla.
Si alguien puede ayudarme con el final...
Martin
En ideal, debería verificar si existe una carpeta "Presupuesto" para usarla, de lo contrario, crearla.
Sub ExportPDFnomvariable()
'incremento N° en cada impresión
Sheets("Datos del Cliente").[C25] = Sheets("Datos del Cliente").[C25] + 1
'Selección del área a imprimir
CV = 6
With Worksheets("Panorama FM")
For n = 8 To 123
If .Columns(n).Hidden = False Then CV = CV + 1
If CV = 11 Then Exit For
Next n
Range(Cells(8, 2), Cells(121, n)).Select
' Macro exportar en PDF con nombre variable según contenido de la celda.
'Ruta de acceso para el guardado
ChDir (ThisWorkbook.Path)
'Ruta de acceso + nombre del documento deseado
'Atención ==> Sheets("Hoja de ruta").Cells(N°deLIGNE, N°deCOLONNE).Value
'Para los espacios, copiar ==> &" "&
'Para permitir o no abrir el documento en pdf a cada guardado cambiar OpenAfterPublish:= _False/True
seleccion.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
" Presupuesto " & Sheets("Datos del Cliente").Cells(1, 10).Value & " " & Sheets("Datos del Cliente").Cells(5, 5).Value & " " & Sheets("Datos del Cliente").Cells(4, 5).Value & Sheets("Datos del Cliente").Cells(25, 3).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End With
End Sub
Si alguien puede ayudarme con el final...
Martin
Looping38
Mensajes publicados
91
Fecha de registro
Estado
Miembro
Última intervención
1
¿Cómo crear la carpeta DEVIS si no existe?
Hola,
a poner en Thisworkbook extraído del sitio:
https://excel-malin.com/
--
@+ El Pivert
a poner en Thisworkbook extraído del sitio:
https://excel-malin.com/
Option Explicit Private Sub Workbook_Open() TesteSiDossierExiste End Sub Sub TesteSiDossierExiste() 'por Excel-Malin.com ( http://excel-malin.com ) Dim MonDossier As String MonDossier = ThisWorkbook.Path & "\DEVIS " If DossierExiste(MonDossier) = True Then ' MsgBox "El directorio existe..." Else MkDir (ThisWorkbook.Path & "\DEVIS ") End If End Sub Public Function DossierExiste(MonDossier As String) 'por Excel-Malin.com ( http://excel-malin.com ) If Len(Dir(MonDossier, vbDirectory)) > 0 Then DossierExiste = True Else DossierExiste = False End If End Function
--
@+ El Pivert