Я пытаюсь повторно настроить базовый рабочий лист для отправки обновлений по электронной почте при изменении этого листа. Ничего страшного, верно? Первоначально я просто делал следующее:
Dim oApp As Outlook.Application
Dim oMail As Outlook.MailItem
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(0)
Однако недавно мы перешли на Cylance для обеспечения безопасности сети, и он не позволит ActiveX создавать новые объекты. Мое решение состояло в том, чтобы просто использовать существующий экземпляр Outlook и позволить пользователям знать, что их Outlook уже должен быть открыт, поэтому я изменил код следующим образом:
Dim oApp As Outlook.Application
Dim oMail As Outlook.MailItem
Set oApp = GetObject(, "Outlook.Application")
Set oMail = oApp.CreateItem(0)
Это происходит сбой во время выполнения с ошибкой 13 несоответствия типов в строке GetObject, и я очень запутался. Я уверен, что это связано с Cylance, потому что я тестировал код вне сетевой среды, и он отлично работает.
Любая помощь будет принята с благодарностью, TIA.