Condividi:        

[EXCEL] stampare un file in PDF con una macro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Anthony47 » 22/02/12 12:29

Se proprio vuoi fai una donazione a Emergency, bastano pochi euro e sai che ne faranno buon uso (che non sia birra', pero'); vedi http://www.emergency.it/form/paypal/index.html

Ciao, alla prossima.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: [EXCEL] stampare un file in PDF con una macro

Postdi h224g » 22/02/12 22:16

sarà fatto,
grazie ;-)
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 29/08/12 15:12

POTESTE AIUTARE ANCHE ME????

DESCRIZIONE DEL MIO PROBLEMA : Buongiorno a tutti , sono nuovo di questo forum e premetto che non ho molta esperienza con le macro di excel , ho creato un database di prelievi che puo sia salvare nel database sia estrarre e stampare i modelli compilati. Fin'ora non ho mai avuto problemi perchè stampavo con la stampante normale (come si evince dalla macro sotto indicata) , ma adesso ho ricevuto la richiesta di stampare i singoli prelievi in pdf. Ho bisogno che in automatico il programma " ESTRAE IL VERBALE DAL DATABASE , LO STAMPA IN PDF E DIA COME NOME AL FILE PDF IL NUMERO DELLA SCHEDA, CHE è IL RIFERIMENTO USATO PER L'ESTRAZIONE DAL DATABASE, E POI PROSEGUA COME SOTTO SVUOTANDO IL MODELLO" come posso fare? sapreste darmi una mano.. grazie mille!! aspetto vostre notizie

Codice: Seleziona tutto
      Sub Estrai_MIX()
Dim riga
Dim n_MAX
Dim scheda
Dim Valore
Dim Trovato As Boolean

'Se il campo scheda in ORIGINALE è vuoto chiede il numero scheda da estrarre dal DB
per compilare la scheda
nscheda:
    If Sheets("ORIGINALE").Range("ei4").Value = "" Then
        Sheets("ORIGINALE").Range("ei4").Value = InputBox("Inserire il numero scheda")
    End If
    scheda = Sheets("ORIGINALE").Range("ei4").Value
   
    Sheets("Database").Select
    n_MAX = Range("a2").Value

'Ricerca il numero scheda nella colonna Axx ogni 5 righe
    For i = 2 To n_MAX * 5 - 3 Step 1
        riga = i
        Valore = Cells(riga, 1).Value
        If Not (Valore <> scheda) Then
            Trovato = True
            Exit For
        End If
    Next

'Se non ha trovato il numero scheda visualizza il messaggio
    If Not Trovato Then
        MsgBox ("Numero scheda non trovato")
        Sheets("ORIGINALE").Select
        GoTo Fine_Estrai
    End If
   
 'copia dati da ORIGINALE a Database
   
    'copia la data
    Sheets("ORIGINALE").Range("DD4").Value = Sheets("database").Cells(riga, 2).Value
   
    'copia IL PRELIEVO
    Sheets("ORIGINALE").Range("CQ4").Value = Sheets("database").Cells(riga, 3).Value
   
    'copia l'IMPIANTO
    Sheets("ORIGINALE").Range("AU6").Value = Sheets("database").Cells(riga, 4).Value
   
    'copia IMPRESA
    Sheets("ORIGINALE").Range("T9").Value = Sheets("database").Cells(riga, 5).Value
   
    'copia CANTIERE
    Sheets("ORIGINALE").Range("CN9").Value = Sheets("database").Cells(riga, 6).Value
   
    'copia CAMPIONAMENTO
    Sheets("ORIGINALE").Range("EI11").Value = Sheets("database").Cells(riga, 7).Value
   
    'copia ATB
    Sheets("ORIGINALE").Range("AJ15").Value = Sheets("database").Cells(riga, 8).Value

    'copia MANOMETRO
    Sheets("ORIGINALE").Range("CZ15").Value = Sheets("database").Cells(riga, 9).Value

    'copia PUNTO DI CARICO
    Sheets("ORIGINALE").Range("Z17").Value = Sheets("database").Cells(riga, 10).Value
    'copia IL DDT
    Sheets("ORIGINALE").Range("CA17").Value = Sheets("database").Cells(riga, 11).Value
   
    'copia IL TIPO DI GETTO
    Sheets("ORIGINALE").Range("EI19").Value = Sheets("database").Cells(riga, 12).Value
   
    'copia RCK
    Sheets("ORIGINALE").Range("BH35").Value = Sheets("database").Cells(riga, 13).Value
   
    'copia DMAX
    Sheets("ORIGINALE").Range("DL35").Value = Sheets("database").Cells(riga, 14).Value
   
    'copia COMPATTAZIONE
    Sheets("ORIGINALE").Range("EI21").Value = Sheets("database").Cells(riga, 15).Value
   
    'copia TIPO DI CEMENTO
    Sheets("ORIGINALE").Range("W37").Value = Sheets("database").Cells(riga, 16).Value
   
    'copia MC CARICATI
    Sheets("ORIGINALE").Range("CE37").Value = Sheets("database").Cells(riga, 17).Value
   
    'copia TARA
    Sheets("ORIGINALE").Range("O47").Value = Sheets("database").Cells(riga, 18).Value
   
    'copia LORDO
    Sheets("ORIGINALE").Range("AT47").Value = Sheets("database").Cells(riga, 19).Value
   
    'copia CONSISTENZA
    Sheets("ORIGINALE").Range("EI17").Value = Sheets("database").Cells(riga, 20).Value
   
    'copia SLUMP
    Sheets("ORIGINALE").Range("DM39").Value = Sheets("database").Cells(riga, 21).Value
   
    'copia N°PROVINI
    Sheets("ORIGINALE").Range("S43").Value = Sheets("database").Cells(riga, 22).Value

    'copia DIM.PROVINI
    Sheets("ORIGINALE").Range("AZ43").Value = Sheets("database").Cells(riga, 23).Value

    'copia ORA
    Sheets("ORIGINALE").Range("DC51").Value = Sheets("database").Cells(riga, 24).Value
   
     'copia SCADENZA1
    Sheets("ORIGINALE").Range("AB67").Value = Sheets("database").Cells(riga, 25).Value
    'copia SCADENZA2
    Sheets("ORIGINALE").Range("AB69").Value = Sheets("database").Cells(riga, 26).Value
    'copia SCADENZA3
    Sheets("ORIGINALE").Range("AB71").Value = Sheets("database").Cells(riga, 27).Value
    'copia SCADENZA4
    Sheets("ORIGINALE").Range("AB73").Value = Sheets("database").Cells(riga, 28).Value
     'copia PESO1 SCADENZA1
    Sheets("ORIGINALE").Range("AT67").Value = Sheets("database").Cells(riga, 29).Value
    'copia PESO2 SCADENZA1
    Sheets("ORIGINALE").Range("CD67").Value = Sheets("database").Cells(riga, 30).Value
    'copia PESO1 SCADENZA2
    Sheets("ORIGINALE").Range("AT69").Value = Sheets("database").Cells(riga, 31).Value
    'copia PESO2 SCADENZA2
    Sheets("ORIGINALE").Range("CD69").Value = Sheets("database").Cells(riga, 32).Value
     'copia PESO1 SCADENZA3
    Sheets("ORIGINALE").Range("AT71").Value = Sheets("database").Cells(riga, 33).Value
    'copia PESO2 SCADENZA3
    Sheets("ORIGINALE").Range("CD71").Value = Sheets("database").Cells(riga, 34).Value
    'copia PESO1 SCADENZA4
    Sheets("ORIGINALE").Range("AT73").Value = Sheets("database").Cells(riga, 35).Value
    'copia PESO2 SCADENZA4
    Sheets("ORIGINALE").Range("CD73").Value = Sheets("database").Cells(riga, 36).Value
    'copia RM1 SCADENZA1
    Sheets("ORIGINALE").Range("BL67").Value = Sheets("database").Cells(riga, 38).Value
    'copia RM2 SCADENZA1
    Sheets("ORIGINALE").Range("CV67").Value = Sheets("database").Cells(riga, 39).Value
    'copia RM1 SCADENZA2
    Sheets("ORIGINALE").Range("BL69").Value = Sheets("database").Cells(riga, 40).Value
    'copia RM2 SCADENZA2
    Sheets("ORIGINALE").Range("CV69").Value = Sheets("database").Cells(riga, 41).Value
     'copia RM1 SCADENZA3
    Sheets("ORIGINALE").Range("BL71").Value = Sheets("database").Cells(riga, 42).Value
    'copia RM2 SCADENZA3
    Sheets("ORIGINALE").Range("CV71").Value = Sheets("database").Cells(riga, 43).Value
    'copia RM1 SCADENZA4
    Sheets("ORIGINALE").Range("BL73").Value = Sheets("database").Cells(riga, 44).Value
    'copia RM2 SCADENZA4
    Sheets("ORIGINALE").Range("CV73").Value = Sheets("database").Cells(riga, 45).Value
    'copia OSSERVAZIONI
    Sheets("ORIGINALE").Range("F76").Value = Sheets("database").Cells(riga, 46).Value
   
Fine_Estrai:
    Sheets("ORIGINALE").Select
    Sheets("ORIGINALE").Select
   
                    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
                   
                    Worksheets("ORIGINALE").Select
Range("ei4").Value = ""
Range("cq4:cy4").Value = ""
Range("dd4:ec4").Value = ""
Range("au6:ec6").Value = ""
Range("t9:bp9").Value = ""
Range("cn9:eb9").Value = ""
Range("aj15:bp15").Value = ""
Range("CZ15:eb15").Value = ""
Range("ca17:eb17").Value = ""
Range("z17:bp17").Value = ""
Range("t11:bp13").Value = ""
Range("EI19").Value = ""
Range("EI11").Value = ""
Range("BH35").Value = ""
Range("DL35").Value = ""
Range("EI17").Value = ""
Range("DM39").Value = ""
Range("S43").Value = ""
Range("AZ43").Value = ""
Range("DC51").Value = ""
Range("AB67").Value = ""
Range("AB69").Value = ""
Range("AB71").Value = ""
Range("AB73").Value = ""
Range("F76").Value = ""
Range("at67").Value = ""
Range("at69").Value = ""
Range("at71").Value = ""
Range("at73").Value = ""
Range("bl67").Value = ""
Range("bl69").Value = ""
Range("bl71").Value = ""
Range("bl73").Value = ""
Range("cd67").Value = ""
Range("cd69").Value = ""
Range("cd71").Value = ""
Range("cd73").Value = ""
Range("cv67").Value = ""
Range("cv69").Value = ""
Range("cv71").Value = ""
Range("cv73").Value = ""
Range("EI21").Value = ""
Range("W37").Value = ""
Range("O47").Value = ""
Range("AT47").Value = ""
Range("CE37").Value = ""


'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 30/08/12 04:31

Ciao Coupe79 e benvenuto nel Forum

La stampa in pdf di un foglio di excel è stata più volte risolta
L'applicativo più "gettonato" per fare ciò è PdfCreator che oltretutto è anche free
Una volta installato PdfCreator puoi utilizzare una macro tra quelle pubblicate nel Forum (adattandola al tuo caso)
ad esempio in questo link

Vedi fino dove arrivi nel caso posta ancora

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 30/08/12 14:37

ciao flash,
io non devo solo stampare, come ti ho scritto ho creato un codice che mi estrae e stampa in automatico una scheda del database, quando clicco su "ESTRAI" io non faccio altro che scrivere il numero di scheda che desidero stampare; adesso viene il bello non devo piu stampare cartaceo ma devo creare un pdf, è semplice vero, ma se io voglio poi salvare quel pdf in una cartella dandogli come nome il numero di scheda che ho estratto ....come devo fare??? ho guardato il link che mi hai postato ma se riesci a darmi qualche dritta in piu mi faresti un piacere :)..
grazieee

ciao
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 30/08/12 14:54

Non ti ho indicato una macro per stampare fisicamente un foglio ma per creare un file .pdf

Se memorizzi il nome della scheda (penso che tu abbia questa variabile, io evito di leggere il tuo codice che crea il report)
non devi far altro che soffermarti sul post di Alea del 23/01/12 ore 17:16
Prelevare il codice
"Terza: stampa con stesso percorso e stesso nome il file della prima"
e la macro successiva
con richiamo a:
....

Adattare la macro e percorsi ai tuoi effettivi
in particolare, nella prima macro copiata, devi fare attenzione perché il nome del file si chiama "NFile" ed è composto da questo codice
Codice: Seleziona tutto
NFile = Offerta & "_" & Ditta & Data & ".pdf"

Dovrai inserire il nome della tua scheda che avrai memorizzato da qualche parte.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 30/08/12 15:20

ciao,
ma questo codice posso integraro alla fine del codice che io ho postato? Scusa se non ti capisco ma non sono molto esperto , sto cercando di imparare ma il tempo che ho a disposizione prima di consegnare il lavoro è poco davvero. avro un 300 verbali da stampare e già ogni volta dovro inserire manualmente il verbale da estrarre dal database, se potessi dare una lettura al mio codice mi saresti di grande aiuto Flash....

helppppp :cry:

ciao....
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 30/08/12 15:41

ciao flash,

non riesco a capire cosa devo sostituire delle macro di riferimento che mi hai postato,
io ho due fogli di lavoro :
1° - ORIGINALE (che è il report estratto dal database)

2°- DATABASE (che contiene i vari report salvati)

la cella che contiene il numero scheda da cui deve prendere nome il file pdf si trova in : ORIGINALE CQ4

la destinazione del file posso tranquillamente metterla sul desktop , poi la posso modificare anche io perchè lo so fare.

Grazie infinite spero di averti aiutato un pò e aspetto tue notizie.

ciao.
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 30/08/12 16:13

ho provato a modificarla cosi, ma mi da errore run-time 76 impossibile trovare il percorso e
mi evidenzia questa stringa : "Chdir PercF"

Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path
Slash1 = InStrRev(Perc, "\")
PercF = Left(Perc, Slash1 - 1)
Slash2 = InStrRev(PercF, "\")
PercF = Left(PercF, Slash2) & "pdf_prelievi"
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
Sheets("originale").Select
Sheets("originale").Copy
ChDir PercF
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
ActiveWorkbook.SaveAs Filename:=PercF & NFile
ActiveWindow.Close
Call macroPrintPDF1(PercF & "\", NFile) '<<< AGGIUNTA
End Sub

dove sbaglio????

ciao Flash grazie
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 30/08/12 18:49

Ma pdf_Prelievi è una sottocartella di percorso dove risiede il file xls?
se così allora elimina tutta la costruzione del percorso e usa solo queste righe
Codice: Seleziona tutto
Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path & "\" & "pdf_prelievi"
PercF = Perc & "\"
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
ChDir Perc   '<<<< attenzione cambiata variabile
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
ActiveWorkbook.SaveAs Filename:=PercF & NFile
'...


Fai sapere
ciao

M.B. non usare il desktop per i file ma usa cartelle "elementari" es.: C:\mieiDoc\Prelievi
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 31/08/12 09:57

ciao flash domanda,

allora io inserisco il file principale contenente il database e il modello verbali che si chiama " GESTIONE PRELIEVI" in una chiavetta e lavoro li sopra , il file lo metto nella cartella "pdf prelievi", quindi il percorso é :

J:\AUGUSTO\CERTIFICAZIONE 2012\GESTIONE PRELIEVI\pdf prelievi

attualmente io ho inserito questi codici copiati dai link che mi hai suggerito tu :

Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path & "" & "pdf_prelievi"
PercF = Perc & ""
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
ChDir Perc '<<<< attenzione cambiata variabile
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
ActiveWorkbook.SaveAs Filename:=PercF & NFile
End Sub

Public Sub macroPrintPDF1(ByVal PercF As String, ByVal NFile As String)
Dim objPDFCreator '<<< Late Bind
On Error Resume Next
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
Shell "taskkill /f /im PDFCreator.exe", vbHide
Application.Wait (Now + TimeValue("0:00:05"))
On Error GoTo 0
Set objPDFCreator = CreateObject("PDFCreator.clsPDFCreator") '<<
aaa1 = objPDFCreator.cProgramIsRunning
With objPDFCreator
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = PercF
.cOption("AutosaveFilename") = NFile
.cOption("AutosaveFormat") = 0
aaa = .cOption("AutosaveFilename")
.cVisible = False
.cClearCache
End With
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator" 'stampa "Foglio"
objPDFCreator.cPrinterStop = False
'attesa disponibilita' file finale
Do
DoEvents
Loop Until Dir(PercF & NFile) = NFile
'clear finale oggetto e kill processo
Set objPDFCreator = Nothing
Shell "taskkill /f /im PDFCreator.exe", vbHide
End Sub

adesso ho errore run-time 76 su :
ChDir Perc '<<<< attenzione cambiata variabile

P.S. non sono molto pratico scusa se rompo :)

ciao
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 31/08/12 10:23

ciao ,
ho provato anche a sistemare la cartella prelivi in c:\document and settings, ma l'errore è sempre lo stesso!!

run time 76 impossibile trovare il percorso
ChDir Perc '<<<< attenzione cambiata variabile

non so vuoi che ti mando il file cosi ci dai un occhiata tu?

se si fammi sapere come devo fare per allegarlo, grazie Flash
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 31/08/12 10:55

Qui giverbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
à vedo un errore (anzi due)
coupe79 ha scritto:Perc = ThisWorkbook.Path & "" & "pdf_prelievi"
PercF = Perc & ""

Nel mio codice tra gli apice c'è uno slash
"\" (scusa ma non fai il copia e incolla dei codici :roll: )

Qui farei una semplificazione (se verbale non lo usi più)
da così
Codice: Seleziona tutto
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"

a così
Codice: Seleziona tutto
NFile= Worksheets("ORIGINALE").Range("ei4").Value  & ".pdf"


Fai sapere
Ciao

P.s. la procedura per allegare il link dei file appoggiati nei server è nel secondo Topic di questa sezione (in alto)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 31/08/12 11:16

Flash, sto impazzendo!!!!

allora con questa soluzione e posizionando il file in c:\ document and settings , nella cartella mi salva il file in pdf con il nome che voglio io, e cioè solo il numero della scheda (range "EI4" per capirci) .
ma quando apro il file pdf mi dà questo errore ,"ADOBE NON E' IN GRADO DI APRIRE 1339.PDF PERCHE E' UN TIPO DI FILE NON SUPPORTATO OPPURE PERCHE IL FILE E' STATO DANNEGGIATO (AD ESEMPIO E' STATO INVIATO IN ALLEGATO A UN MESSAGGIO E-MAIL E NON E' STATO DECODIFICATO CORRETTAMENTE).

io ho smanettato un pò ma non riesco a capire dove sbaglio , ti allego il codice, poi se vuoi il file dimmelo cosi cerco di capire come fare a mandartelo perchè non ho capito ancora come!

un saluto dall'imbranato!

Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path & "\" & "pdf_prelievi"
PercF = Perc & "\"
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
ChDir Perc '<<<< attenzione cambiata variabile
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
ActiveWorkbook.SaveAs Filename:=PercF & NFile
End Sub

Public Sub macroPrintPDF1(ByVal PercF As String, ByVal NFile As String)
Dim objPDFCreator '<<< Late Bind
On Error Resume Next
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
Shell "taskkill /f /im PDFCreator.exe", vbHide
Application.Wait (Now + TimeValue("0:00:05"))
On Error GoTo 0
Set objPDFCreator = CreateObject("PDFCreator.clsPDFCreator") '<<
aaa1 = objPDFCreator.cProgramIsRunning
With objPDFCreator
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = PercF
.cOption("AutosaveFilename") = NFile
.cOption("AutosaveFormat") = 0
aaa = .cOption("AutosaveFilename")
.cVisible = False
.cClearCache
End With
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator" 'stampa "Foglio"
objPDFCreator.cPrinterStop = False
'attesa disponibilita' file finale
Do
DoEvents
Loop Until Dir(PercF & NFile) = NFile
'clear finale oggetto e kill processo
Set objPDFCreator = Nothing
Shell "taskkill /f /im PDFCreator.exe", vbHide
End Sub

p.s. Riuscirò a consegnare il lavoro per lunedi?? :cry: :cry: :cry:
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 31/08/12 11:19

CORREZIONE IL CODICE CHE VOLEVO POSTARTI CHE FUNZIONA E' QUESTO!!!! SORRYYYYYYYYY
MA LEGGI COMUNQUE IL MESSAGGIO PRECEDENTE :D
Public Sub StampaVERBALEinPDF()

Perc = ThisWorkbook.Path & "\"
PercF = Perc & "\"
verbale = Worksheets("ORIGINALE").Range("ei4").Value
NFile = verbale & ".pdf"
If Dir(Perc & NFile) = NFile Then Kill (Perc & NFile)
ActiveWorkbook.SaveAs Filename:=Perc & NFile
End Sub

Public Sub macroPrintPDF1(ByVal PercF As String, ByVal NFile As String)
Dim objPDFCreator '<<< Late Bind
On Error Resume Next
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)
Shell "taskkill /f /im PDFCreator.exe", vbHide
Application.Wait (Now + TimeValue("0:00:05"))
On Error GoTo 0
Set objPDFCreator = CreateObject("PDFCreator.clsPDFCreator") '<<
aaa1 = objPDFCreator.cProgramIsRunning
With objPDFCreator
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = PercF
.cOption("AutosaveFilename") = NFile
.cOption("AutosaveFormat") = 0
aaa = .cOption("AutosaveFilename")
.cVisible = False
.cClearCache
End With
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator" 'stampa "Foglio"
objPDFCreator.cPrinterStop = False
'attesa disponibilita' file finale
Do
DoEvents
Loop Until Dir(PercF & NFile) = NFile
'clear finale oggetto e kill processo
Set objPDFCreator = Nothing
Shell "taskkill /f /im PDFCreator.exe", vbHide
End Sub
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 31/08/12 11:34

CIAO,

forse sono riuscito a uploadre il mio file, non so se funziona fammi sapere

http://uploading.com/files/nmanager/D/0/0

ciao...
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 31/08/12 13:50

Non credo che bisogna conoscere il tedesco per capire cosa significhi "Forbidden" (è ciò che trovo scritto sulla pagina del tuo link, che avresti potuto verificare tu stesso :aaah )

Vai in questo link
http://www.filedropper.com/
premi il tasto Upload a sinistra
scegli il file sul tuo disco (e clicchi Apri)
attendi il caricamento sul server (tutta la barra verde e qualche secondo in più)
copi il primo link sotto la scritta
"Link To Share This File With Anyone"
incolli nel post che farai usando i Tag URL dell'editor del post
Fai un'anteprima per verificare che tutto funzioni e poi
invii il post

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Anthony47 » 31/08/12 16:12

Anche io non accedo al file:
Immagine

Uploaded with ImageShack.us

Prova a usare filedropper.com seguendo le istruzioni di Flash (vedi sopra)

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] stampare un file in PDF con una macro

Postdi Flash30005 » 01/09/12 01:17

Ripeto!
copi il codice che scrivo oppure lo digiti?
secondo te questo
Flash30005 ha scritto:Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path & "\" & "pdf_prelievi"


è uguale a ciò che hai scritto nell'ultimo post (macro definitiva)?
coupe79 ha scritto:Public Sub StampaVERBALEinPDF()
Perc = ThisWorkbook.Path & "\"


dov'è finita la sottocartella "pdf_prelievi"?
Se vuoi usare il ChDir con "Perc"
Perc non deve terminare con lo Slash ("\")
per questo ti ho fatto modificare la macro
Poi in PercF inserirai lo Slah (con due slash va sicuramente in errore)
Infine
Flash30005 ha scritto:ChDir Perc '<<<< attenzione cambiata variabile
If Dir(PercF & NFile) = NFile Then Kill (PercF & NFile)


In If Dir(...
va inserito PercF non Perc
Insomma posso capire che non conosci bene il vba ma almeno cerca di copiare bene (nei post c'è l'apposito pulsante sopra ogni codice Vba).

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] stampare un file in PDF con una macro

Postdi coupe79 » 03/09/12 08:06

Ciao flash,
Allora io ho prima fatto copia e incolla , testato e non andava, poi ti ho scritto che provavo a smanettarci un po' . Chiaramente poi ti ho girato il file con gli smanettamenti vari, sicuro che nn fosse un problema per te....
Tu lo hai testato il programma? Ti funziona? Apre il PDF? Se è così puoi girarmelo via mail così vedo le modifiche che hai fatto e cerco di capire dove sbagliavo?

Grazie mille flash ,scusa il ritardo nel risponderti..
Aspetto tue..
coupe79
Utente Junior
 
Post: 36
Iscritto il: 29/08/12 15:03

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] stampare un file in PDF con una macro":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti

cron