VBA - Мешайте программе выйти, минимизируйте вместо этого

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

1
задан Adam S 17 May 2010 в 21:32
поделиться

1 ответ

Невозможно предотвратить закрытие.Вы можете сказать, основываясь на сигнатуре метода события Application_Quit ():

   Private Sub Application_Quit()

   End Sub

Отменяемое событие будет выглядеть так:

   Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

   End Sub

Я поискал и нашел что-то вроде классного хакерского трюка, если вы не возражаете побочный эффект, который Outlook автоматически минимизирует при запуске (найден на этом форуме , скопирован и переформатирован):

Уловка состоит в том, чтобы добавить макрос, который автоматически сворачивает Outlook при запуске:

Hit Alt-F11, чтобы перейти в редактор VBA. Вставьте эту подпрограмму в Раздел "ThisOutlookSession":

Private Sub Application_Startup()
    SendKeys ("% n") 
End Sub

Теперь после загрузки Outlook он минимизировать. Я также использую этот следующий, чтобы минимизировать, а не закрывать, когда кто-то попытки закрыть мировоззрение.

Private Sub Application_Quit() 
     Call Shell("C:\Program Files\Microsoft Office\OFFICE11\relaunchOL.bat" _
       , vbHide)
End Sub

Создать C: \ Program Files \ Microsoft Office \ OFFICE11 \ relaunchOL.bat и поставить эти две строчки в нем:

Ping 1.2.3.4 -n 1 
"C:\Program Files\Microsoft Office\OFFICE11\outlook.exe"

Это даст Outlook пару секунд, чтобы закрыть, затем перезапустить себя, то минимизируйте себя за вас есть макрос для минимизации в запускать.

2
ответ дан 3 September 2019 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: