Excel - Macro para generar PDFs

 
Vista:
sin imagen de perfil

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder