Outlook BCC, приглашение VBA не запускается автоматически

330
Jeroen Bulten

Я все еще довольно новичок в VBA (извините, если это глупый вопрос), хотя я уже несколько лет пишу небольшие приложения для кнопок вроде Excel или чего-то подобного. Но этот никогда не был понятен мне; Я хочу реализовать эту функцию подсказки BCC в автоматическом цикле для Outlook. Когда я запускаю макрос, он работает нормально, пока я не перезапущу Outlook. Почему я должен снова и снова активировать этот макрос при запуске Outlook? Я поместил его в ThisOutlooksession, включил все макросы (кстати; нужно ли это включать всегда? Мне кажется небезопасным), но безуспешно. Если бы кто-то мог мне помочь, это было бы здорово! Заранее спасибо.

Public WithEvents myOlApp As Outlook.Application  Public Sub Initialize_handler() Set myOlApp = CreateObject("Outlook.Application")   End Sub  Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)   Dim prompt As String prompt = "The BCC Field is empty!"    If Item.BCC = "" Then   If msgbox(prompt, vbYesNo + vbQuestion, "BCC Field") = vbNo Then Cancel = True End If End If  End Sub 
0

2 ответа на вопрос

1
niton

Для автоматического запуска Initialize_handler:

Private Sub Application_startup() Initialize_handler End Sub 

Вы можете упростить с:

Private Sub Application_startup() Set myolApp = CreateObject("Outlook.Application") End Sub 

Вы можете упростить, отбросив весь свой код и используя вместо этого:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)  Dim prompt As String prompt = "The BCC Field is empty!"  If Item.BCC = "" Then If MsgBox(prompt, vbYesNo + vbQuestion, "BCC Field") = vbNo Then Cancel = True End If End If  End Sub 
0
thims

Используйте Application_Startup()вместо Initialize_handler().