none
WSH, vbs: Änderung Umgebungsvariable nicht sofort sichtbar RRS feed

  • Frage

  • Hallo,

    ich ändere per vbs-script Umgebungsvariablen und starte im gleichen script danach ein Excelsheet dass per vba-Makro auf die Umgebungsvariablen zugreift.

    vbs:

    Set objShell = CreateObject("WScript.Shell")
    objShell.Environment("user")("EineVariable") = "halleluja"
    objShell.Run("test_parameter.xls")
    Set objShell = Nothing

    Excel-vba:

    Private Sub Workbook_Open()
        MsgBox Environ("EineVariable")
    End Sub

    Leider liest das Excelmakro nicht den Wert "halleluja" aus der Umgebungsvariablen "EineVariable" sondern den zuletzt gespeicherten Wert.

    Wenn das vbs-script beendet wird und das Excelmakro danach gestartet wird (von hand oder per script ist egal), ist die Umgebungsvariable "EineVariable" mit "halleluja" gefüllt wie gewünscht.

    Kann man die Environment im Script "refreshen" so dass die Änderung der Umgebungsvariablen sofort sichtbar werden?

     Grüße Andreas

    Mittwoch, 31. März 2010 15:25

Antworten

  • Hallo Andreas,

    Klappt folgendes in Excel-VBA?

     

    Private Sub Workbook_Open()
    
            Set objShell = CreateObject("WScript.Shell")
                MsgBox objShell.Environment("user")("EineVariable")
            Set objShell = Nothing
    
    End Sub

     

    Grüße,

    Robert

    Donnerstag, 1. April 2010 14:37
    Moderator

Alle Antworten

  • Hallo Andreas,

    Klappt folgendes in Excel-VBA?

     

    Private Sub Workbook_Open()
    
            Set objShell = CreateObject("WScript.Shell")
                MsgBox objShell.Environment("user")("EineVariable")
            Set objShell = Nothing
    
    End Sub

     

    Grüße,

    Robert

    Donnerstag, 1. April 2010 14:37
    Moderator
  • Hi Andreas

    konnte dir Roberts Tipp weiterhelfen?

    Gruß
    Andrei

    Dienstag, 6. April 2010 08:21
    Moderator