У вас есть два варианта на выбор:
Вариант 1: раннее связывание
Чтобы использовать раннее связывание, вам нужно установить ссылку на:
Microsoft Outlook ##.# Object Library
Что можно сделать в VBE> Инструменты> Ссылки. Я предполагаю, что этот метод вы предпочитаете из-за того, как вы уже объявили свои переменные.
Проблема в вашем коде, использующем этот метод, заключается в том, что в операторе Dim xxxx As Application
, As Application
ссылается на объектную модель Excel . Вам нужно указать, что вы хотите использовать Outlook.
Sub CreateEmailfromTemplate()
Dim obApp As New Outlook.Application '<-- Notice Change
Dim NewMail As Outlook.MailItem
Set NewMail = obApp.CreateItemFromTemplate("F:\Folder1\Automation\EmailTemplates\TEST TEST.oft")
NewMail.Display
End Sub
Вариант 2: Позднее связывание
Вам не нужно устанавливать ссылку в этом методе, но типы и константы Outlook не будут доступны во время компиляции. Компилятор получит их во время выполнения.
Sub CreateEmailfromTemplate()
Dim obApp As Object
Dim NewMail As Object
Set obApp = CreateObject("Outlook.Application")
Set NewMail = obApp.CreateItemFromTemplate("F:\Folder1\Automation\EmailTemplates\TEST TEST.oft")
NewMail.Display
End Sub
Обратите внимание, что в этом методе объекты Outlook были объявлены как тип Object
.