Buduję dodatek programu Excel, który wysyła aktywny skoroszyt jako załącznik w szablonie wiadomości e-mail programu Outlook do określonej grupy kontaktów.Jak uzyskać dostęp do grup kontaktów w programie Excel VBA?
Otrzymałem dwie pierwsze części do pracy z poniższym kodem, ale nie jestem pewien, jak ustawić pole .TO
do grupy kontaktów.
Public Sub Mail_Reports()
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
'Set this line to the path and file name of your template
Set OutMail = OutApp.CreateItemFromTemplate("C:\Users\moses\AppData\Roaming\Microsoft\Templates\test.oft")
On Error Resume Next
With OutMail
'.TO field should be set to the contact group
.BCC = ""
.Attachments.Add ActiveWorkbook.FullName
.HTMLBody = Replace(OutMail.HTMLBody, strOldPeriod, strNewPeriod)
.Subject = Replace(OutMail.Subject, strOldPeriod, strNewPeriod)
'To display the email leave as is; to send the Email, change to .Send
.Display 'or Send
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Zignoruj to, działa. Moje zamieszanie polegało na tym, że mimo że pole to stanowiło wartość prostego tekstu, Outlook jest na tyle sprytny, że rozpoznaje go jako grupę kontaktową. Miałem odpowiedź od samego początku, ale nie znałem XD. – Moses
Zauważyłem również, że nie wydaje się, aby rozwiązać i powinien wspomnieć o tym w mojej odpowiedzi. Jeśli trafisz w "Sprawdź nazwę", to tak się stanie, a jak się dowiedzieliśmy, nawet jeśli nie, wysyła się dobrze. –
Hej, stary, wiem, ale ten link jest zepsuty - czy mógłbyś umieścić tutaj odpowiedni fragment odpowiedzi Rona - zakładając, że wciąż go masz? – Huw