Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1304 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Word pile saturée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA Word pile saturée

n°2272268
jpl38
Posté le 25-12-2015 à 15:50:33  profilanswer
 

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 ?

mood
Publicité
Posté le 25-12-2015 à 15:50:33  profilanswer
 

n°2272298
jpl38
Posté le 27-12-2015 à 11:43:14  profilanswer
 

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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Word pile saturée

 

Sujets relatifs
Code VBA trop lentPublipostage Word en PDF avec base de données Excel
Conversion algorithme Python -> VBA (combinaisons de p élém. parmi n)[Résolu] Rechercher une valeur dans une page
reprogrammer des boutons en VBAPiloter un site Web à partir de VBA
[Excel/VBA] Pivot table - Filtrer automatiquement sur une liste d'ID[EXCEL/VBA] Automatiser remplissage de fichier
Insérer des images avec légende dans word 2010 
Plus de sujets relatifs à : VBA Word pile saturée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR