Erreur "la méthode 'replacement' de l'objet 'find' a échoué"
2 réponses
a.iffly
Bonjour,
j'ai un programme VB6 qui tourne correctement sur un PC, mais affiche
une erreur sur un autre PC ("la m=E9thode 'replacement' de l'objet
'find' a =E9chou=E9").
L'erreur a lieu sur la
ligne .Selection.Find.Replacement.ClearFormatting du code ci-dessous
(extrait).
Les configurations des 2 PC sont similaires (m=EAme versions d'OS et
Office).
Quelqu'un peut-il m'aider ?
Merci
---------------------------------------------------------------------------=
----------------------------------------------
Global Word_Application As Word.Application
Global docword As Word.Document
Public Sub generate_doc(ByVal Text As String)
' remplacement des valeurs des variables dans le doc
' variables en entree
' Text =3D nom du template =E0 utiliser
' Doc word is being created
Set Word_Application =3D New Word.Application
Set docword =3D Word_Application.Documents.Open(repertory & "Template\"
& Text)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-marc
wrote:
Bonjour, j'ai un programme VB6 qui tourne correctement sur un PC, mais affiche une erreur sur un autre PC ("la méthode 'replacement' de l'objet 'find' a échoué"). L'erreur a lieu sur la ligne .Selection.Find.Replacement.ClearFormatting du code ci-dessous (extrait). Les configurations des 2 PC sont similaires (même versions d'OS et Office). Quelqu'un peut-il m'aider ? Merci
Hello,
Chez moi ça fonctionne, en tout cas pas d'erreur sur la ligne signalée. J'ai recréé le projet en ajoutant simplement une référence à Microsoft Word 10.0 Object Library.
- Les 2 machines ont elles les même "Local Settings" (français vs anglais par exemple) ?
- Sinon voir éventuellement cet article de notre FAQ, pour faire des essais: http://faq.vb.free.fr/index.php?question4
Bonjour,
j'ai un programme VB6 qui tourne correctement sur un PC, mais affiche
une erreur sur un autre PC ("la méthode 'replacement' de l'objet
'find' a échoué").
L'erreur a lieu sur la
ligne .Selection.Find.Replacement.ClearFormatting du code ci-dessous
(extrait).
Les configurations des 2 PC sont similaires (même versions d'OS et
Office).
Quelqu'un peut-il m'aider ?
Merci
Hello,
Chez moi ça fonctionne, en tout cas pas d'erreur sur la ligne signalée.
J'ai recréé le projet en ajoutant simplement une référence à
Microsoft Word 10.0 Object Library.
- Les 2 machines ont elles les même "Local Settings" (français vs anglais
par exemple) ?
- Sinon voir éventuellement cet article de notre FAQ, pour faire des essais:
http://faq.vb.free.fr/index.php?question4
Bonjour, j'ai un programme VB6 qui tourne correctement sur un PC, mais affiche une erreur sur un autre PC ("la méthode 'replacement' de l'objet 'find' a échoué"). L'erreur a lieu sur la ligne .Selection.Find.Replacement.ClearFormatting du code ci-dessous (extrait). Les configurations des 2 PC sont similaires (même versions d'OS et Office). Quelqu'un peut-il m'aider ? Merci
Hello,
Chez moi ça fonctionne, en tout cas pas d'erreur sur la ligne signalée. J'ai recréé le projet en ajoutant simplement une référence à Microsoft Word 10.0 Object Library.
- Les 2 machines ont elles les même "Local Settings" (français vs anglais par exemple) ?
- Sinon voir éventuellement cet article de notre FAQ, pour faire des essais: http://faq.vb.free.fr/index.php?question4
Les 2 machines ont le même local setting. J'utilise Office 2000, donc c'est MSWORD9.OLB qui est utilisé en référence pour moi.
J'ai testé une variante du code :
--------------------------------------------------------------------------- --------------- Global Word_Application As Word.Application Global docword As Word.Document
Public Sub generate_doc(ByVal Text As String) ' remplacement des valeurs des variables dans le doc ' variables en entree ' Text = nom du template à utiliser
' Doc word is being created
Set Word_Application = CreateObject("Word.Application") Set docword = Word_Application.Documents.Open(repertory & "Template" & Text)
Public Sub replace_results(ByVal stringresults As String, ByVal valueresults As String, ByVal j As Integer)
With docword.Content.Find .ClearFormatting .Text = stringresults With .Replacement .ClearFormatting .Text = Str(FormatNumber((Val(valueresults)), j)) End With .Execute Replace:=wdReplaceAll .Forward = True .Wrap = wdFindContinue End With
End Sub --------------------------------------------------------------------------- ------------------------
Cette fois-ci j'ai un message d'erreur différent, peut-être une piste ? "Erreur automation. L'objet n'est pas connecté au serveur" apparaît sur la ligne .Text = stringresults
Pourtant dans tous les cas mon fichier est ouvert par Word.
Les 2 machines ont le même local setting.
J'utilise Office 2000, donc c'est MSWORD9.OLB qui est utilisé en
référence pour moi.
J'ai testé une variante du code :
--------------------------------------------------------------------------- ---------------
Global Word_Application As Word.Application
Global docword As Word.Document
Public Sub generate_doc(ByVal Text As String)
' remplacement des valeurs des variables dans le doc
' variables en entree
' Text = nom du template à utiliser
' Doc word is being created
Set Word_Application = CreateObject("Word.Application")
Set docword = Word_Application.Documents.Open(repertory & "Template"
& Text)
Public Sub replace_results(ByVal stringresults As String, ByVal
valueresults As String, ByVal j As Integer)
With docword.Content.Find
.ClearFormatting
.Text = stringresults
With .Replacement
.ClearFormatting
.Text = Str(FormatNumber((Val(valueresults)), j))
End With
.Execute Replace:=wdReplaceAll
.Forward = True
.Wrap = wdFindContinue
End With
End Sub
--------------------------------------------------------------------------- ------------------------
Cette fois-ci j'ai un message d'erreur différent, peut-être une
piste ?
"Erreur automation. L'objet n'est pas connecté au serveur"
apparaît sur la ligne .Text = stringresults
Pourtant dans tous les cas mon fichier est ouvert par Word.
Les 2 machines ont le même local setting. J'utilise Office 2000, donc c'est MSWORD9.OLB qui est utilisé en référence pour moi.
J'ai testé une variante du code :
--------------------------------------------------------------------------- --------------- Global Word_Application As Word.Application Global docword As Word.Document
Public Sub generate_doc(ByVal Text As String) ' remplacement des valeurs des variables dans le doc ' variables en entree ' Text = nom du template à utiliser
' Doc word is being created
Set Word_Application = CreateObject("Word.Application") Set docword = Word_Application.Documents.Open(repertory & "Template" & Text)
Public Sub replace_results(ByVal stringresults As String, ByVal valueresults As String, ByVal j As Integer)
With docword.Content.Find .ClearFormatting .Text = stringresults With .Replacement .ClearFormatting .Text = Str(FormatNumber((Val(valueresults)), j)) End With .Execute Replace:=wdReplaceAll .Forward = True .Wrap = wdFindContinue End With
End Sub --------------------------------------------------------------------------- ------------------------
Cette fois-ci j'ai un message d'erreur différent, peut-être une piste ? "Erreur automation. L'objet n'est pas connecté au serveur" apparaît sur la ligne .Text = stringresults
Pourtant dans tous les cas mon fichier est ouvert par Word.