주 콘텐츠로 건너뛰기

 none
VBS Activex Error unter Windows 7 64 Bit RRS feed

  • 질문

  • Hallo,
    unter Windows 7 64 Bit habe ich folgendes Problem:

    Nach dem Ausführen dieses VBS erhalte ich folgende Fehlermeldung: ActiveX component can't create object

    set fns = CreateObject("SAP.LogonControl.1")
    Set conn = fns.NewConnection
    conn.ApplicationServer = ""
    conn.systemnumber =
    conn.User = ""
    conn.System = ""
    conn.CLIENT = ""
    conn.password = ""
    conn.LANGUAGE = "DE"
    If conn.logon(0, False) = True Then
    MsgBox "Logon succeeded!."
    Else
    MsgBox "Cannot logon!."
    End If

    Das selbe Script läuft aber ohne Probleme wenn ich es aus dem Excel 2010 Visual Basic Editor starte

    Sub Test()
    set fns = CreateObject("SAP.LogonControl.1")
    Set conn = fns.NewConnection
    conn.ApplicationServer = ""
    conn.systemnumber =
    conn.User = ""
    conn.System = ""
    conn.CLIENT = ""
    conn.password = ""
    conn.LANGUAGE = "DE"
    If conn.logon(0, False) = True Then
    MsgBox "Logon succeeded!."
    Else
    MsgBox "Cannot logon!."
    End If
    End Sub

    Hat jemand eine Idee, wieso der Activex error kommt wenn ich den Code in VBS benutze?

    2010년 9월 9일 목요일 오후 9:01

답변

  • Ist das Control Inproc? Wenn ja könnte es ein 32bit/64bit Problem sein.

    Hast Du 64bit Office?
    Dann wäre das Control auch ein 64bit Control weil es dort startet.
    Hast Du 32bit Office ist das Control auch 32bit.

    Welchen wscript Host startest Du? Du musst die zum Control passende Version verwenden.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    2010년 9월 10일 금요일 오전 5:39
  • Habe das Problem gerade selbst gelöst.

    Das Programm muss für X86 kompiliert werden, dann funktioniert es auch.

     

    Danke für den Denkanstoß @Martin Richter.

    2010년 9월 10일 금요일 오후 9:49

모든 응답

  • Ist das Control Inproc? Wenn ja könnte es ein 32bit/64bit Problem sein.

    Hast Du 64bit Office?
    Dann wäre das Control auch ein 64bit Control weil es dort startet.
    Hast Du 32bit Office ist das Control auch 32bit.

    Welchen wscript Host startest Du? Du musst die zum Control passende Version verwenden.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    2010년 9월 10일 금요일 오전 5:39
  • Vielen Dank, genau das war das Problem.

    Die installierte Office Version ist 32 bit, daher konnte dort das 32 bit script laufen.

    Wenn ich unter Windows 7 64 bit eine VBS-Datei starte, wird automatisch wscript in der 64 bit Fassung gestartet.

    Mit        c:\windows\syswow64\wscript test.vbs

    funktioniert das Script auch ohne Fehlermeldung.

     

    Jetzt habe ich nur noch ein anderes Problem.

    Das gleiche Script habe ich in VB.NET (Visual Basic 2010 Express) verwendet.

    Wenn ich die kompilierte EXE Datei unter Windows XP ausführe geht alles , aber unter Windows 7 64 bit

    erhalte ich auch wieder die Meldung: ActiveX component can't create object

    Was kann ich hier tun, damit das Programm ohne Fehler ausgeführt wird.

     

    2010년 9월 10일 금요일 오후 9:04
  • Habe das Problem gerade selbst gelöst.

    Das Programm muss für X86 kompiliert werden, dann funktioniert es auch.

     

    Danke für den Denkanstoß @Martin Richter.

    2010년 9월 10일 금요일 오후 9:49