
Macro para generar PDFs
Publicado por Eduardol (10 intervenciones) el 21/03/2017 03:50:56
Buenas.
Estoy intentando generar unos reportes en PDF, desde unas hojas de Excel.
Cuando se ejecuta el boton, o el evento click sobre el objeto, el evento tiene que generar un MsgBox, haciendo una pregunta, a la cual, la respuesta es Si o NO, dependiendo de nuestra opcion.
Ahora bien, cree una macro pero no puedo hacerla funcionar.
Estoy intentando generar unos reportes en PDF, desde unas hojas de Excel.
Cuando se ejecuta el boton, o el evento click sobre el objeto, el evento tiene que generar un MsgBox, haciendo una pregunta, a la cual, la respuesta es Si o NO, dependiendo de nuestra opcion.
Ahora bien, cree una macro pero no puedo hacerla funcionar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub ReportePdfs()
'
' Pdfs Macro
' pdfs
'
' Acceso directo: CTRL+w
Dim NombreArchivo, RutaArchivo As String
Dim T1 As String, T2 As String, T3 As String, T4 As String, T5 As String, T6 As String
Dim Pregunta As Integer
T1 = "Solicitante 1": T2 = "Solicitante 2": T3 = "Solicitante 3"
T4 = "Solicitante 4": T5 = "Solicitante 5": T6 = "Simulador 518v5"
NombreArchivo = "Análisis y afectación PH_"
RutaArchivo = ActiveWorkbook.Path & "\" & Worksheets("Inicio").Range("G14").Value & ".pdf"
'Se genera un cuadro de dialogo para ver si queresmos generar un reporte de PDF Completo, o uno Parcial
Pregunta = MsgBox("Desea generar unicamente un reporte parcial?.", vbYesNo + vbExclamation + vbDefaultButton2, "Generando Reporte PDF.")
If Pregunta = vbYes Then
Worksheets(Array("Final", "Simulador 518v5")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo & Worksheets("Incio").Range("G14").Value & Now * 1 & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Final").Select
If Pregunta = vbNo Then
'Si la respuesta es NEGATIVA, generara un reporte PDF completo, segun el valor de la celda del Rango I7
Select Case Worksheets("Inicio").Range("I7").Value
Case 1: Sheets(Array(T1, "Final", T6)).Select
Case 2: Sheets(Array(T1, T2, "Final", T6)).Select
Case 3: Sheets(Array(T1, T2, T3, "Final", T6)).Select
Case 4: Sheets(Array(T1, T2, T3, T4, "Final", T6)).Select
Case 5: Sheets(Array(T1, T2, T3, T4, T5, "Final", T6)).Select
End Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NombreArchivo & Worksheets("Incio").Range("g14").Value & Now * 1 & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Final").Select
End If
End If
Sheets("Final").Activate
End Sub
Valora esta pregunta


0