WSH - ActiveX-Komponenten kann kein Objekt erstellen: 'GetObject'

Dieses Thema WSH - ActiveX-Komponenten kann kein Objekt erstellen: 'GetObject' im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Björn_2, 9. Sep. 2005.

Thema: WSH - ActiveX-Komponenten kann kein Objekt erstellen: 'GetObject' Hallo zusammen, ich habe folgendes lauffähiges Script, dass auf den Rechnern in der Domain nicht funktioniert....

  1. Hallo zusammen,

    ich habe folgendes lauffähiges Script, dass auf den Rechnern in der Domain nicht funktioniert.

    Code:
    Include(IniFileClass.vbs)
    
     Dim objInifile
     Set objInifile   = new IniFile
     Set Application = GetObject(,Word.Application)
     
     Set Args = WScript.Arguments
     
    
    ' Show Last File key under Settings section of uedit32.ini (if exists)
     objInifile.FileName = l:\autoit\UserInfos.ini
     objInifile.Section = Args(0)
     objInifile.Key   = UserName
     Application.UserName = objInifile.Value
     objInifile.Key   = UserInitials
     Application.UserInitials = objInifile.Value
     objInifile.Key   = UserAddress
     Application.UserAddress = objInifile.Value
     If objInifile.Value <>  Then MsgBox objInifile.Value
    
     Set objInifile   = Nothing
    
    Sub Include(strFilename)
     Dim objFileSys, objFile, strContent
     Set objFileSys = WScript.CreateObject(Scripting.FileSystemObject)
     Set objFile  = objFileSys.OpenTextFile(strFilename, 1)
     strContent   = objFile.ReadAll
     objFile.Close
     Set objFileSys = Nothing
     ExecuteGlobal strContent
    End Sub
    
    Die folgende Fehlermeldung erscheint, wenn ich das Script innerhalb der Domain starte:
    Code:
    Skript: l:\test.vbs
    Zeile: 5
    Zeichen: 3
    Fehler: ActiveX-Komponenten kann kein Objekt erstellen:->GetObject'
    Code: 800A01AD
    Quelle: Laufzeitfehler in Microsoft VBScript
    
    Ich vermute, dass es durch irgendwelche Sicherheitseinstellungen geblockt wird. Habe aber keine Ahnung welche das sein könnten. Vielleicht liegt ja auch ein anderes Problem vor.

    Wäre nett, wenn ihr mir helfen könntet

    Gruß
    Björn
     
  2. Woran es liegen könnte:
    getobject() funzt nur, wenn bereits eine Instanz von Word geöffnet ist. Wenn Du createobject() nimmst, wird eine neue Instanz geöffnet, falls noch keine existiert.
     
  3. Hallo,

    @Fogelschwarm:

    GetObject() funzt auch dann, wenn du der Funktion einen File-Moniker als Parameter übergibst! Da braucht KEINE Word-Instanz aktiv zu sein!

    Code:
    Set objWord = GetObject(c:\wordDocs\wordbrief.doc)
    
    Wenn GetObject() folgendermassen eingesetzt wird:

    Code:
    Set objWord = GetObject(Word.Application)
    
    sucht es zuerst in einer COM-internen Tabelle (ROT = Running Object Table)! Wird dort eine aktive Word-Instanz gefunden, wird diese verwendet, ansonsten arbeitet die Funktion wie CreateObject().

    @Björn_2:
    Wenn du magst, kannst du mir das Script mal zusenden. Ich versuche es dann ans Laufen zu bekommen!

    reiner_ziegler2004@yahoo.de

    Gruss

    Reiner
     
  4. Ja, aber das hat er nicht getan. Zu erkennen an dem führenden Komma in der Argumenteklammer, welches Du in Deinem Beispiel vergessen hast.
     
  5. Hallo,

    das Komma habe ich nicht vergessen, das habe ich absichtlich weggelassen!

    @Björn_2:
    Das solltest du auch tun, dann geht's nämlich...

    Gruss

    Reiner
     
  6. Wenn man das Komma wegläßt, gibts ne Fehlermeldung, da Word.Application dann als Dateiangabe interpretiert wird. Schließlich muß die Reihenfolge der Argumente ja gewahrt bleiben, auch wenn man manche Args optional weglassen kann.
     
  7. Hallo,

    vielen Dank schon mal für eure Hilfe. Ich habe das ganze auch mal mit CreateObject versucht. Auch das lief nicht. Prinzipiell funktioniert das Skript ja. Ich habe die gleiche Version auf einem XP-Rechner laufen lassen und es funktionierte egal ob Word geöffnet war oder nicht.
    Allerdings läuft es nicht auf den Rechnern, auf denen es später eingesetzt werden soll. Deshalb vermute ich, dass es durch irgendwelche Sicherheitseinstellungen geblockt wird.

    Gruß
    Björn
     
  8. @Fogelschwarm:

    Es gibt KEINE Fehlermeldung wenn man das Komma weglässt!
    Wie wärs, wenn du das folgende Script einfach mal ausprobierst?

    Code:
    Dim objWord
    Dim objWordApp
    
    On Error Resume Next
    Set objWord = GetObject (c:\xyz.doc)
    If err.number <> 0 Then
     WScript.echo(Kann WORD-Instanz nicht erstellen:  & err.description)
    End If
    err.Clear
    Set objWordApp = objWord.Application
    objWordApp.Visible = True
    WScript.quit(0)
    
    Gruss

    Reiner
     
  9. Natürlich gibt es keine Fehlermeldung, wenn man das ZWEITE Argument wegläßt. Wenn man aber das ERSTE wegläßt, und das tut Björn_2, dann muß man ein Komma setzen, damit der WSH erkennt, daß das übergebene Argument das Zweite und nicht das Erste ist.

    GetObject(,Word.Application)
    Interpretation: Pfadname=weggelassen, ID=Word.Application
    => keine Fehlermeldung

    GetObject(Word.Application)
    Interpretation: Pfadname=Word.Application, ID=weggelassen
    => Fehlermeldung, da Word.Application keine existierende Datei

    GetObject (c:\xyz.doc)
    Interpretation: Pfadname=c:\xyz.doc, ID=weggelassen
    => keine Fehlermeldung, da existierende Datei
     
  10. Hallo

    @ReinerZ:
    Ich habe dein Testscript ausgeführt und es läuft. Ich konnte sogar auch die Benutzerinformationen setzen. Leider habe ich es bisher noch nicht geschafft, dass die Informationen aus der ini-Datei gelesen werden. Das Script findet aus irgendeinen Grund die ini-Datei nicht.

    Eins interessiert mich aber noch. Wieso kann ich das Testscript auf dem Domain-Rechner ausführen und meines nicht. Wo ist der Unterschied?

    Gruß
    Björn
     
Die Seite wird geladen...

WSH - ActiveX-Komponenten kann kein Objekt erstellen: 'GetObject' - Ähnliche Themen

Forum Datum
Audio Interface wird nicht als Sound input erkannt Windows 10 Forum 12. Nov. 2016
Externe SATA-Platte wird nicht richtig erkannt Windows 10 Forum 26. Okt. 2016
nach eine Komplette Hardware-Wechsel kann ich meine Win 10Pro Lizenz wider aktivieren? Windows 10 Forum 20. Okt. 2016
Zweiter Bildschirm wird nur noch teilweise erkannt! Windows 10 Forum 15. Okt. 2016
warum kann ich robocopy nicht starten Windows 7 Forum 29. Aug. 2016