Bonjour
Je remercie par avance les spécialistes du pilotage de word par vb.
Je cherche a créer un document word , a y inserer des signets.
Pour l'instant, j'ai créé une fonction qui me crée bien un fchier word. le seul souci, c'est que word se plante en l'ouvrant.
Je me suis inspiré des exemples de la FAQ pour tenter cette approche, mais apparement, Word ne m'aime pas et je le lui rends bienmais bon, il faut que je le fasse
voici mon code tel qu'il est actuellement
Il s'agit de creer plusieurs signets NomTable_NomChamps , il y a trois tables ouvertes (en dao mais je ne pense pas que ce soit le problème)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Private Sub CreateWordDocSignets(FileName As String) Dim NumTable As Integer Dim objWord As New Word.Application Dim docWord As Word.Document Dim iPnt As Integer Dim Signet As String Dim Value As Variant Dim BkMark As Word.Bookmark objWord.Visible = False '-- ne pas montrer l'application Word Set docWord = objWord.Documents.Add 'pour chacune des trois tables For NumTable = 0 To 2 For iPnt = 0 To Rs(NumTable).Fields.Count - 1 Signet = Rs(NumTable).Fields(iPnt).Name 'recuperer un nom unique Signet = Replace(Signet, " ", "") 'retirer les blancs Signet = SuprAccents(Signet) 'remplacer les caracteres accentués par leur version non accentuée 'ajouter le nom de la table devant Select Case NumTable Case 0 Signet = "Dicteur_" & Signet Case 1 Signet = "Secretaire_" & Signet Case 2 Signet = "Client_" & Signet End Select Value = Signet 'pour test Set BkMark = docWord.Bookmarks.Add(Signet) BkMark.Range.Text = Value Next Next docWord.SaveAs FileName:=FileName Set docWord = Nothing '-- détruire l'objet Document Set objWord = Nothing '-- détruire l'objet Word End Sub
Et encore, je n'ai pas même evoqué le positionnement des bookmarks.
Encore merci à ceux qui pourront m'aiguiller dans une direction qui plaira davantage a wordet aux autres aussi d'ailleurs
![]()
Partager