Автоматическое добавление библиотеки объектов VBA - ссылка на VBAProject - PullRequest
0 голосов
/ 06 февраля 2020

Я создал программу для себя и нескольких моих коллег. Одна из функций моей программы запускает макрос, который извлекает данные из листа Excel и открывает заполненное электронное письмо в Outlook.

Чтобы запустить этот макрос, необходимо добавить библиотеку объектов «Библиотека объектов Microsoft Outlook 16.0» ".

Есть ли способ сделать это автоматически, чтобы все мои коллеги могли запустить этот макрос?

Вот код для моего генератора электронной почты.

' -- Drafts an email in Outlook -- '
Public Sub emailDraft()
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim masterWS As Worksheet
Dim masterWB As Workbook
Dim counter As Long

Set objOutlook = Outlook.Application
Set objMail = objOutlook.CreateItem(olMailItem)

Set masterWB = Workbooks("Master.xlsm")
Set masterWS = masterWB.Worksheets("MASTER SHEET")

objMail.To = masterWS.Range("F6").Value
objMail.CC = "test@email.com"
objMail.Subject = masterWS.Range("F7").Value
objMail.Body = masterWS.Range("F8").Value

objMail.Display
End Sub

enter image description here

1 Ответ

2 голосов
/ 06 февраля 2020

Спасибо @Warcupine за понимание.

Я смог решить эту проблему с помощью позднего связывания. Мой обновленный код ниже.

' -- Drafts an email in Outlook -- '
Public Sub emailDraft()
Dim objOutlook As Object    'Outlook.Application
Dim objMail As Object       'Outlook.MailItem
Dim masterWS As Worksheet
Dim masterWB As Workbook
Dim counter As Long

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(olMailItem)

'objOutlook.CreateItem (olMailItem)

Set wb = ThisWorkbook
Set wsMAST = wb.Worksheets("MASTER")

objMail.To = wsMAST.Range("K2").Value
objMail.CC = "test@email.com"
objMail.Subject = wsMAST.Range("k3").Value
objMail.Body = wsMAST.Range("k4").Value

objMail.Display
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...