VBA Word pile saturée

VBA Word pile saturée - VB/VBA/VBS - Programmation

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 :

Code :
  1. Sub FormattingPane()
  2.    Application.TaskPanes(wdTaskPaneFormatting).Visible = True
  3. End Sub


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 :  

Code :
  1. Sub VoletStyles()
  2.    Application.TaskPanes(wdTaskPaneFormatting).Visible = True
  3. End Sub


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 ?

Reply

Marsh Posté le 25-12-2015 à 15:50:33   

Reply

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 :
  1. Sub FormattingPane()
  2.     MsgBox "coucou" 
  3. End Sub
  4. Sub Volet()
  5.     Application.TaskPanes(wdTaskPaneFormatting).Visible = True
  6. End Sub


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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed