Salvare una form come file.jpg

di il
8 risposte

Salvare una form come file.jpg

Ciao, devo salvare una form, o una sua parte, come file immagine jpg.

Ho provato alcune soluzioni ma non ho mai avuto il risultato sperato, soprattutto non è mai stato salvato alcun file; vi posto il codice, ho fatto una Function che richiamo da una sub legata ad un pulsante sulla maschera stessa, il pulsante verrebbe inserito nell'immagine ma va bene lo stesso.

Public Function Registra(ByVal n As Long)
    Dim frm As Form
    Dim fileName As String
    
    ' Imposta il riferimento alla form desiderata
    Set frm = Forms("Form_mMaschera")
    
    ' Imposta il nome del file immagine
    fileName = "E:\Test\img.jpg"
    
    ' Salva la form come immagine
    frm.PaintPicture frm.Picture, 0, 0, frm.Width, frm.Height
    SavePicture frm.Picture, fileName
    
    ' Rilascia il riferimento alla form
    Set frm = Nothing
End Function

oppure:

Public Function Registra(ByVal n As Long)
    Dim frm As Form
    Dim fileName As String
    
    ' Imposta il riferimento alla form desiderata
    Set frm = Forms("Form_mMAschera")
    
    ' Imposta il nome del file immagine
    fileName = "E:\Foto\TestSV\img.jpg"
    
    ' Stampa la form come immagine
    frm.PrintForm
    
    ' Salva l'immagine
    DoCmd.SaveAs acForm, frm.Name, acFormatBMP, fileName
    
    ' Rilascia il riferimento alla form
    Set frm = Nothing
    
    ' Interrompi l'esecuzione della funzione
    Exit Function
End Function

ci sono diversi problemi, il PaintPicture non è accettato come metodo e neppure il SaveAs, quindi in un modo o nell'altro non arrivo in fondo e non ho il jpg.

Grazie dell'aiuto.

Ciao

8 Risposte

  • Re: Salvare una form come file.jpg

    Puoi spiegare dove hai trovato il codice che hai esposto…?
    Faccio questa domanda in quanto mi pare provenga da programmazione creativa, ovvero:

    • frm.PaintPicture frm.Picture, 0, 0, frm.Width, frm.Height
      Dove hai trovato nel VBA di Access questo metodo…? Non mi risulta esistere
    • ' Salva l'immagine
       DoCmd.SaveAs acForm, frm.Name, acFormatBMP, fileName
      Dove hai trovato nel VBA di Access questo metodo…? Non mi risulta esistere

    IN Access l'unico modo per fare quello che chiedi in automatico è usare le API, e, fare uno ScreenToBitMap ritagliando l'immagine della Form dopo aver ricavato le coordinate in Pixels della Form usando il suo hWnd… una cosa un poco fuori dal codice nativo che richeide qualche conoscenza più tecnica.

    In ogni caso quì trovi l'esempio, attenzione che va modificato per la compatibilità alle nuove versioni di Access con il PTRSAFE e l'eventuale Compilazione Condizionale per il VBA7 e Win64:

    https://www.tek-tips.com/viewthread.cfm?qid=1006173

  • Re: Salvare una form come file.jpg

    Esattamente come hai detto tu, Alex: programmazione creativa.

    Prima di disturbarvi ho pasasto 3 giorni su chat gpt, non so cosa ne pensate voi, ma come vedi spesso non c'azzecca.

    Non è solo questo il caso, ho fatto parecchie richieste all'AI, ma ho trovato solo poche risposte e spesso molto sudate.

    Da quel poco che ho trovato in rete prima di scrivere qui immaginavo che dovessi passare per l'hWnd della form, ma speravo ci fosse un sistema più diretto, vicino a quello che ricordo che si faceva con il VB6 quando volevi stampare un testo contenuto in una form, semrpe che ricordi bene, s'intende.

    Ad ogni modo grazie dell'esempio che mi vado a vedere; conosco il ptrsafe da mettere nelle dichiarazioni, per la Compilazione Condizionale semmai vi disturberò ancora.

    Ciao

  • Re: Salvare una form come file.jpg

    Chat GPT è il miglior modo per NON imparare a programmare.

    Usa i libri e la documentazione ufficiale, oltre al tuo cervello.

    PaintPicture è VB6

  • Re: Salvare una form come file.jpg

    05/07/2023 - ugoldrake ha scritto:


    Esattamente come hai detto tu, Alex: programmazione creativa.

    Prima di disturbarvi ho pasasto 3 giorni su chat gpt, non so cosa ne pensate voi, ma come vedi spesso non c'azzecca.

    Ma non si fa… !!!!!
    se trova un qualsiasi codice te lo propina perchè secondo lui statisticamente è quello che più si avvicina alla tua domanda.

    E lo sai in rete quanto codice “creativo” esiste, per non dire peggio.

    La dimostrazione è che sottoponendo la stessa domanda più volte, spesso ti da risposte diverse.  ahi ahi ahi … cerca di fare attenzione e usalo solo come motore di ricerca un po' più veloce di quello del browser, ma occorre sapere per capire cosa ti propina, altrimenti ci perdi solo tempo e non ne vale la pena.

    Affidati alle tue capacità , ora come ora sei più razionale tu che l'AI

  • Re: Salvare una form come file.jpg

    05/07/2023 - ugoldrake ha scritto:


    Esattamente come hai detto tu, Alex: programmazione creativa.

    Prima di disturbarvi ho pasasto 3 giorni su chat gpt, non so cosa ne pensate voi, ma come vedi spesso non c'azzecca.

    Ciao

    Non farti sentire con queste cose… dai è roba da “acefali”…!

  • Re: Salvare una form come file.jpg

    Alex sono su questi vostri forum da 20 anni, prima sull'altro forum ed ora su questo.
    Purtroppo non ho fatto una scuola di informatica e non ho avuto nessuno che mi insegnasse neppure i rudimenti; tutto quello che so l'ho ricavato da anni di sbattimento tra libri piuttosto anonimi, i vostri preziosi aiuti e la lungimiranza di qualche mio responsabile lavorativo che ha pensato che avrei fatto qualcosa di buono, come in effetti è stato.

    Negli anni sono riuscito a fare abbastanza quello di cui avevo bisogno, oltre a qualche lavoretto in access ho fatto parecchie cose in excel, html, e un paio di app in android, ma senza basi è un casino, non hai idea di come sia cosciente di non sapere le cose basilari e di come stia cercando di intortare gli insegnanti dei miei figli affinché mettano su un corso serale per adulti.

    Anche Franco ha ragione, ma le mie capacità sono limitate, molto spesso ho trovato codice creativo in rete che ho modificato anche con discreto successo, quindi visto che c'è perché non sfruttare l'AI? Per quanto la riguarda ho visto che la frase più usata è “mi scuso per la mia incomprensione”, in TUTTI gli ambiti ed argomenti.

    Nel frattempo però devo andare avanti… come posso, con gli strumenti che ho a disposizione; i libri anonimi sono quelli che spiegano mille cose ma che se hai una domanda non ti rispondono, non hanno il dono della parola.

    Grazie degli aiuti

    Ciao

  • Re: Salvare una form come file.jpg

    Solo a titolo di scambio esperienze... nessuno mi ha insegnato a programmare, io so che ho studiato moltissimo e speso moltisismi soldi negli anni 90 non si trovava molto in rete, era agli albori, la documentazione era tutta in inglese ed i libri seri costavano un sacco, spesso li ordinavi nelle librerie ed arrivavano dopo mesi.

    Al tempo lavoravo e studiavo per l'università… ma purtroppo nessuno è mai riuscito ad INFONDERMI “sapere”… ho sempre dovuto studiare di mio ;-) 

    In ogni caso, è giusto tu faccia come credi… apprezzo l'impegno, per mia esperienza non è il modo giusto per progredire… poi come dicono dalle mie parti “si fanno le zucche… ti farai anche tu..”, nel senso che prima o poi qualche concetto lo impari anche così… ma non impari a programmare.

  • Re: Salvare una form come file.jpg

    Solo per scambiare due chiacchiere ugoldrake

    Pure io stesso percorso di @Alex, dove eravamo gelosi dei manuali e guai se andavano persi.
    Quando arrivavano le nuove macchine o gli aggiornamenti al sistema operativo, il pacco più grande e peso era sempre quello dei manuali.

    Lo dicevo qualche giorno fa… quando entrai in IBM a fare i primi corsi nessuno ti insegnava, trovavi solo chi ti indicava il tuo box, il tuo computer da utilizzare e i tuoi manuali da studiare. 
    Poi ti indicava dove si trovava la sala per visionare i Videotape, youtube ancora non esisteva ;-)) e anche lì avevi un tempo limitato di permanenza.

    E si, tanto studio sopra i manuali, c'erano solo quelli. ;-))
    E non c'era la programmazione ad oggetti !!!   ;-)
    Vabbè… era così, ma a mio avviso il metodo e il sistema funzionavano bene.

    Forse è per questo tipo di esperienze che ogni tanto, per non dire spesso, ci scappa di dire… "Studia!!!"  ;-))   deve essere proprio per questo. ;-)

    Oggi in rete si trovano tante cose… e tante sono farlocche. Comunque degli spunti si possono trovare e come dicevi tu, ci lavori sopra e lo adatti alle tue esigenze.

    Come diceva anche @Alex… fai sempre riferimento ai siti ufficiali e per esempio quello del supporto microsoft. Trovi tutto quello che serve, ma naturalmente richiede studio e approfondimento perchè anche quei pochi esempi sono piccoli  e ridotti all'essenziale. 
    Ma uno volenteroso come te non avrà problemi.

    Ciao ;-) e buon proseguimento.

Devi accedere o registrarti per scrivere nel forum
8 risposte