Hallo zusammen!
Ich habe noch mal einwenig herumprobiert und das ist dabei herausgekommen:
Registry lesen:
Public Function RegRead(Path As String) As String
Dim ws As Object
On Error GoTo ErrHandler
Set ws = CreateObject("WScript.Shell")
RegRead = ws.RegRead(Path)
Exit Function
ErrHandler:
RegRead = ""
End Function Registry schreiben:
Public Function RegWrite(ByVal Path As String, ByVal Value As String, _
Optional ByVal Typ As String = "REG_SZ") As Boolean
Dim ws As Object
On Error GoTo ErrHandler
Set ws = CreateObject("WScript.Shell")
ws.RegWrite Path, Value, Typ
RegWrite = True
Exit Function
ErrHandler:
RegWrite = False
End Function Mit dem Eintrag in die Registry ist OK, nur habe ich folgendes Problem dabei.
Aus der Case Auflistung wird nur der letzte übernommen:
Private Sub CmdbKonfig_Click() ' Ordner-Auswahl-Dialog aufrufen
Dim oShell As Object
Dim oFolder As Object
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.BrowseForFolder(0, "Bitte einen Ordner auswählen", 1)
Dim regfpad As String
Dim Wert As String
Dim a
Select Case xNode2.Tag
Case "DeckenstrahlerKF"
TVStartMask.SelectedItem.Text = oFolder.Self.Path
regfpad = _
"HKEY_CURRENT_USER\Software\Autodesk\DB_Blockverwaltung\Deckenstrahl" & _
"rKF"
Wert = TVStartMask.SelectedItem.Text
a = RegWrite(regfpad, Wert, "REG_SZ")
Case "LeuchtstofflampenKF"
TVStartMask.SelectedItem.Text = oFolder.Self.Path
regfpad = _
"HKEY_CURRENT_USER\Software\Autodesk\DB_Blockverwaltung\Leuchtstoffl" & _
"mpenKF"
Wert = TVStartMask.SelectedItem.Text
a = RegWrite(regfpad, Wert, "REG_SZ")
Case "NV_StrahlerKF"
TVStartMask.SelectedItem.Text = oFolder.Self.Path
regfpad = _
"HKEY_CURRENT_USER\Software\Autodesk\DB_Blockverwaltung\NV_StrahlerKF"
Wert = TVStartMask.SelectedItem.Text
a = RegWrite(regfpad, Wert, "REG_SZ")
End Select
End Sub Ich habe auch noch mal folgendes probiert:
Private Sub CmdbKonfig_Click() ' Ordner-Auswahl-Dialog aufrufen
Dim oShell As Object
Dim oFolder As Object
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.BrowseForFolder(0, "Bitte einen Ordner auswählen", 1)
Dim regfpad As String
Dim Wert As String
Dim a
Dim NTagName As String
NTagName = TVStartMask.SelectedItem.Tag
TVStartMask.SelectedItem.Text = oFolder.Self.Path
regfpad = _
"HKEY_CURRENT_USER\Software\Autodesk\DB_Blockverwaltung\???NTagName???"
Wert = TVStartMask.SelectedItem.Text
a = RegWrite(regfpad, Wert, "REG_SZ") Kann da vielleicht jemand weiter helfen?
Vielen Dank im voraus.
Gruß
Dirk |