› Excel e gli applicativi Microsoft Office › Salvare Frame (userform) in .pdf e salvarlo in una cartella
-
AutoreArticoli
-
Ciao a tutti..
Spero possiate aiutarmi col mio problema
Non nascondo che ho cercato varie soluzioni su internet ma non ho trovato niente che possa aiutarmi col mio problema.
Avrei la necessità, come da titolo, di salvare (no stampare) un frame (che è posizionato nell'userform5) in una cartella specifica nel desktop. La cartella si chiama "po numero" ed è ubicata sul desktop.
Il frame ha la caption "Dati", ma mi sarebbe molto utile salvarlo con il nome preso in textbox7 (in quanto il valore immesso in quella textbox è variabile, così ogni volta che salvo ho sempre files diversi).
Naturalmente rimango a disposizione per qualsiasi chiarimento e vi ringrazio della vostra disponibilità!
Grazie mille per tutto e buona continuazione
Ciao
Spero per te di essere smentito ma temo non si possa fare.
Si può salvare in pdf un range, un foglio ma una userform credo di no.
Un'alternativa (non so quanto valida per te) potrebbe essere l'uso di Cattura di Windows salvando l'userform non come pdf ma come immagine facendo il tutto manualmente.
Alfredo
Ciao Alfredo e grazie per aver risposto..
Spero per te di essere smentito ma temo non si possa fare.
Si può salvare in pdf un range, un foglio ma una userform credo di no
ho capito, mi conviene allora "trasportare" i dati in un foglio a parte e salvare quello in pdf. Comunque rimango in attesa se c'è qualcuno che possa "smentirti"
.Grazie ancora per l'intervento!
Aggiungo che, a mio modo di vedere, salvare un'userform in pdf non ha molto senso quando puoi riportare tutto quanto ti necessità (anche graficamente) su un foglio di lavoro e salvare quello in pdf.
Alfredo
Ho capito, io so solo trasportare i dati ma per la "grafica" pecco..il tutto però deve partire dall'userform ecco perchè l'userform in pdf.
Per favore, illuminami su questa cosa della grafica
Se alleghi il file ed indichi quale userform deve essere riprodotta sul foglio possiamo vedere.
Non sarà perfettamente identica ma ci si può avvicinare.
Alfredo
Ho capito, io so solo trasportare i dati ma per la "grafica" pecco..il tutto però deve partire dall'userform ecco perchè l'userform in pdf.
E' chiaro che una sorta di modello sul foglio dovrebbe essere già predisposto.
Alfredo
Eccomi e scusa per il ritardo nella risposta ma excel ha crashato
Ecco il file con due userform, quella da prendere in considerazione è la seconda userform.
La prima userform, se inserisci i dati, gli stessi vengono riprodotti nella seconda userform(per far capire la predisposizione delle userform). La seconda userform ha due pulsanti: uno serve ad aggiungere i dati nel foglio attivo e l'altro salva il pdf prendendo come nome il valore contenuto nella cella A1.
Grazie mille dell'aiuto!
Allegati:
You must be logged in to view attached files.una soluzione potrebbe essere stampare il frame su stampante pdf, vedi questo esempio
Private Sub CommandButton1_Click() Dim insHform As Double, insWform As Double Dim iTopframe As Double, iLeftframe As Double Dim TotH As Double, TotW As Double, x As Double, y As Double With Me insHform = .InsideHeight: insWform = .InsideWidth TotH = .Height: TotW = .Width x = TotH - insHform: y = TotW - insWform iTopframe = .Frame1.Top: iLeftframe = .Frame1.Left .Height = .Frame1.Height + x: .Width = .Frame1.Width + y .Frame1.Top = 0: .Frame1.Left = 0 .printform .Height = TotH: .Width = TotW .Frame1.Top = iTopframe: .Frame1.Left = iLeftframe End With End SubCiao Patel, ho scaricato PDF24 ma non funziona. Non salva il documento da nessuna parte ma mi mette in lista di stampa con la stampante normale.
patel, avevo dimenticato di impostare come stampante predefinita PDF24.
Adesso funziona ma appena apro il pdf, il frame esce in alto a sinistra con sfondo bianco, ma io vorrei che uscisse a pagina intera.
Comunque, sarebbe possibile salvare il documento con il valore contenuto nella textbox2?
Grazie mille dell'aiuto!

Devi fare qualche ricerca di come gestire la stampante virtuale direttamente da codice, io non l'ho mai fatto
Ciao gret.
Ti ho allegato il tuo file dove ho aggiunto un foglio e vi ho inserito un'immagine dell'userform.
Su tale immagine ho inserito 4 textbox e sull'userform originale ho aggiunto un pulsante "Inserisci dati su form foglio" cui ho associato il seguente codice; compilando la maschera e cliccando il pulsante il foglio si compila e successivamente potrai esportarlo in pdf
Alfredo
Private Sub CommandButton4_Click() Sheets("Foglio1").TextBox1.Value = Me.TextBox1.Value Sheets("Foglio1").TextBox2.Value = Me.TextBox2.Value Sheets("Foglio1").TextBox3.Value = Me.TextBox3.Value Sheets("Foglio1").TextBox4.Value = Me.TextBox4.Value End SubAllegati:
You must be logged in to view attached files.Ciao Alfredo,
sei stato gentilissimo ad allegarmi il file modificato, ti ringrazio infinitamente
Solo una cosa mi dovresti spiegare:
secondo la mia testa ho pensato di modificare questa parte che dovrebbe salvare il file in pdf da così:
Sheets("Sheet1").Select v = Application.GetSaveAsFilename(Range("A1").Value, "PDF Files (*.pdf), *.pdf") If VarType(v) <> vbString Then Exit Sub With ActiveSheet .ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, From:=1, to:=1, OpenAfterPublish:=False End Witha così:
Dim Immagine1 As Variant Sheets("Foglio1").Select Immagine1 = Application.GetSaveAsFilename(Me.TextBox1.Value, "PDF Files (*.pdf), *.pdf") If VarType(Immagine1) <> vbString Then Exit Sub With ActiveSheet .ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, From:=1, to:=1, OpenAfterPublish:=False End Withcome puoi vedere ho cambiato queste cose: v= Immagine 1 (immagine che hai usato per riprendere l'userform); A1= Me.TextBox1.Value (sarebbe la textbox che contiene un valore e che vorrei fosse salvato). Ho notato che il file salvato non tiene conto della textbox1 (non so come impostare la cosa), mi si apre la finestra dove chiede dove vorrei fosse salvato il foglio, sulla barra digito "prova1", scelgo desktop ma lo salva col nome del file excel che in questo caso è "Copy of gret" (ho dovuto salvare in questo modo in quanto il file era di sola lettura).
Come dovrei fare affinchè mi salvi il file col nome preso dalla textbox1?
Grazie ancora dell'aiuto
Ciao Gret
Per il salvataggio in PDF potresti prendere spunto da questo codice
Private Sub CommandButton2_Click() Dim perc As String Dim nomefile As String perc = "c:\Excel\" '<==== da modificare nomefile = "gret userform" With Sheets("Foglio1") .ExportAsFixedFormat Type:=xlTypePDF, Filename:=perc & nomefile & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, From:=1, to:=1, OpenAfterPublish:=False End With End SubAlfredo...che dirti? Un GRAZIE grande quanto il cielo
grazie all'ultimo codice che hai postato, ho potuto fare diverse prove e ce l'ho fatta a risolvere il problema!
Ho cambiato questa parte da così:
nomefile = "gret userform"a così:
nomefile = Me.TextBox1.Valueora mi salva il file con il nome contenuto nella textbox1.
Sei un grande e grazie ancora!
P.s come hai fatto a "duplicare" l'immagine userform sul foglio?
Per le textbox? come hai fatto?.. Ho spostato l'immagine e ho notato che le caselle rimangono fisse sul foglio...
Certo il mio era solo un esempio.
Per duplicare l'immagine ho utilizzato lo strumento Cattura di Windows; salvato il file immagine con la userform l'ho inserito su un foglio da menù Inserisci e poi Immagine.
Fatto questo dal menù Sviluppo, Inserisci ho inserito 4 textbox (ActiveX) posizionandoli nei posti giusti sull'immagine della userform e nient'altro.
Ovvio che spostando l'immagine le textbox rimangono ferme perchè queste sono solo sovrapposte all'immagine.
Ma ora mi devi dire: a cosa ti serve un PDF dei una userform?
Alfredo
Ho capito..
Ma ora mi devi dire: a cosa ti serve un PDF dei una userform?
a fare tipo da resoconto di ciò che ho scritto nelle userform precedenti senza che queste li trasferisca nel foglio attivo.
Una specie di raccolta dati: tutti i dati che inserisco nelle textbox, vengono trasferiti in vari fogli e file esterni e l'ultima userform mi fa da resoconto di tutti i dati che ho inserito (ecco perchè il valore fisso, come hai potuto notare)
In PDF perchè ci lavoro maggiormente con questa estensione che con altri tipi.
-
AutoreArticoli
