[Resolu][VBA]recuperer les titres et n° de chapitre d'un document word

recuperer les titres et n° de chapitre d'un document word [Resolu][VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 04-05-2004 à 16:49:36    

bonjour,
je cherche a recuperer les titres et surtout les numero des titres d'un document word pour ensuite les ecrire dans en base de données
 
Alors pour recupere les titres je fait comme ça

Code :
  1. Selection.GoTo What:=wdGoToHeading, Which:=wdGoToNext, Count:=1, Name:=""
  2.     Selection.Find.ClearFormatting
  3.     With Selection.Find
  4.         .Text = ""
  5.         .Replacement.Text = ""
  6.         .Forward = True
  7.         .Wrap = wdFindContinue
  8.         .Format = False
  9.         .MatchCase = False
  10.         .MatchWholeWord = False
  11.         .MatchWildcards = False
  12.         .MatchSoundsLike = False
  13.         .MatchAllWordForms = False
  14.     End With
  15.     Selection.EndKey Unit:=wdLine, Extend:=wdExtend
  16.     Selection.Copy


mais je ne sais pas recuperer les numero de façon explicite, et egalement je n'arrive pas a boucler sur le code du haut pour parcourir tout mon document de manière automatique quel que soit le nombre de titre et sous titre qu'il contient.
si quelqu'un a deja fait ce genre de chose ou a une idée je suis preneuse.
Merci


Message édité par titounne le 06-05-2004 à 14:05:09

---------------
Des images
Reply

Marsh Posté le 04-05-2004 à 16:49:36   

Reply

Marsh Posté le 05-05-2004 à 14:42:04    

alors pour recupere les numeros de chapitre je n'ai pas trouver de fonction directe.  
La fonction outLineLevel donne la "profondeur" du tritre, si c'est un itretre 1, 2 ou autre  
et la fonction listValue donne le dernier numero du tritre (ex pour 1.2.5.4 donne 4)  
par contre apres il faut reconstruire le numero en entier.  
 
quand au fait que je doit boucler sur tt le document la je ne sais pas trop comment faire.  
Peut etrer avec range


Message édité par titounne le 05-05-2004 à 14:51:39

---------------
Des images
Reply

Marsh Posté le 06-05-2004 à 12:21:29    

bon ben voila comme ça ça marche

Code :
  1. Sub showNumbers()
  2.    
  3.     Dim objPara As Paragraph
  4.     Dim sText As String
  5.     Dim sList As String
  6.     Dim nLevel As Integer
  7.     For Each objPara In ActiveDocument.Paragraphs
  8.         With objPara.Range
  9.             sText = .Text
  10.             sList = .ListFormat.ListString
  11.             nLevel = .ListFormat.ListLevelNumber
  12.             MsgBox "Text = " & sText & _
  13.                 "List = " & sList & " Level = " & nLevel
  14.         End With
  15.     Next
  16. End Sub


 
Mon probleme est maintenant de srtocker les resultat dans un document word (ou txt ou excel)


---------------
Des images
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed