|
auteur : Lebeau Olivier |
La macro suivante va parcourir les signets (Bookmark) d'un document et les inscrire dans un nouveau document.
|
Public Sub listbookmark ()
Dim stTableau As String
Dim bm As Bookmark
For Each bm In ActiveDocument. Bookmarks
stTableau = stTableau & amp; vbCrLf & amp; bm. Name
Debug. Print stTableau
Next bm
Application. Documents . Add
Selection. TypeText stTableau
End Sub
|
|
|
auteur : Lebeau Olivier |
La macro ci-dessous vous permet de récupérer le code et la valeur des champs de votre document et de l'insérer dans un nouveau document
|
Public Sub listchamps ()
Dim stTableau As String
Dim ch As Field
For Each ch In ActiveDocument. Fields
stTableau = stTableau & amp; vbCrLf & amp; ch. Code & amp; " - " & amp; ch. Result
Debug. Print stTableau
Next ch
Application. Documents . Add
Selection. TypeText stTableau
End Sub
|
|
|
auteur : SilkyRoad |
Nécessite d'activer la référence "Microsoft Word xx.x Object Library".
Ecrire un texte dans un champ personnalisé :
vba |
WordDoc. Fields (1 ). Result . Text = " essai d'ecriture dans champ Word "
|
Lire le texte d'un champ personnalisé :
vba |
MsgBox WordDoc. Fields (1 ). Result . Text
|
|
|
auteur : bidou |
On utilise la méthode Add de la collection TableOfContents
Set objDoc = Application.Documents.Open("D:\tuto.doc")
objDoc. TablesOfContents . Add _
Range:= objDoc. Range (objDoc. Paragraphs (2 ). Range . Start , objDoc. Paragraphs (2 ). Range . Start ), _
UseHeadingStyles:= True , _
LowerHeadingLevel:= 4 , _
UpperHeadingLevel:= 1
|
Faite très attention à ne pas sélectionner de texte car celui-ci serait écrasé.
|
|
auteur : bidou |
On appelle la méthode collapse de la sélection avant l'insertion
selection. Collapse Direction:= wdCollapseEnd
With ActiveDocument. Bookmarks
. Add Range:= Selection. Range , Name:= " Nom "
. DefaultSorting = wdSortByName
. ShowHidden = True
End With
|
|
|
auteur : bidou |
Il y a toujours destruction d'un signet portant sur une plage. Le signet fait partie de la plage.
Dim objRange As Range
Set objRange = ActiveDocument. Bookmarks . Item (" genre " ). Range
objRange. Text = " madame "
|
Le signet 'genre' est détruit dans cette opération.
Il faut toujours recréer le signet après, du style
ActiveDocument. Bookmarks (" genre " ). Range . Select
Selection. Text = " Madame "
objRange. Bookmarks . Add " genre "
|
Pour éviter cela, il vaut mieux utiliser des signets d'insertion (défini sur un point)
|
|
auteur : SilkyRoad |
Nécessite d'activer la référence "Microsoft Word xx.x Object Library" :
L'exemple ci-dessous permet d'exporter les valeurs des cellules A1 à A3 vers des signets d'un document Word nommé "monfichier.doc"
Les signets positionnés aux endroits de votre choix doivent être nommés "Signet1 , Signet2 et Signet3
Dim WordApp As Word. Application
Dim WordDoc As Word. Document
Dim i As Byte
Set WordApp = CreateObject (" word.application " )
Set WordDoc = WordApp. Documents . Open (" monDocument.doc " )
WordApp. Visible = False
For i = 1 To 3
WordDoc. Bookmarks (" Signet " & amp; i). Range . Text = Cells (i, 1 )
Next i
WordApp. Visible = True
|
|
|
auteur : bidou |
On utilise la méthode Add de la collection Hyperlinks
Dim objDoc As Document
Set objDoc = Application. Documents . Open (" D:\tuto.doc " )
objDoc. Hyperlinks . Add objDoc. Paragraphs (1 ). Range . Words (objDoc. Paragraphs (1 ). Range . Words . Count ), " d:\pilo.doc "
|
|
|
auteur : Lebeau Olivier |
Le code qui suit vous permet d'afficher et d'imprimer la liste des hyperliens contenus dans un document avec leur adresse.
Public Sub listehyperliens ()
Dim stTableau As String
Dim ch As Field
For Each ch In ActiveDocument. Fields
If ch. Type = wdFieldHyperlink Then
stTableau = stTableau & amp; vbCrLf & amp; ch. Result & amp; " - " & amp; ch. Code
Debug. Print stTableau
End If
Next ch
ActiveDocument. Content . InsertBreak Type:= wdPageBreak
Selection. InsertParagraph
Selection. TypeText stTableau
End Sub
|
|
Consultez les autres F.A.Q.
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2009 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.