Réglage de la taille de la police d'un signet est straight-forward dans VBA:
Dim doc As Document
Const MultiSelection As Long = 9999999
Set doc = Application.ActiveDocument
If doc.Bookmarks.Exists("myBookmark") Then
If doc.Bookmarks("myBookmark").Range.Font.Size = MultiSelection Then
' the range of the bookmark consists of runs with different font sizes
doc.Bookmarks("myBookmark").Range.Font.Size = 12
Else
doc.Bookmarks("myBookmark").Range.Font.Size _
= doc.Bookmarks("myBookmark").Range.Font.Size + 4
End If
End If
probablement une meilleure option si vous voulez augmenter la taille de police proportionnelle, est d'utiliser Font.Grow
ce qui augmentera la taille de police la prochaine taille disponible, par exemple Pour obtenir de 8 à 12, il faudrait l'appeler 4 fois.
If doc.Bookmarks.Exists("myBookmark") Then
For i = 1 To 4
doc.Bookmarks("myBookmark").Range.Font.Grow
Next
End If
Si vous n'êtes pas familier avec le modèle objet de Word, une astuce consiste à utiliser l'enregistreur de macros. Dans votre cas, démarrez l'enregistreur, ouvrez la boîte de dialogue des signets, accédez au signet, puis modifiez la taille de la police. Les actions enregistrées seront enregistrées en tant que module dans votre fichier Normal.dot par défaut. L'action de changer la taille de la police d'un signet se traduirait par la macro enregistrée suivante:
Selection.GoTo What:=wdGoToBookmark, Name:="myBookmark"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.Font.Size = 12
Ce code peut être la base de votre propre fonction (bien qu'il semble un peu différent de l'exemple ci-dessus, l'effet être le même).
impressionnant, je l'apprécie vraiment. – RiddlerDev