Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Umgebungsvariablen setzen und lesen per VBA

Umgebungsvariablen setzt man in der Regel ber die Kommandozeile oder ber den entsprechenden Dialog der Systemsteuerung. Der automatisierungswtige Access-Entwickler findet aber auch bestimmt einen Anlass, diese Aufgabe per VBA erledigen zu wollen. Wie das funktioniert, wird nachfolgend erlutert.

Beispieldatenbank

Die nachfolgend erluterten Quellcode finden Sie im Modul mdlSetGetVar der Beispieldatenbank AccessSQLDotNet.mdb.

 

Umgebungsvariablen per API schreiben

Fr beide Vorgnge, das Lesen und das Schreiben, sind API-Anweisungen erforderlich. Diese beiden deklarieren Sie wie folgt:

Private Declare Function GetEnvironmentVariable _

Lib "kernel32.dll" _

Alias "GetEnvironmentVariableA" ( _

ByVal lpName As String, _

ByVal lpBuffer As String, _

ByVal nSize As Long _

) As Long

 

Private Declare Function SetEnvironmentVariable _

Lib "kernel32.dll" _

Alias "SetEnvironmentVariableA" ( _

ByVal lpName As String, _

ByVal lpValue As String _

) As Long

Das Setzen einer Umgebungsvariablen ist verhltnismig einfach:

Public Sub SetVar(strName As String, strValue As String)

Call SetEnvironmentVariable(strName, strValue)

End Sub

Die Funktion dient eigentlich nur als Wrapper der API-Funktion, um einen leichter handzuhabenden Namen zu verwenden.

Umgebungsvariablen per API lesen

Das Lesen von Umgebungsvariablen ist etwas aufwendiger:

Public Function GetVar(strName As String)

Dim strBuffer As String

Dim lngLen As Long

lngLen = 256

strBuffer = String$(lngLen, Chr$(0))

lngLen = GetEnvironmentVariable(strName, strBuffer, lngLen)

If lngLen <> 0 Then

strBuffer = Left(strBuffer, lngLen)

GetVar = strBuffer

End If

End Function

Anwenden der Funktionen

Der Aufruf der Funktion SetVar lautet beispielsweise folgendermaen:

SetVar "Beispielvariable", "Beispielwert"

Wenn Sie diese Anweisung im Testfenster ausgefhrt haben, sollte die folgende Anweisung den Wert wieder ausgeben:

? GetVar("Beispielvariable")

© 2003-2015 André Minhorst Alle Rechte vorbehalten.