Classe non enregistré MSScriptControl

Bonjour à tous,

Je rencontre un souci, suite à une désinstallation et une réinstallation d'office, je pense que quelque chose à foiré, le code m'affiche une erreur sur MSScriptControl.ScriptControl même chose sur les autres fichiers ou se trouve des codes similaires

image

Est-ce déjà arriver à l'un d'entres vous ?

J'ai essayé de télécharger le fichier ocx etc mais rien n'est fait

Merci pour vos lumières

Salut le fil...

  1. Vérifie si présent dans tes références. Menu Outils/Références
  2. Si oui relancer regsvr32 pour l'inscription dans la base de registre

Remarque Dans une version 64 bits d’un système d’exploitation Windows, il existe deux versions du fichier Regsv32.exe :

La version 32 bits est %systemroot%\System32\regsvr32.exe.
La version 64 bits est %systemroot%\SysWoW64\regsvr32.exe.

Syntaxe de la commande Regsvr32
RegSvr32.exe prend en charge les options de ligne de commande suivantes :
Regsvr32 [/u] [/n] [/i[:cmdline]] <nom_DLL>

/u - Désinscrit le serveur

/i - Appelle DllInstall et transmet un élément [cmdline] facultatif. Utilisé avec /u, appelle dll uninstall
/n - N’appelle pas DllRegisterServer. Utiliser cette option avec /i

/s - Silencieux ; n’afficher aucune boîte de message
Solutions courantes aux erreurs liées à Regsvr32
Essayez l’une des méthodes suivantes lorsqu’une erreur liée à Regsvr32 survient :

Méthode 1 : Réexécuter la commande Regsvr32 à partir d’une invite de commandes avec élévation de privilèges
Pour ouvrir une invite de commandes avec élévation de privilèges, procédez comme suit :
Windows 8.1 et Windows 8
Effectuez un balayage depuis le bord droit de l'écran, puis appuyez sur Rechercher. Ou, si vous utilisez une souris, pointez sur l'angle inférieur droit de l'écran, puis cliquez sur Rechercher. Tapez Invite de commandes dans la zone de recherche, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur. Si vous êtes invité à entrer un mot de passe administrateur ou à confirmer l’opération, entrez votre mot de passe ou cliquez sur Autoriser.
Windows 7 et Windows Vista
Cliquez sur Démarrer, tapez Invite de commandes ou cmd dans la zone de recherche, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur. Si vous êtes invité à entrer un mot de passe administrateur ou à confirmer l’opération, entrez votre mot de passe ou cliquez sur Autoriser.
Windows XP
Ouvrez une session avec un compte d’administrateur ou un compte doté de droits d’administrateur, puis ouvrez une fenêtre d’invite de commandes.
Méthode 2 : Utiliser la version 32 bits de Regsvr32 pour inscrire une DLL 32 bits sur une version 64 bits de Windows
Si une erreur s’affiche lorsque vous inscrivez une DLL 32 bits sur une version 64 bits de Windows, procédez comme suit :
Ouvrez une invite de commandes avec élévation de privilèges.
Si la DLL 32 bits se trouve dans le dossier %systemroot%\System32, déplacez-la vers le dossier %systemroot%\SysWoW64.
Exécutez la commande suivante :

%systemroot%\SysWoW64\regsvr32 <full path of the DLL>

Bonjour,

Sub test()
 Set sc = CreateObject("ScriptControl")
   sc.Language = "VBScript"
   sc.AddObject "This", ActiveSheet, True
   ' Ajoute un module.
   Set M = sc.Modules.Add("Module1")
   ' Ajoute du code au module.
   M.AddCode MacroName
   ' Exécute le script.
   M.Run "MacroName", "toto", "titi" 'toto et titi sont les paramètres de MacroName
End Sub
Function MacroName()
MacroName = "Sub MacroName(toto,titi)" & vbCrLf
MacroName = MacroName & "Dim TOTO2,TITI2" & vbCrLf
MacroName = MacroName & " TOTO2=toto:TITI2=titi" & vbCrLf
MacroName = MacroName & "Msgbox ""TOTO2 : "" & TOTO2" & vbCrLf
MacroName = MacroName & "Msgbox ""TITI2 : "" & TITI2" & vbCrLf
MacroName = MacroName & "Msgbox ""This.name : "" & This.name" & vbCrLf
MacroName = MacroName & "End sub"
End Function

Bonjour,

Dysorthographie cela n'a pas fonctionnée :(

Jean-Paul j'ai regardé pour le regsvr32, au début sa ne semblait pas fonctionné en me balandant sur stackoverflow sur cette piste, j'ai installé un autre dll, puis j'ai refais regsvr32 msscript.ocx et tout refonctionne :)

Edit modo 17/02/2023 : Autre information ICI
https://forum.excel-pratique.com/astuces/comment-contourner-le-probleme-classe-non-enregistre-msscri...

Salut le fil...

Tu m'en vois ravis, bonne programmation.

Rechercher des sujets similaires à "classe enregistre msscriptcontrol"