IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Edition de script impossible


Sujet :

VBScript

  1. #1
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut Edition de script impossible
    Bonjour à tous.Je ne sais pas si je suis au bon endroit...

    J'utilise un logiciel tiers WinCC flexible (Siemens) qui possede l'éditeur Visual Basic pour écrire des scripts mais Lorsque j'essaye d'éditer un script,léditeur crash avec l'erreur suivante. Aidez-moi, s'il vous plaît.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Error Message:
     
    This is an automatically generated error report for the WinCC flexible Engineering System.
     
    Microsoft Windows XP Professional Service Pack 3 5.1.2600.196608
     
    Version de produit: WinCC flexible 2008 SP3 Advanced; K 1.04 Hotfix 5; K 1.4.0 HF 5 (1.03.38)
     
     
    System.Security.SecurityException
    Requested registry access is not allowed.
     
    Exception Source
    mscorlib
     
    Exception Target Site
    Void ThrowSecurityException(System.ExceptionResource)
     
    Exception Stack Trace
    at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
    at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
    at Microsoft.Win32.RegistryKey.OpenSubKey(String name)
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.FillTlbsHashtableFormRegistryKeyCLSID()
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.FillTypeLibsHashTable()
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.GetTypeLibGuidFromProgId(String progID)
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init_ProgId(String progId)
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init(Object progIdOrInterface, Boolean setHelpDescription)
    at Siemens.Simatic.Hmi.Utah.Scripting.EditControl.LoadTlbAndConvertToAssemblyThread.LoadTlbAndConverToAssembly()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()
    End Exception
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  2. #2
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Bonjour,
    aucune piste? idée?

    Un autre fait: Si j'ai écrit un script dès que je tape la phrase

    "ADODB.Connection"

    [Set conn = CreateObject ("ADODB.Connection")] ou

    "ADODB.Recordset"
    [Set rst = CreateObject ("ADODB.Recordset")]

    winccflexible crash!!! Voir sreen attached:
    Images attachées Images attachées  
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  3. #3
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    Il faut arriver à déterminer si c'est l'éditeur ou ton installation global Windows qui ne fonctionne pas.
    Avec un éditeur basique (Notepad), si du fait une création object puis une connexion à la BDs avec cette variable object, cela fonctionne t il ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Merci pour la réponse,
    En fait dès que j'essaye de créer un script, wincc plante.
    (si j'enleve ADODB.Connection et ADODB.Recordset, il n'y a aucun problème, mais le script ne fonctionne pas bien sur !

    Exemple script creation d'une table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    On Error Resume Next
    Err.Clear
     
    Dim conn, rst
     
    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
     
    conn.Open "Provider=MSDASQL;DSN=WinCCFlexible" 'DSN= name of the odbc-database 'DSN= Name der ODBC-Datenbank 
     
    Dim SQL_Tabelle
     
    SQL_Tabelle = "CREATE TABLE "& SmartTags("Tabname_1") & " (Nr SMALLINT, "& SmartTags("Name_1") & " CHAR(12), "& SmartTags("Name_2") & " SMALLINT, "& SmartTags("Name_3") & " SMALLINT)"
     
    Set rst = conn.Execute(SQL_Tabelle)
     
    If Err.Number <> 0 Then 
    	ShowSystemAlarm Err.Description  'Error description ; Fehlerbeschreibung
    End If
     
    Set rst = Nothing
    Set conn = Nothing
    Pour ce qui est de Notepad, je ne sais pas comment proceder, si vous voulez bien m'éclairer. Merici encore.
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Pour le script sous Notepad, il suffi d'enregistrer le code en .vbs puis de lancer le fichier par double click.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    J'ai essayé le code posté ci-dessus avec notepad, mais rien ne se passe lorsque je double-clic dessus. Alors y'a t-il un problème avec mon XP?
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Re
    Si ta BDs est du access, tu peux éventuellement charger BDs ACCESS, rédiger la requête de connexion, la requête d’ouverture de table, visualiser le résultat, cela pourrait t'aider car il récupère les DSNs installés sur ton système et/ou tu peux parcourir tes dossiers pour retrouver la BDs (Access exclusivement).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conn.Open "Provider=MSDASQL;DSN=WinCCFlexible" 'DSN = nom de la base de données ODBC
    WinCCFlexible doit être le nom d'une "Sources de données utilisateur" valide.
    Pour voir si elle existe vraiment, utiliser odbcad32.exe en ligne de commande (Démarer ---> Rechercher les programmes et fichiers ---> y inscrire
    odbcad32.exe).
    Dans le résultat de la recherche double cliquer sur le nom du programme (odbcad32.exe).

    Ou bien, si tu connais l'emplacement de la BDs à ouvrir, tu mes le chemin et son nom de cette façon, exemple pour une BDs .mdb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conn.Open "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=C:\PersoFrancis\Constructeur de requetes\BDpourEssais.mdb;"
    A voir pour le PROVIDER
    http://www.connectionstrings.com/access-2013/
    et/ou
    http://www.devlist.com/ConnectionStringsPage.aspx

    Essais un tout petit code de ce style (dans un NotePad, enregistré sous EssaisConnexion.vbs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Option Explicit
    EssaisConnexion
     
    Sub EssaisConnexion
    Dim Conn, strCnn, RqtSQL, Rst
     
    On Error Resume Next
    'Etape 1
    Set Conn = CreateObject("ADODB.Connection")
    If Err Then
        MsgBox "Err N°" & Err.Number & vbNewLine & _
        "Description:" & vbNewLine & vbNewLine & Err.Description, vbCritical, "Erreur création objet de connexion BDs"
        Exit Sub
    End If
     
    'Etape 2
    strCnn = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=C:\PersoFrancis\Constructeur de requetes\BDpourEssais.mdb;" '*** adapter le chemin et nom ***
    Conn.Open strCnn
    If Err Then
        MsgBox "Err N°" & Err.Number & vbNewLine & _
        "Description:" & vbNewLine & vbNewLine & Err.Description, vbCritical, "Erreur ouverture BDs"
        Set Conn = Nothing
        Exit Sub
    End If
     
    'Etape 3
    Set Rst = CreateObject("ADODB.Recordset")
    If Err Then
        MsgBox "Err N°" & Err.Number & vbNewLine & _
        "Description:" & vbNewLine & vbNewLine & Err.Description, vbCritical, "Erreur création object RecordSet"
        Set Conn = Nothing
        Exit Sub
    End If
     
    'Etape 4 (si une table existe dans la BDs)
    RqtSQL = "Select * From Principal" '*** adapter le nom de la table***
    Rst.Open RqtSQL, Conn
    If Err Then
        MsgBox "Err N°" & Err.Number & vbNewLine & _
        "Description:" & vbNewLine & vbNewLine & Err.Description, vbCritical, "Erreur ouverture table"
        Set Rst = Nothing
        Set Conn = Nothing
        Exit Sub
    End If
     
    Set Rst = Nothing
    Set Conn = Nothing
     
    MsgBox "Tout est Ok", vbInformation, "Yes !!!"
     
    End Sub
    Remer de la ligne 36 à 44 si il n'y a pas encore de table dans la BDs
    Ce code n'est valide que pour une BDs access
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Merci ProgElecT pour votre patience et aide.
    Concernant ma base de données, elle est sous SQL Server (express). Je peux me connecter à la base sans problème avec SQL Server Management. Voir les sreens ci-jointes pour plus de clarté.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip DSN.zip (365,9 Ko, 72 affichages)
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  9. #9
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Concernant ma base de données, elle est sous SQL Server (express). Je peux me connecter à la base sans problème avec SQL Server Management. Voir les sreens ci-jointes pour plus de clarté.
    Donc cela proviendrai du Provider ? là je ne suis plus dans le coup, cela fait plusieurs années que je n'utilise pas SQL Server, je regarderai çà demain au boulot car j'ai des sources qui me rafraichiront peut être la mémoire.
    Part contre, la FAQ du site ou tu as légitimement pompé le code donne pas mal d'explications.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut




    C'est fou, pour moi ton éditeur de script intégré dans WinCC flexible et vérolé ou incomplet ou encore mal configuré,
    car avoir un plantage au cours de la rédaction d'un code, là c'est fort.
    Reste que la boite d'erreur dit que tu n'a pas les droits te permettant d'utiliser la création d'objet (en tout cas de type ADODB).
    Essais de créer un autre type d'objet comme tu le fais jusqu'à maintenant, exemples:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim Dico, FSO, ScriptCtrl
    Set DicO = CreateObject("Scripting.Dictionary")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set ScriptCtrl = CreateObject("ScriptControl")
    Arrives tu à les créer, plantage, pas plantage ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut




    C'est fou, pour moi ton éditeur de script intégré dans WinCC flexible et vérolé ou incomplet ou encore mal configuré,
    car avoir un plantage au cours de la rédaction d'un code, là c'est fort.
    Reste que la boite d'erreur dit que tu n'a pas les droits te permettant d'utiliser la création d'objet (en tout cas de type ADODB).
    Essais de créer un autre type d'objet comme tu le fais jusqu'à maintenant, exemples:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim Dico, FSO, ScriptCtrl
    Set DicO = CreateObject("Scripting.Dictionary")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set ScriptCtrl = CreateObject("ScriptControl")
    Arrives tu à les créer, plantage, pas plantage ?
    Bonsoir avec mes remerciements,
    Plante avec :
    Set DicO = CreateObject("Scripting.Dictionary")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Ne plante pas avec :
    Set ScriptCtrl = CreateObject("ScriptControl").
    J'ai l'impression que mon xp est fautif. car sur une autre partition, j'ai le mëme wincc installé sur W7 et je peux créer les même scripts sans qu'il plante.
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

Discussions similaires

  1. Mega Plantage d'editeur de script: impossible de l'ouvrir
    Par shub22 dans le forum AppleScript
    Réponses: 5
    Dernier message: 18/01/2015, 20h11
  2. Réponses: 1
    Dernier message: 11/07/2014, 18h00
  3. [Question] Editer un script flash et l'adapter
    Par neitanode dans le forum Flash
    Réponses: 0
    Dernier message: 07/12/2008, 14h31
  4. Import script impossible
    Par erox44 dans le forum SQL
    Réponses: 2
    Dernier message: 28/04/2008, 19h50
  5. Erreur 1045 impossible de se connecter à mysql via un script
    Par julian-brokendolls dans le forum Installation
    Réponses: 7
    Dernier message: 05/01/2006, 04h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo