Подавить диалоговое окно с предупреждением о том, что программа пытается получить доступ к моей почте - PullRequest
2 голосов
/ 12 марта 2009

Я следую коду с этой страницы: Как создать скрипт для мастера правил в Outlook

Вот что у меня есть:

Public Sub GetMails(Item As Outlook.MailItem)

    MsgBox "Mail message arrived: " & Item.SenderEmailAddress
    MsgBox "Mail message arrived: " & Item.Subject
    MsgBox "Mail message arrived: " & Item.Body

End Sub

Я установил правило для запуска этого макроса. Каждый раз, когда запускается этот скрипт, появляется диалог о том, как программа пытается получить доступ к моей почте.

Как избавиться от этого с помощью VBA или в Outlook есть какой-либо параметр конфигурации, чтобы он не отображался?

Я гуглил по этому поводу и нашел несколько сайтов, дающих код для C # и VB.net, но ни одного для VBA.

Ответы [ 3 ]

5 голосов
/ 12 марта 2009

Это было добавлено, чтобы вредоносные скрипты не превращали Outlook в массовую рассылку или другие плохие вещи.

Вы можете отключить это на своей рабочей станции, но если вы хотите распространять свое приложение среди других пользователей, вы можете избавиться от этого только путем создания своего собственного надстройки Outlook или использования стороннего инструмента, такого как Погашение .

1 голос
/ 03 мая 2009

Попробуйте это

Инструменты -> Макрос -> Безопасность -> Безопасность макросов -> Нет безопасности Сервис -> Макрос -> Безопасность -> Программный доступ

Затем выберите Никогда не предупреждать меня о подозрительной активности.

0 голосов
/ 30 июля 2009

Я где-то нашел это, и оно работает:

Sub SaveAttachment(myItem As Outlook.MailItem)

'Удалите вложения из электронной почты и сохраните их в локальная папка Если при сохранении есть ошибки вложения остаются на месте.

Dim myAttachments As Object
Dim myOrt As String
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim oMail As Outlook.MailItem
Dim fs As Object

'Нам нужно получить объект почтового элемента из приложения 'объект, чтобы избежать предупреждений

strID = myItem.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set oMail = olNS.GetItemFromID(strID)
...