Commander word a partir d'excel

Fermé
coldfuneral Messages postés 1 Date d'inscription jeudi 13 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007 - 13 déc. 2007 à 10:51
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 - 13 déc. 2007 à 17:02
Bonjour,
voici une partie de mon programme :

Sub Traitement()

Dim AppWord As Object
Dim Chemin As String
Dim Nom As String

Chemin = ThisWorkbook.Path
Nom = Sheets("Locaux").Range("B1").Value

Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True
AppWord.documents.Open Filename:=Chemin & "\" & Nom & ".txt"

AppWord.Selection.Find.ClearFormatting
AppWord.Selection.Find.Replacement.ClearFormatting
With AppWord.Selection.Find
.Text = "CLEAR"
.Replacement.Text = "ADD"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = True
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
AppWord.Selection.Find.Execute Replace:=wdReplaceAll
AppWord.Activedocument.Save
AppWord.Quit
Set AppWord = Nothing

End Sub


et voici ce que je veux faire : ouvrir un fichier *.txt avec word dont le nom se trouve dans une cellule dans excel. puis rechercher le texte CLEAR et le remplacer par ADD.

problème 1 : word s'ouvre et se ferme bien, aucune erreur pendant l'execution ...... mais il ne se passe rien !! le texte n'est pas remplacé :(

problème 2 : en fait je ne veux pas remplacer CLEAR par ADD mais je veux suprimer tous les caractères " (guillemets). je voudrais donc faire une recherche de " et les remplacer par rien du tout.
quand on le fait dans word à la main, ca marche très bien. le problème c'est que dans le code de la macro excel, excel complète automatiquement les instructions (et ce meme en désactivant l'option ????) et donc lorsque je veut remplacer des guillemets je devrait mettre .Text = """ a la place de .Text = "CLEAR" mais excel rajoute un guillemet et je me retrouve avec .Text = """"

si vous avez une solution, je suis preneur

PS : j'ai vu pas mal de gens qui font

Set AppWord = New Word.Application
a la place de
Set AppWord = CreateObject("Word.Application")

mais chez moi ca ne marche pas, il me dit objet non défini :(

voila

bonne journée
A voir également:

1 réponse

phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
13 déc. 2007 à 17:02
t'aurais pas un plus grand monstre que ça ?

pour remplacer des caractères dans un fichier texte on lit le texte dans une variable et puis en fait

Replace(MyText, TextToFind, ReplacementText)

et voilà.

Diable, de faire ça avec Word, ça j'appelle OVERKILL
0