2016-10-12 1 views
0

Je construis un complément Word en utilisant VSTO (en VB) et j'ai un problème assez ennuyeux. Je veux désactiver ScreenUpdating pendant que je supprime tous les contrôles de contenu dans chaque histoire de mon document. Alors je fais ce qui suit:"ScreenUpdating = False" ne fonctionne pas pour les en-têtes/pieds de page

Application.ScreenUpdating = False 

'loop through all open documents 
For Each thisDoc As Word.Document In gbl_docList 

    'loop through all stories in each doc 
    For Each thisStoryRange As Word.Range In thisDoc.StoryRanges 

     thisDoc.Activate() 'active this doc so we can work on it 
     thisStoryRange.Select() 'select the range 

     'remove all Content Controls 
     For Each thisCC As Microsoft.Office.Interop.Word.ContentControl In thisStoryRange.ContentControls 
      thisCC.Delete() 'remove this CC 
     Next 'next CC 

    Next 'next story 

Next 'next doc 

Application.ScreenUpdating = True 

Cependant, chaque fois que les boucles Parole par l'en-tête ou Pied de page des histoires, il commence à ouvrir un panneau en bas de l'écran et indiquant que l'utilisateur qui provoque vacillement gênant. S'il n'y a pas d'en-tête/pied de page, tout fonctionne parfaitement.

QUESTIONS:

  1. Quelqu'un at-il rencontré ce problème? Aucune suggestion?

  2. En tant que solution de rechange, existe-t-il un moyen de minimiser/cacher le document Word dans Word, mais garder la fenêtre Word ouverte? J'ai seulement été capable de trouver des moyens de minimiser/cacher tout de Word.

Répondre

1

Je peux confirmer que, en particulier dans les versions ultérieures d'Office, la mise en ScreenUpdating n'a pas réussi à travailler de différentes façons (vous remarquerez que les contrôles de ruban constamment mettre à jour par exemple de Gras à la normale en fonction du texte sélectionné dans votre procédure, ou comme vous l'avez fait lors du traitement des en-têtes/pieds de page)

J'ai rapporté cela en 2014, et il a été fourni à l'équipe du Bureau mais (pour autant que je l'ai vu) n'a jamais été résolu. J'ai toujours le mail dans mes archives avec le repro et même une vidéo avec ça. Le repro était basé sur le code de démonstration:

https://msdn.microsoft.com/en-us/library/office/ff197438(v=office.15).aspx

La seule alternative est soit Réduire MS Word avant le traitement et la restauration de sa taille lorsque vous avez terminé, ou faire MS Word complètement invisible (vous pouvez afficher une boîte de dialogue lors du traitement avec quelques progrès si c'est une fonctionnalité qui prend du temps) et restaurer la visibilité une fois terminé.