mem pdf



  • mem pdf
    di LUIGI (utente non iscritto) data: 23/02/2016 10:42:04

    continuazione della discussione " memorizzare in pdf con data "



  • di Raffaele_53 data: 23/02/2016 12:39:31

    Premesso che il codice in MODULO4 non funzionerà mai.
    Premesso che non ho mai visto una macro col nome Auto_Open inserita in un foglio (vedi di cambiare nome).
    La riga SmallScroll la puoi eliminare.

    Due prove col registratore acceso.
    1) Salva il file in formatto PDF
    2) Stampa da excel quest documento, selezionando solo "Area_Stampa" e cliccando su stampa.

    Sposta il codice che ottieni dal registratore
    Ps. Quando provi, non usare il bottone. Visualizza sul monitor le finestre ridotte del file che il'editor. Vai sul codice, premi F8 ripremi F8 finchè non capisci quale riga sia l'errore oppure perchè non esegue



  • di LUIGI (utente non iscritto) data: 24/02/2016 07:59:07

    Buon giorno Raffaele, ho capito che ti ho fatto arrabiare e Ti chiedo scusa, ma Ti devo dire che tutto quello che vedi è opera di copia e incolla e opera di sbirciate qua e la in internet e frutto di solo passione, non ho mai frequentato un corso VBA sono solo appasionato di excel sono uno spedizioniere con la passione dei numeri e tutto quello che ci gira attorno poi mi piace questo mondo ( quello che schiacciando un tasto ti fa un casino di cose).
    Lo immagino che quello che ho fatto sarà un casino ma ieri ho fatto ancora piu casino (scusa le parolacce) nell'intento di rimettere a posto alcune cose , pertanto " se possibile " chiedo se mi puoi sistemare, rivedere questa macro e farmela funzionare.
    Ancora venia, e grazie a Te per la pazienza che hai nel rispondermi.
    Buon lavoro Luigi



  • di LUIGI (utente non iscritto) data: 24/02/2016 08:43:32

    Dimenticavo...........certamente come dici Tu sara scritta male e quindi dovrà essere ricorretta, ma stamattina ( di bonora) la ho fatta funzionare solo la stampa non funziona ti allego una cartella (solo per comodità di invio) contenente due file

    luigi



  • di Raffaele_53 data: 24/02/2016 13:14:27

    Non capisco cosa intendi "ti ho fatto arrabiare"?

    >>> e farmela funzionare
    L'ultimo mio codice funziona, dovrei capire cosa non Ti funziona.

    1) Premesso che ho richiesto due codici che non vedo, comunque sembra che hai superato il problema.
    2) Vedo la Tua parte iniziale e non capisco cosa possa servire.
    In teoria prima stampi,salvi e dopo pulisci, mà il numero Borderò sarebbe lo stesso senza il mio VBA?

    Cambia Sub Auto_Open() in SUB PDF()
    X = Sheets("ritiri").Range("d13") OK assegni la variabile
    Sheets("ritiri").Range("d13").Value = X Adesso gli dai la stessa variabile???
    ActiveWorkbook.Save "Se salvi (per uso altra volta) sarà ancora completto dei dati"
    ActiveWorkbook.SaveAs Filename:="C:UsersUtente.ASSERVICEDesktopordero" Domanda salvi una copia in un'altra cartella?

    Prova spiegare cosa desideri fare.



  • di LUIGI (utente non iscritto) data: 24/02/2016 16:14:55

    Ciao buon di Raffaele, inizio con (spero) una buona notizia FUNZIONA !!!!!!.parzialmente ................ in risposta alle tue domande "ti ho fatto arrabbiare" mi sembrava che per colpa mia per come avevo scritto la macro ti fossi un po arrabbiato, ma è una mia sensazione a distanza......e l'altra affermazione >>> e farmela funzionare ...... intendevo dire, siccome ieri era una giornata del cavolo ero molto nervoso (non per colpa tua) avevo perso tutta la speranza di riuscire a correggere la macro pertanto chiedevo a te di farmele funzionare ( ma non era un ordine) lungi da me.

    Come già detto su precedente messaggio io mastico VBA molto ma molto poco forse il 5/10% pertanto quando mi dici, assegni una variabile....o altri termini tecnici, ne capisco veramente poco anzi pochissimo solo la passione mi fa superare certi ostacoli.
    Solo per tua conoscenza e come richiesto cerco di spiegarti come dovrebbe funzionare sta macro:

    Dalla cella b22 in poi scriverò dei numeri che poi sono dei numeri di spedizione la data viene scritta in maniera automatica con =OGGI() il destinatario e sempre quello il nome dell'autista e con =CONVALIDA stessa cosa la targa =CONVALIDA a questo punto devo tramite bottone stampare il borderò memorizzarlo in PDF in altra cartella cambiare il nominativo della memorizzazione (quella che lui propone in default) mette in n. di borderò data e ora cancellare solo i numeri di spedizione e aumentare di 1 il numero di borderò che mi servirà per la prossima volta.

    Spero sia comprensibile il tutto, ti allego l'ultima versione corretta da me con i tuoi suggerimenti allego anche copia di borderò, non funziona la stampa, ho disattivato con la " ' " in vari modi ma senza risultato forse sbaglio il posizionamento della scrittura ..... (questa mattina funzionava tutto ho chiuso il file, oggi pomeriggio riattivo file "bordero" non mi funziona stampa......................)
    saluti
    luigi



  • di Raffaele53 data: 24/02/2016 19:22:35

    Hai tolto la textbox...
    Premesso che posso sempre sbagliare
    Se uso termini "strani", mi spiace (anchio non capisco quando sono tra persone esperte), comunque hai scritto che hai due stampanti (casa & ufficio), se un codice funziona a casa NON lo devi usare in ufficio (lo provi eventualmente).
    Iniziamo da casa, solo Tu puoi far prove per la stampa. Se funziona passiamo agli altri argomenti.

    1) Il file deve essere pronto per inserire nuovi dati.
    2) Inserisco i Dati ed stampo.
    3) Optional, desidero salvare un pdf in una cartella d'archivio.
    4) Ripulisco il foglio e lo metto in condizione d'essere usato la volta dopo.

    In pratica apro il file (Se quando scelgo il pulsante Stampa, determinate celle sono vuote, si rifiuta di stampare "avvisando l'utente", se i dati sono corretti stampo e salvo pdf. A questo punto posso ripulire il foglio ed aumentare di 1 il borderò salvandolo) 
     
    Sub PDF()
    Dim today As Variant, Nome As String
    
    If Range("C16") = "" Or Range("C18") = "" Or Range("G18") = "" Or Range("G18") = "" Or Range("B22") = "" Then
        MsgBox "Non sono presenti tutti i dati per stampare"
    Else
       ActiveWindow.View = xlNormalView
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
    
    today = Now
    today = Cells(13, 4) & "_" & Format(Date, "mm") & "." & Format(Date, "dd") & "." & Format(Date, "yy") & "." & Format(Time, "hhmmss")
    Nome = "C:UsersUtente.ASSERVICEDesktopstorico Ritiri"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nome & today & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
            True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Range("C16,C18,G16,G18,B22:N3") = "" ' sicuro sino N39
    Cells(13, 4) = Cells(13, 4) + 1 ' per aumentare Bordero
    MsgBox "PDF creato/salcato"
    ActiveWorkbook.Save
    ThisWorkbook.Close 'quit non lo uso mai "pericoloso"
    End If
    End Sub