Я пытаюсь заставить Outlook извлечь шаблон почты, который я сохранил в папке «Шаблоны» из кода Excel VBA, но получить код ошибки 438 в строке «Mapp = Application.GetNamespace ...» в функция GetMailTemplate.
Я добавил библиотеку объектов Microsoft Office 16.0 и библиотеку объектов Microsoft Outlook 16.0 в Excel VBAProject
Это мой код:
Sub Email()
Dim AMailItem As Outlook.MailItem
Set AMailItem = GetMailTemplate("Mall Confidential")
With AMailItem
.To = "a.b@c.com"
.Subject = "Email Test using VBA"
.Body = "Test"
.Display
.Send
End With
Set AMailItem = Nothing
End Sub
Function GetMailTemplate(Headline As String) As Outlook.MailItem
Dim Mapp As Outlook.Folder
Dim OutMail2 As Outlook.MailItem
Mapp = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts).Folders("Templates")
For Each OutMail2 In Mapp.Items
Debug.Print OutMail2.Subject 'Print to immediate window
If OutMail2.Subject = Headline Then
Set GetMailTemplate = OutMail2.Copy
Exit Function
End If
Next
End Function