Mise à jour automatique des index

From The Document Foundation Wiki
< Macros‎ | Writer
Jump to: navigation, search
This page is a translated version of the page Macros/Writer/006 and the translation is 100% complete.

Other languages:
English • ‎français

Description

Les modifications apportées dans un document ne sont pas automatiquement répercutées dans les index, en particulier la table des matières. Il peut arriver que les documents soient transmis avec des liens incorrects.

Cette macro met à jour automatiquement les index. Il est possible d'associer le lancement de cette macro à l'événement Enregistrer le document via (Outils ▸ Personnaliser ▸ Événements ▸ Enregistrer le document) afin que la mise à jour soit automatique lorsque le document est enregistré.

Par exemple pour la table des matières, imaginez que vous avez créé un document avec différents en-têtes (qui sont assignés par clic droit et Paragraphe ▸ Titre 1, etc). Et maintenant vous insérez une TDM par Insérer ▸ Table des matières et Index ▸ Table des matières, Index ou Bibliographie.... Ensuite, si vous ajoutez d'autres en-têtes, vous pouvez mettre à jour la TDM en exécutant simplement cette macro.

Code

Option Explicit

Sub MettreAJourLesIndex()
    '''Mettre à jour les index, par exemple pour la table des matières'''

If ThisComponent.supportsService("com.sun.star.text.GenericTextDocument") Then
    For i = 0 To ThisComponent.getDocumentIndexes().count - 1
        ThisComponent.getDocumentIndexes().getByIndex(i).update()     
    Next i
End If

End Sub ' MettreAJourLesIndex