Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Salvare file in pdf

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

Salvare file in pdf

Postdi lone wolf » 20/12/20 09:13

Salve sono ancora qua a chiedere il vostro aiuto, utilizzo una macro per stampare un foglio e vorrei che oltre a stampare il foglio lo salvasse in pdf e fin qui riesco a farlo ma vorrei che lo salvi nella stessa cartella del file principale con nome file “Movimenti del” e per data il contenuto della cella F4, grazie per l’aiuto e buona giornata a tutti.
Questa e la macro di stampa:

Codice: Seleziona tutto
Sub StampaMovimenti()
Sheets("Stampa Movimenti").Visible = True
Sheets("Stampa Movimenti").Select
If Application.Wait(Now + TimeValue("0:00:01")) Then
Ok = MsgBox("Stampare i Movimenti Giornalieri?", vbYesNo)
If Ok = vbYes Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Stampa Movimenti").Visible = False
Sheets("Movimenti").Select
Sheets("Movimenti").Range("F4").Select
End If
Sheets("Stampa Movimenti").Visible = False
Sheets("Movimenti").Select
Sheets("Movimenti").Range("F4").Select
ElseIf No = vbCancel Then
Sheets("Movimenti").Select
Sheets("Stampa Movimenti").Visible = False
Sheets("Movimenti").Range("F4").Select
End If
End Sub
lone wolf
Utente Junior
 
Post: 76
Iscritto il: 23/05/15 14:59

Sponsor
 

Re: Salvare file in pdf

Postdi Anthony47 » 20/12/20 19:33

La tua macro mi ha un poco disorientato...
Prima di aggiornarla a occhi chiusi vorrei essere certo di quel che dobbiamo fare.
Io ho capito che bisogna chiedere all'utente se vuole stampare i Movimenti giornalieri
-se risponde Sì allora si stampa il foglio "Movimenti Giornalieri" sulla stampante attiva; la richiesta mi pare sia di non solo stampare ma anche salvare lo stesso foglio come "Movimenti del xx-yy-zz.pdf", con xx-yy-zz prelevato da F4 ma di quale foglio?
-se si risponde No allora non facciamo niente e tutti sono contenti

E' giusto così?
Avatar utente
Anthony47
Moderatore
 
Post: 17449
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file in pdf

Postdi lone wolf » 21/12/20 00:10

Buona sera, hai ragione Anthony in effetti il msgbox non serve a niente questa macro è un pò vecchiotta dei primi tempi in cui ho iniziato a smanettare con excel e le macro e mi sembrava di aver fatto chissà che di bello, non mi è mai venuto in mente di togliere il msgbox che peraltro da più fastidio che utilità, per quanto riguarda la cella F4 si trova nello stesso foglio Movimenti, in pratica in questo foglio si trovano i “Movimenti” cioè tutti i nominativi delle persone ricoverate e dimessi nella giornata, in pratica il file dovrebbe essere salvato con: “Movimenti del 20/12/2020” nella cella F4 si trova la data da salvare, grazie per l’aiuto e buona notte a tutti
lone wolf
Utente Junior
 
Post: 76
Iscritto il: 23/05/15 14:59

Re: Salvare file in pdf

Postdi lone wolf » 21/12/20 18:50

Buona sera, ho provato ad abbozzare questa nuova macro:

Codice: Seleziona tutto
Sub Stampaesalvapdf()
    Sheets("Stampa Movimenti").Visible = True
    Sheets("Stampa Movimenti").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ChDir "C:\Users\Administrator\Desktop\Prova pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Administrator\Desktop\Prova pdf\ " & Range("B6").Value & "_" & Range("O6").Value & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
    Sheets("Stampa Movimenti").Visible.False
    Sheets("Movimenti").Select
    Range("F4").Select
End Sub


Ma mi va in debug “Errore di run-time ‘1004’ Metodo ‘Range? Dell’oggetto_Global non riuscito”, l’errore è dato dal pezzo di codice:

Codice: Seleziona tutto
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Administrator\Desktop\Prova pdf\ " & Range("B6").Value & "_" & Range("O6").Value & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True


Che vuol dire e come posso risolvere?
lone wolf
Utente Junior
 
Post: 76
Iscritto il: 23/05/15 14:59

Re: Salvare file in pdf

Postdi Anthony47 » 21/12/20 22:30

Il comando ExportAsFixedFormat e' disponibile da Office 2010; non so quale e' la tua versione

Se hai almeno 2010 questa macro a me funziona come dicevi:
Codice: Seleziona tutto
Sub StampaAB()
Dim PDFName As String
'
'Stampa:
Sheets("Stampa Movimenti").Visible = True
Sheets("Stampa Movimenti").Select
ActiveSheet.PrintOut
'Esporta come pdf:
PDFName = ThisWorkbook.Path & Application.PathSeparator & "Movimenti del " & _
  Format(Sheets("Movimenti").Range("F4").Value, "yyyy-mm-dd")
Sheets("Movimenti").ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFperc & PDFName, IncludeDocProperties:=True, IgnorePrintAreas:=True, From:=1, To:=1, OpenAfterPublish:=False
Sheets("Stampa Movimenti").Visible = False
End Sub

Se hai una versione precedente devi installare una stampante virtuale, es "PDF Creator" e poi stampare il foglio Movimenti su questa stampante

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17449
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file in pdf

Postdi lone wolf » 22/12/20 00:11

Buona sera, la mia versione di excel è la 2010 e la macro funziona bene, quindi funzionerà anche al lavoro che ha la versione superiore, invece per quanto riguarda la possibilità di salvare il file pdf nella stessa cartella del file di excel, o quanto meno di indicare in una cella del file il percorso del file c’è qualche possibilità? Questo perché il file è protetto con password e se si dovesse cambiare il percorso del file sarebbe necessaria la password per effettuare la modifica e anche un minimo di conoscenza del codice, e purtroppo nel reparto sono l’unico a capirci qualcosa, grazie per l’aiuto e buona serata a tutti
lone wolf
Utente Junior
 
Post: 76
Iscritto il: 23/05/15 14:59

Re: Salvare file in pdf

Postdi Anthony47 » 22/12/20 12:28

Con PDFName = ThisWorkbook.Path & Application.PathSeparator & "Movimenti del " etc etc dico che il file va inserito nello stesso percorso del file che contiene la macro e deve chiamarsi (esempio) Movimenti del 2020-12-22.pdf

Insomma dovrebbe gia' essere come vuoi tu... O no?
Avatar utente
Anthony47
Moderatore
 
Post: 17449
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare file in pdf

Postdi lone wolf » 22/12/20 12:39

Buon giorno, scusa Anthony ieri sera non mi ero accorto che il file pdf viene salvato nella stessa cartella del file, va bene così è proprio come volevo, grazie dell’aiuto e buone feste a tutto il forum.
lone wolf
Utente Junior
 
Post: 76
Iscritto il: 23/05/15 14:59


Torna a Applicazioni Office Windows


Topic correlati a "Salvare file in pdf":


Chi c’è in linea

Visitano il forum: Nessuno e 32 ospiti