Comment faire pour forcer l'éditeur VBA pour entrer en mode pause à chaque fois que le code est appelé?

Je voudrais être en mesure d'activer/désactiver l'option pour passer en mode arrêt à chaque fois que mon code VBA est appelé. La seule façon que je sais faire c'est définir des points d'arrêt à tous les "points d'entrée" dans le code ou ont littéralement chacune de ces méthodes appel d'une fonction distincte aux fins de débogage.

Les "points d'entrée" est peut-être le clic sur un bouton ou une feuille de calcul événements et il ya un bon nombre d'entre eux.

Par exemple, je pourrais faire:

Private Sub bt1Click()
    callThisOnEveryMethod
    'other code
End Sub
Private Sub bt2Click()
    callThisOnEveryMethod
    'other code
End Sub
'etc, repeat 100 times
Private Sub callThisOnEveryMethod()
    'set breakpoint on this method
End Sub

Ce n'est pas vraiment idéal car je suis selon moi, en ajoutant que pour chaque méthode et chaque méthode. Je n'ai pas vraiment confiance en moi-même pour obtenir 100% de cette façon et c'est beaucoup d'encombrement à des fins de débogage. Je peux ajouter un autre code, ici aussi, et même de l'envelopper dans un if MY_GLOBAL_DEBUG_BOOLEAN then type de déclaration, mais j'ai encore besoin d'ajouter ce code (ou l'appel de la méthode) pour chaque méthode que j'ai écris qui pourrait commencer VBA exécution.

Imaginer que je pourrais avoir 100 les méthodes qui pourraient être le début de l'exécution de code VBA.

Il n'est pas idéal pour installer et supprimer des points d'arrêt sur CHAQUE méthode à chaque fois que je veux le faire, soit parce que le nombre d'activer/désactiver.

Ce que je voudrais, c'est à dire VBA en quelque sorte "à chaque fois que vous démarrez l'exécution de code, immédiatement pause et aller en mode debug, indépendamment de points d'arrêt, des assertions, et sans exiger de chaque méthode pour avoir beaucoup de code supplémentaire."

Est-ce possible?

@Jean-François_Corbett dit pourquoi voudriez-vous faire cela? Ce pourrait être un XY Problème (meta.stackexchange.com/questions/66377/what-is-the-xy-problem), ce qui signifie qu'il ya une meilleure façon de résoudre votre problème(s) que votre solution proposée.

OriginalL'auteur enderland | 2013-11-05