+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Errore - invio mail da outlook da elenco excel

  1. #1
    laica non  in linea Novello
    Ciao a tutti!
    Da un paio d'anni uso una macro per inviare mail per auguri di Natale da lista excel tramite outlook, ha sempre funzionato, ma ora mi d un errore strano all'immissione dell'indirizzo mail (se tolgo quella parte, fa lo stesso con oggetto e testo).
    Stesso pc di anno scorso, stesso office 2010, stesso elenco. Ho provato a salvare (invece di xls) xlsm, ma niente. Ho provato a cambiare da POP a IMAP, ma niente.

    Errore: Errore di run-time '-2147417851 (80010105)'
    Metodo 'To' dell'oggetto '_MailItam' non riuscito.
    Ho cercato cosa significa, senza trovare soluzione per me: -2147417851 (80010105) Il server ha sollevato un'eccezione.

    Mi sapete aiutare?
    Grazie


    Codice:
    Sub Invia_Email_a_tutti()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim EmailAddr As String
    Dim Subj As String
    Dim BodyText As String

    Foglio1.Select

    ' RR contiene il numero di utenti cui inviare le e-mail (1 per utente)
    RR = Range("B" & Rows.Count).End(xlUp).Row

    ' I dati iniziano dalla terza riga
    For I = 3 To RR
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail

    ' La colonna "H", ossia la 8^, contiene gli indirizzi e-mail dei vari destinatari
    .To = Cells(I, 8)

    ' La colonna "E", la 5^, contiene l'oggetto della e-mail
    .Subject = Cells(I, 5)

    ' La colonne "B C D F G", ossia le 2^ 3^ 4^ 6^ 7^, contengono il testo della e-mail
    .Body = (Cells(I, 2) & Cells(I, 3) & Cells(I, 4) & Cells(I, 6) & Cells(I, 7))

    ' Le virgolette contengono l'eventuale percorso ove si trova il file da allegare
    .Attachments.Add "C:\xmas.jpg"
    .send

    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
    Next I
    End Sub

  2. #2
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Ciao
    a me non da nessun errore...

    prova a mettere "prima" del ciclo For le istruzioni:
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    e dopo il Next:
    Set OutMail = Nothing
    Set OutApp = Nothing

    mi sembra inutile tutte le volte aprire una istanza di Outlook e richiuderla

    saluti
    Ultima modifica di dodo47; 24-12-2014 10:59 

  3. #3
    laica non  in linea Novello
    Grazie dell'interesse!!

    Ho provato, ma mi d lo stesso errore
    Metodo 'To' dell'oggetto '_MailItam' non riuscito

    Possibile che non riconosca pi il .to??

  4. #4
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Ciao
    non saprei, come detto a me funziona...hai provato su un'altra macchina?
    Comunque quanto suggerito (ovvero portare fuori dal ciclo l'apertura e la chiusura dell'istanza outlook) bene che tu lo faccia.

    saluti

  5. #5
    fcarboni non  in linea Scolaretto
    Come per Dodo anche a me funziona regolarmente.

    Dodo per portare fuori dal ciclo l'apertura dell'istanza Outlook, vale solo per Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0) deve restare dentro:
    Sub Pulsante1_Click()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim EmailAddr As String
    Dim Subj As String
    Dim BodyText As String
    Foglio1.Select
    ' RR contiene il numero di utenti cui inviare le e-mail (1 per utente)
    RR = Range("B" & Rows.Count).End(xlUp).Row
    ' I dati iniziano dalla terza riga
    Set OutApp = CreateObject("Outlook.Application")
    For I = 3 To RR
        Set OutMail = OutApp.CreateItem(0)
            With OutMail
                .To = Cells(I, 8) ' La colonna "H", ossia la 8^, contiene gli indirizzi e-mail dei vari destinatari
                .Subject = Cells(I, 5) ' La colonna "E", la 5^, contiene l'oggetto della e-mail
                .Body = "Prova_00" & I '(Cells(I, 2) & Cells(I, 3) & Cells(I, 4) & Cells(I, 6) & Cells(I, 7))
                '.Attachments.Add "C:\xmas.jpg" ' Le virgolette contengono l'eventuale percorso ove si trova il file da allegare
                .send
            End With
        Set OutMail = Nothing
    Next I
    Set OutApp = Nothing
    End Sub
    
    diversamente, come proponi tu, dopo l'invio della prima mail mi restituisce l'errore "Oggetto spostato o rimosso"
    ciao
    ℹ️ Leggi di pi su fcarboni ...

  6. #6
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Ciao
    si, scusa, il "Set OutMail = Nothing" che va posto dopo il next insieme a "Set OutApp = Nothing"

    saluti

  7. #7
    laica non  in linea Novello
    S, s, grazie mille portato fuori dal ciclo for.

    Ho provato la prima riga su un altro pc e funziona...ma, non essendo mio, il mittente non il mio account outlook; non capisco che errore generi il mio pc (da solo).


    Grazie comunque!

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Invio mail con outlook
    Da Joe01 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 01-03-2017, 23:47
  2. macro per creazione pdf e invio per mail (outlook)
    Da Fra79 nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 04-07-2015, 19:46
  3. Risposte: 0
    Ultimo Post: 09-10-2012, 16:43
  4. Utilizzare Outlook da Access per l'invio di una e-mail
    Da Syrinx_ nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 19-01-2011, 16:27
  5. Invio mail da Outlook/Access
    Da MorleyMan nel forum Microsoft Access
    Risposte: 10
    Ultimo Post: 13-03-2005, 20:16