OVH Cloud OVH Cloud

Runtime error 429 en exécutant Document.Open dans VB

6 réponses
Avatar
RICHARD Raoul
Quelqu'un peut-il m'aider

Contexte : VB6 sur NT avec Office 9
(Même test avec VB.NET sur XP, Office XP et même message d'erreur

Dans mon application VB, j'essaye juste d'exécuter la commande suivante
Set X = Documents.Open(Filename:= "XXX") et je reçois Run-time error '429' Active-X can't create object
XXX est un document Word 97
Comme référence, j'utilise Microsoft Word 8.0 Object Librar

Quand j'exécute la commande Set X = Workbooks.Open(Filename:= "YYY"), cela marche correctemen
YYY est un Excel 97 workbook
Comme référence, j'utilise Microsoft Excel 8.0 Object Librar

Quelqu'un peut-il m'aider


. .

6 réponses

Avatar
François Picalausa
Hello,

Question "bête", est ce que le document est bien lu, en temps normal par
word 97?
Que se passe-t-il si tu ne tente pas d'affecter le document.open a un objet?
=> Documents.Open "XXX"
As-tu essayé la même manip en VBA (le VB de word)?
=> quels sont les résultats?

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"RICHARD Raoul" a écrit dans le message de
news:
Quelqu'un peut-il m'aider ?

Contexte : VB6 sur NT avec Office 97
(Même test avec VB.NET sur XP, Office XP et même message d'erreur)

Dans mon application VB, j'essaye juste d'exécuter la commande
suivante :
Set X = Documents.Open(Filename:= "XXX") et je reçois Run-time error
'429' Active-X can't create object. XXX est un document Word 97.
Comme référence, j'utilise Microsoft Word 8.0 Object Library

Quand j'exécute la commande Set X = Workbooks.Open(Filename:= "YYY"),
cela marche correctement
YYY est un Excel 97 workbook.
Comme référence, j'utilise Microsoft Excel 8.0 Object Library

Quelqu'un peut-il m'aider ?


. .


Avatar
Jean Yves SÉVENO
Bonjour.

Il faut écrire Documents.Open FileName:="XXX.doc"

Sans parenthèses...

Ou Documents.Open("XXX.doc")

Avec les parenthèses.

Cordialement.

Jean Yves


"RICHARD Raoul" a écrit dans le message de
news:
Quelqu'un peut-il m'aider ?

Contexte : VB6 sur NT avec Office 97
(Même test avec VB.NET sur XP, Office XP et même message d'erreur)

Dans mon application VB, j'essaye juste d'exécuter la commande suivante :
Set X = Documents.Open(Filename:= "XXX") et je reçois Run-time error '429'


Active-X can't create object.
XXX est un document Word 97.
Comme référence, j'utilise Microsoft Word 8.0 Object Library

Quand j'exécute la commande Set X = Workbooks.Open(Filename:= "YYY"), cela


marche correctement
YYY est un Excel 97 workbook.
Comme référence, j'utilise Microsoft Excel 8.0 Object Library

Quelqu'un peut-il m'aider ?


.. .




Avatar
RICHARD Raoul
Tout se passe normalement quand je fais l'opération identique en VBA, aucun problème

Merci d'avance pour votre aide.
Avatar
RICHARD Raoul
Merci pour votre réponse

J'ai essayé votre conseil mais cela ne marche malheureusement pas : même message d'erreu

Une autre idée
Avatar
Jean Yves SÉVENO
Re.

Chez moi, les deux syntaxes suivantes fonctionnent :

Dim wdApp As Word.Application
Dim x As Document
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
Set x = wdApp.Documents.Open("C:Documents and SettingsJean YvesMes
documentsDevinette.doc")

et

Dim wdApp As New Word.Application
Dim x As Document
wdApp.Visible = True
Set x = wdApp.Documents.Open("C:Documents and SettingsJean YvesMes
documentsDevinette.doc")

Autrement vous pouvez aussi faire du late binding en définissant la variable
application en Object. Le code devient alors :

Dim wdApp As Object
Dim x As Object
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
Set x = wdApp.Documents.Open("C:Documents and SettingsJean YvesMes
documentsDevinette.doc")

Dans ce cas, plus besoin de la référence à Word dans le projet mais vous
n'aurez plus l'aide à l'écriture du code. Ça a tout de même l'intérêt de
rendre votre projet indépendant de la version de Word installée et vous
n'êtes plus limité que par l'existence ou non des fonctionnalités que vous
utilisez. Moi, dans ces cas là, j'écris mon code en early binding puis,
quand je suis sûr que ça marche, je modifie pour faire du late binding.

Essayez ces différentes solutions.

Cordialement.

Jean Yves


"RICHARD Raoul" a écrit dans le message de
news:
Merci pour votre réponse.

J'ai essayé votre conseil mais cela ne marche malheureusement pas : même


message d'erreur

Une autre idée ?



Avatar
RICHARD Raoul
Cela marche correctement !!!!!
J'ai ajouté les instructions de définition de Word.Application et cela marche

Merci infiniment pour votre aide.