VBA Word pile saturée - VB/VBA/VBS - Programmation
Marsh Posté le 27-12-2015 à 11:43:14
Suite à mon message d'hier, j'ai fait des tests.
J'écris les deux procédures suivantes dans un même module :
Code :
|
Si je lance Volet, la boîte de message "coucou" s'affiche, mais pas la fenêtre des styles.
Si je désactive l'instruction MsgBox "coucou", rien ne se passe, la fenêtre des styles ne s'affiche pas.
Si je désactive la procédure FormattingPane, la procédure Volet affiche bien la fenêtre des styles.
Il semblerait donc que l'instruction " Application.TaskPanes(wdTaskPaneFormatting).Visible = True" lance en sous main une mystérieuse procédure "FormattingPane", qui elle même provoque l'affichage de la fenêtre des styles.
Si j'écris une procédure "FormatingPane" dans l'éditeur VB, je modifie le comportement par défaut de "FormattingPane", qui ne provoque plus l'affichage de la fenêtre des styles. Bref, je n'y comprends rien, ma "culture" informatique est trop limitée. Où se cache cette procédure FormattingPane ?
Le même phénomène se produit en Word 2003.
Marsh Posté le 25-12-2015 à 15:50:33
Bonjour
Sous Word 2010, je cherche à faire apparaitre la fenêtre Styles en utilisant VBA.
L'aide VBA (Référence du modèle objet Word, objet TaskPane) fournit le code suivant :
Quand je lance cette macro, j'obtiens le message "Espace pile insuffisant".
Le fenêtre "pile des appels" montre que la procédure FormattingPane est appelée en cascade.
Cela me fait penser à un appel récursif.
Maintenant , si je change le nom de la procédure, qui devient :
le problème disparait et j'obtiens bien l'affichage de la fenêtre styles.
Quelqu'un a-t-il une explication sur ce comportement ?