PDF Creator
Publicado por uxax (2 intervenciones) el 03/07/2010 10:52:15
Buenos días, necesito ayuda urgente con esto.. os lo agradeceria mucho
Atraves de mi aplicación genero un excel y necesito convertirlo a pdf para poder guardarlo. Antes tenia el codigo para crearlo con el Acrobat Professional, pero ahora tengo el PDF Creator, y no se como usarlo, porque cambio el nombre de la impresora, pero me da mil fallos..
Mi codigo anterior era:
Dim PSFileName As String
Dim myPDF As PDFCreator
Dim bOK As Boolean
Dim i As Integer
Dim oExcel As excel.Application
Dim oLibro As Workbook
Dim oHoja As Worksheet
Set oExcel = GetObject("", "Excel.Application")
Set oLibro = oExcel.Workbooks.Open(sRutaXls)
Set oHoja = oLibro.Worksheets("Hoja1")
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
'Creo el nombre del archivo de salida
Set myPDF = New PdfDistiller
PSFileName = App.Path & "\PDF.ps"
'Busco la impresora para activarla
For i = 0 To 20
If bOK = False Then
On Error Resume Next
oExcel.Application.ActivePrinter = "PDFCreator" & i & ":"
If Error = "" Then
bOK = True
Exit For
End If
End If
Next i
' en ne0
'Imprimo la hoja excel
'entre copies y activaprinter: preview:=false
oExcel.ActiveWorkbook.PrintOut Copies:=1, Preview:=False, ActivePrinter:="", printtofile:=True, collate:=True, prtofilename:=PSFileName
'Convierto el archivo .PS a .PDF
If i > 1 Then
'sRutaPDF = Replace(sRutaXls, ".xls", ".pdf")
'Convierte el poscrit a pdf
myPDF.FileToPDF PSFileName, sRutaPDF, ""
'ShellExecute i, "open", sRutaPDF, "deletelog:on", "", 1
sRutaPDF = Replace(sRutaPDF, ".pdf", ".log")
'borrar fichero log
Set f = fso.DeleteFile(sRutaPDF)
'borrar fichero ps
Set f = fso.DeleteFile(PSFileName)
End If
oLibro.Close
oExcel.Workbooks.Close
oExcel.Quit
Set oExcel = Nothing
Muchas gracias por vuestra ayuda
Atraves de mi aplicación genero un excel y necesito convertirlo a pdf para poder guardarlo. Antes tenia el codigo para crearlo con el Acrobat Professional, pero ahora tengo el PDF Creator, y no se como usarlo, porque cambio el nombre de la impresora, pero me da mil fallos..
Mi codigo anterior era:
Dim PSFileName As String
Dim myPDF As PDFCreator
Dim bOK As Boolean
Dim i As Integer
Dim oExcel As excel.Application
Dim oLibro As Workbook
Dim oHoja As Worksheet
Set oExcel = GetObject("", "Excel.Application")
Set oLibro = oExcel.Workbooks.Open(sRutaXls)
Set oHoja = oLibro.Worksheets("Hoja1")
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
'Creo el nombre del archivo de salida
Set myPDF = New PdfDistiller
PSFileName = App.Path & "\PDF.ps"
'Busco la impresora para activarla
For i = 0 To 20
If bOK = False Then
On Error Resume Next
oExcel.Application.ActivePrinter = "PDFCreator" & i & ":"
If Error = "" Then
bOK = True
Exit For
End If
End If
Next i
' en ne0
'Imprimo la hoja excel
'entre copies y activaprinter: preview:=false
oExcel.ActiveWorkbook.PrintOut Copies:=1, Preview:=False, ActivePrinter:="", printtofile:=True, collate:=True, prtofilename:=PSFileName
'Convierto el archivo .PS a .PDF
If i > 1 Then
'sRutaPDF = Replace(sRutaXls, ".xls", ".pdf")
'Convierte el poscrit a pdf
myPDF.FileToPDF PSFileName, sRutaPDF, ""
'ShellExecute i, "open", sRutaPDF, "deletelog:on", "", 1
sRutaPDF = Replace(sRutaPDF, ".pdf", ".log")
'borrar fichero log
Set f = fso.DeleteFile(sRutaPDF)
'borrar fichero ps
Set f = fso.DeleteFile(PSFileName)
End If
oLibro.Close
oExcel.Workbooks.Close
oExcel.Quit
Set oExcel = Nothing
Muchas gracias por vuestra ayuda
Valora esta pregunta


0