Salvare report in file pdf

di il
1 risposte

Salvare report in file pdf

Ciao a tutti e grazie per avermi accolto nel vostro forum.
Non sono esperto in vba, per questo vi chiedo di aiutarmi.
Uso Access 2003 ed ho necessità di salvare un report in pdf per poi inviarlo via email, sul pc ho installato pdfcreator e nella sua directory c'è il file di esempio "modPDFCreatorAccess" che contiene il seguente codice:

Attribute VB_Name = "modPDFCreatorAccess"
Option Compare Database
Option Explicit

' Add a reference to PDFCreator

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Const maxTime = 10    ' in seconds
Private Const sleepTime = 250 ' in milliseconds

Public Function Start()
 PrintRep "Report1"
End Function

Public Sub PrintRep(RepName As String)
 Dim PDFCreator1 As PDFCreator.clsPDFCreator, DefaultPrinter As String, c As Long, _
  OutputFilename As String
 Set PDFCreator1 = New clsPDFCreator
 With PDFCreator1
  .cStart "/NoProcessingAtStartup"
  .cOption("UseAutosave") = 1
  .cOption("UseAutosaveDirectory") = 1
  .cOption("AutosaveDirectory") = "C:\"
  .cOption("AutosaveFilename") = RepName
  .cOption("AutosaveFormat") = 0                            ' 0 = PDF
  DefaultPrinter = .cDefaultPrinter
  .cDefaultPrinter = "PDFCreator"
  .cClearCache
  DoCmd.OpenReport RepName, acViewNormal
  .cPrinterStop = False
 End With

 c = 0

 Do While (PDFCreator1.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
  c = c + 1
  Sleep 200
 Loop

 OutputFilename = PDFCreator1.cOutputFilename

 With PDFCreator1
  .cDefaultPrinter = DefaultPrinter
  Sleep 200
  .cClose
 End With

 Sleep 2000 ' Wait until PDFCreator is removed from memory

 If OutputFilename = "" Then
  MsgBox "Creating pdf file." & vbCrLf & vbCrLf & _
   "An error is occured: Time is up!", vbExclamation + vbSystemModal
 End If

End Sub

In vba ho aggiunto il riferimento a pdfcreator, ora però non so esattamente come utilizzare questo codice.
Ho provato ad inserirlo in un modulo e poi, su evento click di un pulsante ho inserito "call PrintRep", ma il risultato è un errore di compilazione.
Per favore mi date una mano a capire come fare?
Ho già provato anche la soluzione di Leban's ma vedo che su win7 da problemi e preferirei usare pdfcrator.
Vi ringrazio molto e saluto tutti.

Remigio

1 Risposte

  • Re: Salvare report in file pdf

    Prova ad eliminare la 1° riga...
    
    Attribute VB_Name = "modPDFCreatorAccess"
    per il resto devi fare un po di DEBUG se non fosse corretta la mia ipotesi.
Devi accedere o registrarti per scrivere nel forum
1 risposte