800A01AD - Un composant activex ne peut pas créer un objet

Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
22 avril 2005
- - Dernière réponse : wassim.azzouzi
Messages postés
1
Date d'inscription
samedi 28 septembre 2013
Statut
Membre
Dernière intervention
28 septembre 2013
- 28 sept. 2013 à 14:39
Slt,



En utilisant le script ci dessous, j'ai droit à une erreur de ce type
dés la 1ère ligne , je ne comprends pas à quoi c'est dû, avez vous une
idée sur la façon de remédier à ce problème:



800A01AD "un composant activex ne peut pas créer un objet"



Voici un lien interessant, mais je n'arrive pas à résoudre mon problème avec:

http://www.computerperformance.co.uk/Logon/code/code_800A01AD.htm



Merci bcp à celui qui pourra m'aider car c'est important



Voici le code:





Dim tablocalisation(1)

Set shell = CreateObject("WScript.Shell")

Set fSo = CreateObject("Scripting.FileSystemObject")

tablocalisation(0)="xxx"

tablocalisation(1)="xxx"

sTargetPath="\\xxxxxx"

Set f = fSo.GetFolder("C:\Documents and Settings")

Set sf = f.SubFolders





langue=shell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\InstallLanguage")



If langue = "0409" Then

Start = "\Start Menu"

else

Start = "\Menu Démarrer"

End if





For Each f1 in sf

Efface(f1)

Next







sPath="C:\Documents and Settings\All Users" & start & "xxxxxxxx"



Set oFolder=fSo.CreateFolder(sPath)

oFolder.Attributes=4

Set oFolder=Nothing

Set oLink=WshShell.CreateShortcut(sPath & "target.lnk")

oLink.TargetPath=sTargetPath

oLink.Save

Set oLink=Nothing

Set oTs=fSo.CreateTextFile(sPath & "desktop.ini")

oTs.WriteLine "[.ShellClassInfo]"

oTs.WriteLine "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}"

oTs.WriteLine "Flags=2"

oTs.WriteLine "IconFile=""\\xxxxxxxxxx"""

oTs.WriteLine "IconIndex=0"

oTs.WriteLine "ConfirmFileOp=0"

oTs.Close





Sub Efface(f2)

For j=0 to ubound(tablocalisation)

sPath="C:\Documents and settings" & f2.name & Start & tablocalisation(j)

If fSo.folderExists(sPath) Then

Set parentFolder = fSo.GetFolder(sPath)

parentFolder.attributes = 0

if fSo.FileExists(sPath & "\target.lnk") Then


Set file =
fSo.GetFile(sPath & "\target.lnk")

file.attributes = 0

fSo.deleteFile(sPath & "\target.lnk")

End if

If fSo.fileExists(sPath & "\desktop.ini") then


Set file =
fSo.GetFile(sPath & "\desktop.ini")

file.attributes = 0

fSo.deleteFile(sPath & "\desktop.ini")

End if

fSo.DeleteFolder(sPath) , True

End if

Next

End Sub
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
1
Date d'inscription
samedi 28 septembre 2013
Statut
Membre
Dernière intervention
28 septembre 2013
4
4
Merci
Si le problème est sr un poste qui tourne sous 64 bits, la solution est la suivante :
il suffit de le lancer avec c:\windows\syswow64\cscript.exe

http://www.code-source.net/content/lancer-un-script-vbs-sur-une-plateforme-64-bits

Dire « Merci » 4

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
22 avril 2005
0
Merci
Zut, on ne peut pas éditer nos messages ici?



Juste pour dire que le message d'erreur pointe en fait sur la ligne:


Set shell = CreateObject("WScript.Shell")
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
22 avril 2005
0
Merci
Voici les infos que j'ai pu trouver sur le net:



Ce message peut apparaître lors de la création d'un formulaire ou d'un état



Il semble que cela vienne d'une DLL mal "registrée": dao350.dll, parfois dao360.dll ...



Pour remédier au problème, repérez l'application regsvr32.exe
(généralement située dans \windows\system). Repérez également
dao350.dll (généralement située dans \Program Files\Fichiers
communs\Microsoft Shared\DAO). Faites ensuite glisser dao350.dll sur
regsvr32.exe et relâchez le bouton de la souris, un message vous
prévient que l'enregistrement a été effectué et tout rentre
généralement dans l'ordre...





http://www.alpi40.org/Formati/Faqs/Support/Access/activex.htm







Allez dans windows\system32, chercher le fichier scrrun.dll (ou
chercher sur votre DD)et faite le glisser sur regsvr32.exe.



http://forum.hardware.fr/hardwarefr/Programmation/Un-composant-ActiveX-ne-peut-pas-creer-un-objet--sujet-54364-1.htm





erreur 429 : Un composant Activex ne peut créer d'objet



Cette erreur peut apparaitre sur un poste alors que l'on n'a aucun problème sur un autre.

- Soit il y a une erreur de code (voir le détail chez Microsoft en suivant le lien plus bas),

- Soit la DLL DAO360.dll est absente (cas classique : il suffit de l'installer)

- Soit elle est présente ... mais mal enregistrée.



Microsoft conseille de désinstaller Office, puis de réinstaller. Généralement, après ça marche.



Cas (très) particulier (et c'est la précision...) :

Si l'utilitaire de sauvegarde automatique d'Outlook est installé
(backup des *.pst), on obtient l'erreur 429. Si on le désinstalle, ça
marche. Il semble donc que les 2 soient incompatibles.



L'erreur se déclenche uniquement si l'application "fille" (Word, Excel,
Outlook...) est fermée. Si elle est ouverte, ça marche (CreateObject se
comporte comme GetObject).



Voila, nous n'avons aucune explication technique à cela ... mais la désinstallation du backup d'Outlook a résolu notre problème.



lien : http://support.microsoft.com/default.aspx?scid=kb;fr;244264





http://access.developpez.com/faq/?page=Debug









Cette manip semble résoudre mon problème:

Allez dans windows\system32, chercher le fichier scrrun.dll (ou
chercher sur votre DD)et faite le glisser sur regsvr32.exe.

Avant de dire que mon problème est résolu il faut que je teste sur d'autres postes.
Messages postés
6
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
22 avril 2005
0
Merci
Sinon, sous un poste j'ai droit au message d'erreur suivant (problème
qui semble être un cas isolé) sur la même ligne qu'au dessus

( Set shell = CreateObject("WScript.Shell") :



Message d'erreur:

La procédure spécifiée est introuvable
Messages postés
2
Date d'inscription
samedi 25 juin 2011
Statut
Membre
Dernière intervention
25 juin 2011
0
Merci
bonjour,

composant ActiveX ne peut pas créer un objet 800A01AD

qué galère avec ce problème après installation de Windows 7 64-bit!
il faut télécharger les nouveaux .exe

je les ai mis dans mon espace skydrive windows live:
(mais je ne suis pas sur de l accés pour vous, espèrons...)

dynwrapx.dll (14KO)
https://skydrive.live.com/?cid=d2d536ba4506c341&sc=documents&id=D2D536BA4506C341%21133#
et,
wscript (152KO)
https://skydrive.live.com/?cid=d2d536ba4506c341&sc=documents&id=D2D536BA4506C341%21133#


me demandez pas d où ils viennent, je les ai retrouvés dans mon répertoire de téléchargement et je ne sais pas quand, ni où je les ai reçus (!!!)

en associant les fichiers .vbs à ce nouveau wscript.exe
en mettant la dll dynwrapx.dll, dans une répetoire perso, dans C:\Windows\SysWOW64 et dans C:\Windows\System32
et en l inscrivant au registre (menu contextuel Register) aux trois endroits, chez moi ça marche!

on peut surement faire plus propre comme installe mais bon....

sinon pas moyen de créer dans les scripts vbs d object comme :
Set DX = CreateObject("DynamicWrapperX")
ou même le basique,
Set WshShell = CreateObject("WScript.Shell")
!

bonne chance
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
16
0
Merci
@AlainDENIS le topique date de 2007.

Pour les OS Windows x64 il faut copier les activeX dans le répertoire

.\Windows\SysWOW64

Puis appeler

.\Windows\SysWOW64\regsvr32.exe

WOW signifie Windows On Windows, qui n'est rien d'autre qu'un émulateur Windows32 Bit au cœur d'un système 64 Bits. Il en va de même pour le registre qui possède une WOW64Node, c'est pourquoi il faut appeler regsvr32 depuis l'émulateur.

Voila.

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
2
Date d'inscription
samedi 25 juin 2011
Statut
Membre
Dernière intervention
25 juin 2011
0
Merci
et Jésus date de 2010 ans pourtant il a encore une plus grande utilité en ces drôle de Temps.
(alors topic de 2007 ou pas...)

2/ ok pour utiliser regsvr32 de wow64, mais celà n explique pas l impossibilité de créer l objet WScript.Shell avant ma manip (et après installation de w7 64)

c est toujours sympa de laisser des traces d une correction réussie, ça peut servir aux autres.
Messages postés
46
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
13 juin 2008
-1
Merci
arf ... il y a bien souvent des phrases coupées dans tes postes. j'arrive pas à suivre... et donc à règler mon problème idem au tient...

mitsh666