Je crée une macro VBA qui validera un document soumis, mais je n'arrive pas à trouver un moyen de vérifier le niveau hiérarchique du document en tant que entier. Ce dont j'ai besoin, c'est d'un moyen de dire le niveau de contour sélectionné dans le ruban Plan, 1-9 ou Tous les niveaux.Recherche du niveau hiérarchique d'un document Word Office 2010 à l'aide de VBA
Répondre
La propriété .OutlineLevel d'un document Word peut s'appliquer aux objets Paragraph, ParagraphFormat ou Paragraphs Collection. C'est une énumération qui peut prendre les valeurs wdOutlineLevel1 - 9 ou wdOutlineLevelBodyText.
Pour trouver le OutlineLevel du premier alinéa dans le document, utilisez:
Dim currOutlineLevel
With ActiveDocument
currOutlineLevel = .Paragraphs(1).OutlineLevel
End With
Le réglage vous est après un paramètre d'application qui ne sont pas stockées dans le fichier.
Vous pouvez définir un niveau spécifique en utilisant le code VBA suivant:
ActiveWindow.ActivePane.View.Type = wdOutlineView
ActiveWindow.View.ShowHeading 6
Notez que l'appel Paragraphes (x) .OutlineLevel erreurs si elle est appelée avec le doc actif en mode plan qui itérer fait un aperçu Word pour l'exportation plutôt un alésage. Vous devez basculer la vue (qui ne semble pas directement scriptable) puis revenir en arrière. J'espère que cela fera gagner du temps à quelqu'un d'autre ...
J'ai besoin d'un getter, n'importe où dans le modèle objet. Le niveau d'application fonctionne. –
@Donnie H: Pour autant que je sache, ce paramètre n'est ni persistant, ni est possible de récupérer la valeur actuelle en utilisant le modèle objet. Le paramètre sera initialisé pour "afficher le niveau 9" lorsque vous démarrez Word. Le reste dépend de ce que l'utilisateur sélectionne. –