You are here:--Problema PDFCreator con Windows 10
Problema PDFCreator con Windows 10 2018-03-24T08:15:01+00:00

Home Forum Domande su Excel VBA e MACRO Problema PDFCreator con Windows 10

  • Autore
    Articoli
  • aqquila2
    Partecipante
      Post totali: 9
      #2147 |

      Ciao a tutti!
      Utilizzo una macro creata sul forum ( ciao SID!) già da qualche anno.
      Sono passato a windows 10 mantenendo excel 2003
      La macro ora funziona su tutto tranne che per la creazione del file PDF
      Compare la finestra di errore:
      ‘Errore di compilazione Tipo definito dall’utente non definitoL’errore è sulla riga:
      Set PDFjob = New PDFCreator.clsPDFCreator

      Questo è il codice relativo alla parte di creazione del PDF:

      Private Sub CommandButton18_Click() 'Pulsante solo crea PDF
      If TextBox2 = "" Then
      MsgBox "Devi Inserire almeno il Paziente"
      TextBox2.SetFocus
      Exit Sub
      End If
      If TextBox50 & TextBox54 & TextBox58 = "" Then
      MsgBox " Attento! Devi inserire i DATI TECNICI"
      TextBox50.SetFocus
      Exit Sub
      End If
      
      ' righe dedicate alla creazione del pdf
      
      'memorizzo nome stampante di default
      stpDef = ActivePrinter
      
      'congelo lo scroll del video
      Application.ScreenUpdating = False
      
      'imposto nome del file PDF
      x = TextBox2.Value
      
      'se x = vuoto si esce dalla routine
      If x = "" Then
      MsgBox "Devi prima inserire il nome del file da salvare !", vbCritical + vbOKOnly, "Stampa Form PDF"
      TextBox2.SetFocus
      Exit Sub
      End If
      
      'disabilito il pulsante sino alla fine della macro
      CommandButton18.Enabled = False
      
      'chiudi PDFCreator se aperto
      'CloseApplication ("PDFCreator - Monitor stampante PDF")
      'Eliminata perchè in conflitto con le righe precedenti analoghe
      
      'inserisco nome ed estensione finale del file PDF
      sPDFName = x & ".pdf"
      
      'inserisco il percorso
      sPDFPath = "C:\File"
      
      'controllo se il file esiste
      Set fs = CreateObject("Scripting.FileSystemObject")
      Set f = fs.GetFolder(sPDFPath)
      Set fc = f.Files
      For Each f1 In fc
      If f1.Name = sPDFName Then
      Risp = MsgBox("Attento, il file PDF del paziente esiste già, seleziona SI se vuoi sovrascrivere oppure NO per creare un altro file PDF", _
      vbCritical + vbYesNo, "Stampa Form PDF")
      
      'se risposta è no creo nuovo nome
      If Risp = 7 Then
      f1Count = 0
      
      'conto i file esistenti con il nome simile
      For Each f2 In fc
      If f2.Name Like x & "*" Then f1Count = f1Count + 1
      Next
      
      'imposto il nuovo progressivo
      f1Count = f1Count + 1
      
      'aggiorno textbox2 con nuovo nome
      'TextBox2.Value = x & f1Count
      ' La TextBox2 dve rimanere uguale
      
      'aggiorno nome del file da salvare e esco dal ciclo
      sPDFName = x & f1Count & ".pdf"
      Exit For
      End If
      
      'se risposta è si sovrascrivo
      If Risp = 6 Then Exit For
      End If
      Next
      
      'inizializzo PDFCreator
      Set PDFjob = New PDFCreator.clsPDFCreator
      ' Set PDFjob = PDFCreator.clsPDFCreator
      
      'imposto i parametri di PDFCreator
      With PDFjob
      If .cStart("/NoProcessingAtStartup") = False Then
      MsgBox "Can't initialize PDFCreator.", vbCritical + _
      vbOKOnly, "PrtPDFCreator"
      Exit Sub
      End If
      .cOption("UseAutosave") = 1
      .cOption("UseAutosaveDirectory") = 1
      .cOption("AutosaveDirectory") = sPDFPath
      .cOption("AutosaveFilename") = sPDFName
      .cOption("AutosaveFormat") = 0    ' 0 = PDF
      .cClearCache
      End With
      
      'richiamo la routine eventi per impostare la stampa orizzontale
      DoEvents
      keybd_event VK_LMENU, 0, _
      KEYEVENTF_EXTENDEDKEY, 0
      keybd_event VK_SNAPSHOT, 0, _
      KEYEVENTF_EXTENDEDKEY, 0
      keybd_event VK_SNAPSHOT, 0, _
      KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
      keybd_event VK_LMENU, 0, _
      KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
      DoEvents
      
      'cre un nuovo workbook di appoggio
      Workbooks.Add
      
      'metto in pausa e aspetto che si crei il nuovo workbook
      Application.Wait Now + TimeValue("00:00:01")
      
      'imposto il page setup con la stampa in orizzontale
      With ActiveSheet.PageSetup
      .CenterHorizontally = True
      .CenterVertically = True
      .Orientation = xlLandscape
      .LeftMargin = Application.InchesToPoints(0.393700787401575) ''=10mm circa
      .RightMargin = Application.InchesToPoints(0.196850393700787)  ''=5mm circa
      .TopMargin = Application.InchesToPoints(0.393700787401575)
      .BottomMargin = Application.InchesToPoints(0.196850393700787)
      End With
      
      'copio nel nuovo workbook la form come bitmap (immagine)
      ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False
      
      'mi posiziono in A1
      ActiveSheet.Range("A1").Select
      
      'stampo in pdf
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
      
      'chiudo in nuovo workbook senza salvare
      ActiveWorkbook.Close False
      
      'aspetto che si completi la stampa
      Do Until PDFjob.cCountOfPrintjobs = 1
      DoEvents
      Loop
      PDFjob.cPrinterStop = False
      
      'attendo che la routine sia completata
      Do Until PDFjob.cCountOfPrintjobs = 0
      DoEvents
      Loop
      PDFjob.cClose
      
      'reimposto lo scroll del video
      Application.ScreenUpdating = True
      
      'reimposto la vecchia stampante di sistema
      ActivePrinter = stpDef
      
      'riabilito il pulsante
      CommandButton18.Enabled = True
      
      'cancello il riferimenti alle variabili
      Set PDFjob = Nothing
      Set fs = Nothing
      Set f = Nothing
      Set fc = Nothing
      Exit Sub
      End Sub

      Cosa si può fare??
      Ciao a tutti e grazie!

      • Questo argomento è stato modificato 8 mesi, 3 settimane fa da BySalv BySalv.
    • BySalvBySalv
      Amministratore del forum
        Post totali: 337

        Ciao Aqquila, hai caricato PDFCreator?, puo darsi che Win10 non riconosca quello che hai installato se non lo ha tolto.

        Fai un controllo.

        non credo sia la macro.

        Ciao By Sal

        • aqquila2
          Partecipante
            Post totali: 9

            ciao!

            sul PC è stato caricato PDFCreator, che funziona regolarmente con gli altri programmi.

            Mi chiedevo se la versione di PDFCreator influisca o meno sulla macro!.

            Attualmente ho la versione 2.4

            ciao!!

        • sidsid
          Moderatore
            Post totali: 510

            Ciao aqquila2
            Nei riferimenti vba hai selezionato la libreria PDF Creator ?

          • aqquila2
            Partecipante
              Post totali: 9

              Allora, succede questo:

              nel PC dove la macro gira bene il Riferimento VBA selezionato è PDFCreator con il percorso

              C:\Progam Files\PDFCreator\PDFCreator.exe

              Invece nel PC dove mi compare l’errore il Riferimento selezionabile è PDFCreator.com col percorso

              C:\Program Files\PDFCreator\PDFCreator.com.tlb

              Può voler dire qualcosa?

              ciao!!

              aqquila2

               

            • BySalvBySalv
              Amministratore del forum
                Post totali: 337

                Ciao Aqquila2, ma se clicchi su

                C:\Program Files\PDFCreator\PDFCreator.com.tlb

                si apre PDFCreator?

                sicuro che nella cartella PDFCreator non ci sia il file .Exe, oppure ci sia qualche altro .Exe che faccia partire PDFCreator, a volte le nuove Versioni cambiano il file Exe, può darsi che sia PDF.Exe, controlla

                Ciao By Sal  :bye:

                 

              • aqquila2
                Partecipante
                  Post totali: 9

                  ciao!

                  il fatto è che nel PC non trovo il percorso

                  C:\Program Files\PDFCreator\PDFCreator.com.tlb

                  L’eseguibile di PDF Creator lo trovo nel percorso C:\Programmi\PDFCreator\PDFCreator ( applicazione)

                  Quando vado in Strumenti\Riferimenti di Excel è flaggata la riga Manca PDFCreator. La deseleziono, vado a cercarla nei riferimenti disponibili ma trovo solo PDFCreator_COM. Lo flaggo però evidentemente non è quello che serve!

                  Nel PC dove invece la macro funziona nei riferimenti di excel trovo subito e flaggo la riga PDFCreator.

                  !!!

                  ciao!

                • aqquila2
                  Partecipante
                    Post totali: 9

                    Una domanda. Nel caso, sarebbe possibile caricare dall’esterno i Riferimenti di excel ?

                    Oppure , se passassi ad Excel 2007 questo problema del PDF sparirebbe?

                    ciao e grazie !!

                  • BySalvBySalv
                    Amministratore del forum
                      Post totali: 337

                      Ciao non lo so, almeno io, ma perche non fai una cosa, per win7 l’angolo in basso a sx ce l’icona di windows, quando la premo si apre il menu in basso l’ultima voce editabile “Cerca programmi e file” scrivi “PDF” per una ricerca dovresti trovare tutti i pdf e le relative cartelle e sotto cartelle troveresti anche la cartella di PDFCreator, quindi puoi ricavare sia l’eseguibile che l’indirizzo dell’eseguibile.

                      però non so su win10 se sia la stessa cosa ma non credo abbiano tolto la ricerca dei file, dovrebbe trovarsi da qualche parte la ricerca dei file.

                      Ciao By Sal  :bye:

                       

                       

                    • aqquila2
                      Partecipante
                        Post totali: 9

                        L’eseguibile di PDFCreator si trova in questo percorso

                        C:\Programmi\PDFCreator\PDFCreator

                        L’errore potrebbe derivare dal fatto che nei Riferimenti di Excel: trovo solo la riga PDFCreator_com ?

                        invece che PDFCreator.exe?

                        ciao!!

                      • aqquila2
                        Partecipante
                          Post totali: 9

                          ciao!

                          ho provato in diversi pc : laddove, nei riferimenti VBA, trovo e seleziono la riga PDFCreator.exe la macro gira perfettamente.

                          Sul mio pc invece trovo solo la riga PDFCreator_com ……….

                          Quindi pensavo… o si modifica la macro per indirizzarla verso quel percorso  o si modificano/integrano i riferimenti del vba di excel!!

                          Si può fare?

                          ciao!!

                           

                        • BySalvBySalv
                          Amministratore del forum
                            Post totali: 337

                            Ciao Aqquila, io non ho seguito dal principio il post sull’altro forum, ma a questo punto hai bisogno proprio di PDFCreator?.

                            si può generare un file PDF direttamente da Excel senza PDFCreator, vogliamo Provare?, se si, mandami un file con poche righe di cosa vorresti inserire nel PDF e vedo di farti creare il PDF senza PDFCreator.

                            Dimmi anche la tua versione Excel, in modo che mi regolo

                            Ciao By Sal  :bye:

                             

                          • aqquila2
                            Partecipante
                              Post totali: 9

                              ciao!

                              Il programma prevede la creazione di una Userform al cui interno l’utente inserisce diversi dati.

                              A fine inserimento dati, oltre al pulsante INSERISCI ( che salva i dati sul file excel che l’utente non vede !) avevamo previsto un pulsante CREA PDF per esportare la schermata finale della Userform stessa in formato PDF per poterla, eventalmente, anche stampare. Quindi si trattta, se ho capito bene, di catturare lo screenshot della Userform e trasformarlo in pdf.

                              !!!ciao!

                               

                            • aqquila2
                              Partecipante
                                Post totali: 9

                                Ciao!

                                Il programma non fa vedere all’utente il foglio excel ma solo la userform! Tramite un pulsante si attiva il comando di CREA PDF , utilizzando appunto PDF Creator. Però se si può creare il pdf anche senza PDFCreator ok !! Potrebbe essere sufficiente anche lo screenshot della userform salvata come immagine!

                                La versione di excel che utilizzo è ancora la 2003!

                                Grazie

                                ciao!

                              • sidsid
                                Moderatore
                                  Post totali: 510

                                  .si può generare un file PDF direttamente da Excel senza PDFCreator, ..

                                  .. La versione di excel che utilizzo è ancora la 2003!

                                  Ciao boss
                                  Immagino tu voglia sfruttare il salvataggio del file in formato pdf, ma se non ricordo male nella versione 2003 non c’è questa opzione; sbaglio?

                                Devi essere loggato per rispondere a questa discussione.

                                Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

                                Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

                                Chiudi