2010-05-17 2 views
1

Je veux écrire une macro pour Outlook qui est appelée lorsque je clique sur le X. Je veux que le sous-programme Application_Quit() arrête le programme de quitter, puis le réduire à la place. Je peux comprendre la minimisation, mais comment l'empêcher de démissionner?VBA - Arrêter le programme de quitter, réduire à la place

+2

Je connais certains programmes qui font cela, mais c'est toujours une option que l'utilisateur doit activer. Je ne voudrais pas que ce soit une macro dans Outlook. –

Répondre

2

Pas vraiment possible d'empêcher la fermeture. Vous pouvez dire en fonction de la signature de la méthode de l'événement Application_Quit():

Private Sub Application_Quit() 

    End Sub 

Un événement résiliable ressemblera à ceci:

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

    End Sub 

Je recherche autour, et a trouvé une sorte de truc hacky cool, cependant, si vous ne me dérange pas l'effet secondaire qu'Outlook réduit automatiquement lors de son lancement (qui se trouve sur this forum, copié et reformaté):

Trick est d'ajouter une macro qui minimise l'auto-Outlook lorsque il commence:

Appuyez sur Alt-F11 pour accéder à l'éditeur VBA. coller ce sous dans la section "ThisOutlookSession":

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

Maintenant, après le chargement Outlook, il va minimiser. J'utilise aussi ceci suivant pour minimiser au lieu de fermer quand quelqu'un tente de fermer perspectives.

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

Créer C: \ Program Files \ Microsoft Office \ OFFICE11 \ relaunchOL.bat et mettre ces deux lignes: il

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

Cela donnera Outlook un couple de secondes pour fermer, puis relancer lui-même, puis se minimiser sinse ont la macro pour minimiser au démarrage .

+0

HI BradC juste une chose que je veux confirmer de vous ce qui est 1.2.3.4 dans la commande ping, est-ce l'adresse IP de votre machine ?? Plz confirm –

+0

@deepesh: Je suppose que c'est dans le fichier de commandes seulement pour le délai pour que le ping soit terminé. Non, il ne doit pas être une vraie adresse IP, en fait, c'est mieux si ce n'est pas une vraie adresse IP, car cela prend plus de temps pour la résoudre que si elle était réelle (~ 20 secondes vs ~ 5 secondes). – BradC

+0

Salut, BradC merci beaucoup pour la réponse et ça m'a beaucoup aidé. –

Questions connexes