e-mail à partir d'Excel à l'aide de Gmail
J'essaie d'avoir un mail de générer automatiquement après un classeur est enregistré. Je ne veux pas envoyer le classeur dans l'e-mail, juste une notification par courrier électronique à une liste de personnes pour dire qu'il a une nouvelle entrée de sorte qu'ils ont fait pour l'ouvrir et d'y répondre (si je pouvais mettre un lien vers l'emplacement de la feuille de calcul qui fonctionne). Aussi le classeur est "partagé", de sorte que plusieurs personnes peuvent modifier à la fois, donc je ne pense pas qu'il restera "partagé" et de continuer à mettre à jour s'il est téléchargé à partir d'un e-mail. Environ 25 personnes ont accès à cette feuille de calcul et n'importe qui peut saisir/modifier une entrée. En fin de compte, je tiens à envoyer un e-mail uniquement si les données sont saisies/édité dans une colonne spécifique, puis enregistrées.
Mon agence utilise Gmail mais nos adresses e-mail n'ont pas @gmail.com
. Au lieu de cela, nous utilisons notre .gov
adresses e-mail via gmail en quelque sorte. Je ne sais pas si c'est encore pertinent, mais pensé que je le mentionne. J'ai cherché sur plusieurs forums en ligne, mais n'arrive pas à trouver quoi que ce soit.
Personne ne sait de code pour faire cela?
Je suis un novice en VBA et j'ai reçu le mail part pour le travail, mais je veux un e-mail lorsque le classeur est enregistré. C'est le code que j'utilise actuellement:
Sub CDO_Mail_Small_Text()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
' Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxxxxxx"
.Update 'Let CDO know we have change the default configuration for this message
End With
strbody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2" & vbNewLine & _
"This is line 3" & vbNewLine & _
"This is line 4"
With iMsg
Set .Configuration = iConf
.To = "[email protected]"
.CC = ""
.BCC = ""
.From = """name"" <[email protected]>"
.Subject = "test"
.TextBody = strbody
.Send
End With
End Sub
J'obtiens cette erreur
... ou ce site pour
[excel] cdo gmail
.Merci pour les réponses. J'ai édité mon premier post pour y inclure plus d'informations. Toute autre perspective serait grandement apprécié
Ne voulez-vous pas
Sub CDO_Mail_Small_Text()
à l'intérieur de Workbook_BeforeSave
?
OriginalL'auteur niklas24 | 2015-11-09
Vous devez vous connecter pour publier un commentaire.
Bien, j'ai compris que si je mets les variables en dehors de la subs et ensuite appeler le deuxième alinéa, dans le premier alinéa, ainsi que l'ajout dans le .mise à jour pour le .configuration des champs (merci Tim!), il travaille:
OriginalL'auteur niklas24
Je ne vois pas où vous
.update
la.fields
de configuration. Essayez ceci:OriginalL'auteur Tim
Simple Sendkeys solution. Vous devez être connecté pour gmail
{TAB},{TAB}
à{TAB}
. Maintenant, il fonctionne sur mon chrome.OriginalL'auteur Bill McMillan