Condividi tramite

Access invia mail con allegato

Anonimo
2016-07-03T15:39:42+00:00

Buon pomeriggio a tutti.

Ho la tabella "Avvisi" con un campo allegato (formato PDF) e ho la maschera continua "inviomail" (basata sulla tabella "avvisi").

Cliccando sul campo "indirizzomail" della maschera attivo il seguente codice:

Private Sub IndirizzoMail_Click()

Dim Attachment As Object

Dim Messaggio As String

Dim Mail As String

Messaggio = "Bla bla bla. Cordiali saluti. Pinco Pallino"

Mail = IndirizzoMail

DoCmd.SendObject , "Attachment", "PDFFormat(*.pdf)", Mail, , , "Avviso", Messaggio

End Sub

intendendo in questo modo inviare all'indirizzo mail selezionato il file allegato come attachment; ovviamente non funziona,  ma non riesco a trovare un'alternativa funzionante.

Inoltre quando il codice apre Outlook non viene riportata la "firma" che abitualmente invece si trova ogni volta che clicco su "nuovo" direttamente da Outlook (questo quesito è stato oggetto di un'apposita domanda alla community tempo fa , ma non ho mai ottenuto risposte).

Vi ringrazio da ora e vi auguro una buona domenica.

Andrea

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

20 risposte

Ordina per: Più utili
  1. Anonimo
    2016-07-17T08:05:23+00:00

    Buona domenica.

    Il codice funziona alla perfezione e rispecchia esattamente quello che avevo in mente: grazie !

    Per facilitare la ricerca dei file PDF vorrei puntualizzare più precisamente il path, considerando che nella maschera di inserimento ho tutti gli elementi per identificare il file PDF da richiamare.

    Attualmente il percorso è così strutturato (esempio):

    Cartella "avvisi" - sottocartella "marzo" - sotto sotto cartella "2016" - file "Mario Rossi.PDF"

    Sul clic di "Carica pdf" vorrei che fosse aperto il percorso nella cartella avvisi, nel mese e nell'anno di riferimento dell'avviso (ricavabile dalla data dell'avviso stesso); ho provato a lavorare su mod_fileDialog ma non so come richiamare i campi "mese" e "anno" che si trovano nella maschera di immissione dati.

    Ho provato con (non mi sparare per favore se ci sono degli strafalcioni):

    Dim mese as string

    Mese = CampoMese

    .InitialFileName = "\DS1515PLUS\DatiAziendali\Avvisi di notula e notule\ " & Mese & ""

    ma da l'errore "variabile non definita", immagino perché nel modulo non è stata richiamata la maschera......... e non so come si fa.....

    Grazie ancora

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-07-16T15:04:03+00:00

    ciao Andrea,

    [...]

    Scusa il ritardo ma durante la settimana non ho neanche il tempo di respirare.

    [...]

    buon segno..!

    [...]

    Per ora mi sono limitato a dare un'occhiata superficiale al tuo codice e a copiarlo; oggi mi metto a studiarlo: comunque sia è ASSOLUTAMENTE GENIALE ! Grazie ! Tra l'altro è "riciclabile" in altre situazioni.

    [...]

    si certo utilizzabile anche in altre situazione. Con un po' di impegno e tempo (soprattutto tempo) ci saresti arrivato da solo, i link sono molto chiari, ho inserito l'uso del late binding e qualche altra cosa, ma nulla più.

    [...]

    In sostanza quindi il file PDF non è allegato nella tabella ma nel controllo fullpath è indicato il percorso per raggiungerlo: ho capito bene ?

    [...]

    si, è così ogni qual volta ti viene in mente di inglobare files esterni nelle tabelle di access, un altro esempio tipico sono le immagini, pensa prima al solo percorso.

    [...]

    Mi rimane un dubbio: per modificare il percorso dove andare a recuperare il file PDF (se non sbaglio da te indicato come "C:\prova") è sufficiente che sostituisca nel "mod_fileDialog" il percorso reale ?

    [...]

    no, la proprietà che determina il percorso da cui iniziare a cercare i files è InitialFileName, quindi inserisci in quel punto del codice un percorso diverso, mentre la costante

    Private Const strPathRete As String = "C:\prova"

    la puoi eliminare è superflua.

    [....] E' necessario che il database e i file Pdf si trovino nella medesima directory ?[....]

    no, dove preferisci possono essere in due percorsi diversi.

    [...]

    Grazie non saprò mai come sdebitarmi per tutto l'aiuto che mi stai dando. Buona giornata

    [...]

    prego :-)

    [...]

    Buona giornata

    Andrea

    buon sabato a te ed un saluto.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-07-16T13:42:44+00:00

    Scusa il ritardo ma durante la settimana non ho neanche il tempo di respirare. Per ora mi sono limitato a dare un'occhiata superficiale al tuo codice e a copiarlo; oggi mi metto a studiarlo: comunque sia è ASSOLUTAMENTE GENIALE ! Grazie ! Tra l'altro è "riciclabile" in altre situazioni.

    In sostanza quindi il file PDF non è allegato nella tabella ma nel controllo fullpath è indicato il percorso per raggiungerlo: ho capito bene ?

    Mi rimane un dubbio: per modificare il percorso dove andare a recuperare il file PDF (se non sbaglio da te indicato come "C:\prova") è sufficiente che sostituisca nel "mod_fileDialog" il percorso reale ? E' necessario che il database e i file Pdf si trovino nella medesima directory ?

    Grazie non saprò mai come sdebitarmi per tutto l'aiuto che mi stai dando. Buona giornata

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-07-08T09:17:35+00:00

    Buongiorno Sandro e grazie, per l'ennesima volta.

    Hai un solo difetto: mi sopravvaluti in maniera esagerata.....

    Concettualmente mi è tutto chiaro ma a livello operativo è una catastrofe: ho iniziato ad utilizzare Access solo tre anni fa, senza alcuna base di studio e fino a pochi mesi fa non sapevo neanche che esistessero i codici e Vba, per cui.....

    Ho tirato giù un demo per gli avvisi di notula (il cui link è qui di seguito), simile a quello che utilizzo in studio

    https://1drv.ms/u/s!AoS1f\_man2ULhqZdYTbyJS38kSNkjg

    Per quanto riguarda i files PDF generati dal software esterno non ho problemi a salvarli con il numero, il nome del cliente e l'anno di emissione (ogni anno la numerazione inizia da zero), per cui il file è sicuramente univoco.

    A questo punto quindi, se ho ben capito, nella maschera di immissione dati, su clic campo "invio mail" dovrei creare una sorta di collegamento al file pdf di quel cliente, con quel numero e di quell'anno. E qui mi fermo........

    Grazie

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2016-07-07T17:35:24+00:00

    ciao Andrea,

    dopo avere generato la fattura in pdf, da access con il fileDialog, inserisci il fullPath del file in una texbox associata e con un click di un commanButton lo rinomini inserendo idcliente e numero fattura. (funzione name esatto).

    essendo il numero fattura univoco, come l'idCliente dovrebbe essere sufficiente.

    un'escamotage per avere la progressione corretta ed essere facilitati nella non doversi ricordare il numero progressivo potrebbe essere costituita da una tabella con un campo numeroFattura che si aggiorna ad ogni inserimento, in modo tale che quello successivo sia il valore del campo+1.

    In questo modo per le fatture esistenti dovrai andare in cerca della corretta progressione per associare la fattura al numero corretto per le nuove invece questo automatismo dovrebbe aiutarti.

    Prova a sperimentare un po'... :-).

    Ancora...oppure per evitare di fare tutto a mano, esportare gli allegati esistenti e rinomianrli e associarli al cliente...sempre con un campo texto per il file fattura.

    Questo è un po' più difficile, ma fattibile...dipende da quanti allegati hai inserito...

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento