OVH Cloud OVH Cloud

VB5 + Word2000 : Chercher un chaine dans le document ?

3 réponses
Avatar
{{ olivier }}
Bonjour

comment parser un document word, repérer des mots clés ex:
@TOTO ou @TITI

ensuite en fontion de chaque mot clé, le remplacer par une valeur.
Je suis en Vb5 avec Word2000

le début du code :
Dim oW, oDoc
Set oW = CreateObject("word.application")
Set oDoc = oW.Documents.Open("c:\doctest.doc")

'Ici, quel est le code ?

oW.Visible = True
Set oDoc = Nothing
Set oW = Nothing

J'ai chercher sur le net, mais maintenant tous les exemples sont en .NET
:-((

Merci
Olivier

3 réponses

Avatar
Gloops
Salut,

As-tu regardé dans l'aide de Word ? Il y a un objet Find.

ça va donc donner quelque chose comme
With ow.Find
End With

Entre les deux il faut regarder, je n'ai plus la version 2000 sous la
main, et il y a plein d'arguments, le mieux c'est d'enregistrer une
macro avec une recherche.

De mémoire je dirais bien qu'il y a une propriété Text qui dit quoi
chercher et une méthode Execute qui dit au boulot. Mais il faut
réinitialiser le reste sinon ça donne un résultat bancal. Copier une
macro enregistrée fonctionne très bien (en n'oubliant pas de préfixer
correctement dans le cas d'un appel depuis une autre application).
_____________________________________________
{{ olivier }} a écrit, le 12/10/2004 12:15 :

Bonjour

comment parser un document word, repérer des mots clés ex:
@TOTO ou @TITI

ensuite en fontion de chaque mot clé, le remplacer par une valeur.
Je suis en Vb5 avec Word2000

le début du code :
Dim oW, oDoc
Set oW = CreateObject("word.application")
Set oDoc = oW.Documents.Open("c:doctest.doc")

'Ici, quel est le code ?

oW.Visible = True
Set oDoc = Nothing
Set oW = Nothing

J'ai chercher sur le net, mais maintenant tous les exemples sont en .NET
:-((

Merci
Olivier




Avatar
{{ olivier }}
J'ai trouvé !

Pour infos :

Dim oW As Object
Set oW = CreateObject("Word.Application")
oW.Documents.Open "c:test2000.doc"
Dim sValue as String
With oW
With .ActiveDocument
For I = 1 To .Bookmarks.Count - 1
sValue = ""
Select Case .Bookmarks(I).Name
Case "NOM"
sValue = "DUPONT"
Case "PRENOM"
sValue = "Marc"
Case "SEXE"
sValue = "Garçon"
End Select

.Bookmarks(I).Select
oW.Selection.InsertAfter sValue
Next I
' .printout ' imprime le doc directement

End With
.Visible = True
' .Quit ' ferme Word
End With

Set oW = Nothing





"{{ olivier }}" a écrit dans le message de news:

Bonjour

comment parser un document word, repérer des mots clés ex:
@TOTO ou @TITI

ensuite en fontion de chaque mot clé, le remplacer par une valeur.
Je suis en Vb5 avec Word2000

le début du code :
Dim oW, oDoc
Set oW = CreateObject("word.application")
Set oDoc = oW.Documents.Open("c:doctest.doc")

'Ici, quel est le code ?

oW.Visible = True
Set oDoc = Nothing
Set oW = Nothing

J'ai chercher sur le net, mais maintenant tous les exemples sont en .NET
:-((

Merci
Olivier




Avatar
Gloops
Eh bien ... on dirait que je n'avais pas compris la question.