Чтение и запись в реестр Windows в произвольную ветку можно произвести при помощи функций объекта WScript.Shell:
RegRead и RegWrite
Первая функция возвращает значение, считанное из реестра, вторая - записывает заданное значение в реестр.
При попытке считать несуществующий параметр возникает ошибка, обойти которую нам поможет директива On Error Resume Next
Пара функций для примера:
(получаем настройки программы из реестра Windows)
Function DefaultMailAccount() As String
' читает из реестра настройки почтового ящика,
' установленного в TheBAT! как "ящик по-умолчанию"
' возвращает адрес почты, или пустую строку, если TheBAT! не настроен
On Error Resume Next: Err.Clear
key$ = "HKEY_CURRENT_USER\Software\RIT\The Bat!\Users depot\Default"
DefaultMailAccount = CreateObject("WScript.Shell").RegRead(key$)
End Function
Function ПутьКФайлуПрограммыTheBAT() As String
' читает из реестра путь к исполняемому файлу программы TheBAT!
' возвращает путь к файлу, или пустую строку, если TheBAT! не установлен
On Error Resume Next: Err.Clear
key$ = "HKEY_CURRENT_USER\Software\RIT\The Bat!\EXE path"
ПутьКФайлуПрограммыTheBAT = CreateObject("WScript.Shell").RegRead(key$)
End Function
Sub TheBAT_MailBoxes()
' макрос выводит список всех почтовых ящиков, настроенных в программе TheBAT!
On Error Resume Next: Err.Clear
With CreateObject("WScript.Shell")
For i = 1 To 100
key$ = "HKEY_CURRENT_USER\Software\RIT\The Bat!\Users depot\User #" & i
Err.Clear: mailBox$ = .RegRead(key$)
If Err = 0 Then Debug.Print mailBox$
Next
End With
End Sub
|