Mise à jour automatique des index
Outdated translations are marked like this.
TDF LibreOffice Document Liberation Project Blogs communautaires Weblate Nextcloud Redmine Ask LibreOffice Donner
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 (
▸ ▸ ▸ ) 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
▸ , etc). Et maintenant vous insérez une TDM par ▸ ▸ . 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 UpdateIndexes
'''Mettre à jour les index, par exemple pour la table des matières'''
Dim i As Integer
With ThisComponent <span lang="en" dir="ltr" class="mw-content-ltr">' Only process Writer documents</span>
If .supportsService("com.sun.star.text.GenericTextDocument") Then
For i = 0 To .getDocumentIndexes().count - 1
.getDocumentIndexes().getByIndex(i).update()
Next i
End If
End With ' ThisComponent
End Sub ' UpdateIndexes
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import uno
def MettreAJourLesIndex():
"""Mettre à jour les index, par exemple pour la table des matières"""
thisComponent = XSCRIPTCONTEXT.getDocument()
if thisComponent.supportsService("com.sun.star.text.GenericTextDocument"):
count = thisComponent.getDocumentIndexes().getCount()
for i in range(0,count):
thisComponent.getDocumentIndexes().getByIndex(i).update()