Condividi:        

[Excel] Gestione invio e-mail

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Gestione invio e-mail

Postdi mafo » 07/03/07 16:02

Sarebbe possibile gestire l'invio di e-mail (allegati, c.c., sogg., etc..) con VBA in Excel, senza Outlook (per la posta io ultilizzo Lotus Notes!!!!!)?

Grazie
ciao
mafo
Utente Junior
 
Post: 26
Iscritto il: 09/05/06 14:18

Sponsor
 

Postdi Anthony47 » 07/03/07 19:05

La risposta e’ SI: da vba viene attivato non Outlook ma il "programma predefinito di posta", che nel tuo caso immagino sia Lotus Notes.
Controlla l’ impostazione su IE, Strumenti /Opzioni internet; tab Programmi (forse si puo’ controllare anche su Pannello di controllo, non ricordo).

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi mafo » 08/03/07 08:44

ho verificato; effettivamente sotto tools\internet options\program è selezionato lotus notes

io ho provato il seguente codice (scopiazzato da un'altro topics):

Codice: Seleziona tutto
Private Sub CommandButton1_Click()
    Workbooks.Open "C:\pluto.xls"
    Destin = "a.pippo@gmail.com"
    ActiveWorkbook.SendMail Recipients:=Destin, Subject:="Ciao"
    ActiveWorkbook.Close
End Sub


Ma non piace tanto al mio PC:

Run-Time error '1004':
Method 'SendMail' of object'_Workbook' failed
mafo
Utente Junior
 
Post: 26
Iscritto il: 09/05/06 14:18

Postdi Anthony47 » 08/03/07 14:18

Mah, a me non da' nessun problema.

Che versione di excel e di vba hai (da Menu /? /Informazioni su..)? Inoltre, se da vba editor fai doppioclick su "SendMail" (per evidenziare) e poi dai F1 (help contestuale), che messaggio di help ti viene fuori?

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi mafo » 08/03/07 14:48

1_Excell 2003 SP2
2_Visual Basic 6.3

3_
SendMail Method
See AlsoApplies ToExampleSpecificsSends the workbook by using the installed mail system.

expression.SendMail(Recipients, Subject, ReturnReceipt)
expression Required. An expression that returns a Workbook object.

Recipients Required Variant. Specifies the name of the recipient as text, or as an array of text strings if there are multiple recipients. At least one recipient must be specified, and all recipients are added as To recipients.

Subject Optional Variant. Specifies the subject of the message. If this argument is omitted, the document name is used.

ReturnReceipt Optional Variant. True to request a return receipt. False to not request a return receipt. The default value is False.

Example
This example sends the active workbook to a single recipient.

ActiveWorkbook.SendMail recipients:="Jean Selva"
mafo
Utente Junior
 
Post: 26
Iscritto il: 09/05/06 14:18

Postdi Anthony47 » 08/03/07 15:26

Provare e riprovare...
1- inserisci per prova questa istruzione in testa alla tua macro e controlla se il msgbox segnala "1".
2- leggi questo articolo Microsoft e vedi se quanto segnala (modificare WIN.INI) e' applicabile al tuo caso:
http://support.microsoft.com/kb/296396/en-us

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi cassioli » 08/03/07 16:02

Anthony47 ha scritto:La risposta e’ SI: da vba viene attivato non Outlook ma il "programma predefinito di posta", che nel tuo caso immagino sia Lotus Notes.
Ciao.

puoi anche non usare nè lotus nè outlook, ma il motore interno di windows, CDONT e CDOSYS (a seconda della versione di windows; CDOSYS è piu' recente):
CDONT
CDOSYS

Io faccio cosi' in Access97 sotto Win2000:
Codice: Seleziona tutto
[...]
    Set CDO_Mail = CreateObject("CDO.Message")
    Set CDO_Conf = CreateObject("CDO.Configuration")
   
    With CDO_Conf
        ' Server SMTP di uscita
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxxxxxxxxxxxxxxx"
       
        ' Porta SMTP
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
       
        ' Porta CDO
        .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
       
        ' Timeout
        .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
       
        .Fields.Update
    End With
   
    ' Assegna le configurazioni
    Set CDO_Mail.Configuration = CDO_Conf
   

    With CDO_Mail
          .To = dest
          .subject = subject
          .Textbody = body
          .From = "xxxxxxxxxxxxxxxxxxxx"
    End With
    On Error GoTo err_handl:
    CDO_Mail.SEND
    GoTo ok:
[...]
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi Anthony47 » 08/03/07 18:30

Anthony47 ha scritto:1- inserisci per prova questa istruzione in testa alla tua macro e controlla se il msgbox segnala "1".

Quale istruzione???
Codice: Seleziona tutto
MsgBox (Application.MailSystem)

...ovviamente.

Ciao!
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi _Albus! » 10/05/07 15:04

ciao
utilizzando CDO, come posso inserire in una mail un'immagine ma non come allegato?

grazie
Ciao
_Albus!
Newbie
 
Post: 1
Iscritto il: 10/05/07 14:59


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Gestione invio e-mail":


Chi c’è in linea

Visitano il forum: papiriof e 42 ospiti