Sub EnumSubKeys()
On Error GoTo ErrCase
Dim arrSubKeys
Dim numSubKeys As Integer, curSubKey As Integer
Dim keyPath As String
Dim objReg As Object
Const HKey = &H80000001 'HKCU
Set objReg = GetObject("winmgmts : {impersonationLevel=impersonate}!\\" & _
".\root\default:StdRegProv")
keyPath = "Software\Microsoft\Windows" 'здесь есть подКлючи
'keyPath = "Software\Microsoft\Notepad" 'здесь нет подКлючей
objReg.EnumKey HKey, keyPath, arrSubKeys
numSubKeys = UBound(arrSubKeys)
answer = MsgBox("Кол-во подключей: " & numSubKeys + 1 & "." & vbCr & _
"Показать имена всех?", vbQuestion + vbYesNo, "HKCU\" & keyPath)
If answer = vbYes Then
For curSubKey = 0 To numSubKeys
MsgBox arrSubKeys(curSubKey), , "HKCU\" & keyPath
Next curSubKey
End If
Exit Sub
ErrCase:
MsgBox "Подключей не обнаружено.", vbExclamation, "HKCU\" & keyPath
End Sub
Vba 1c и реестр
Доброго времени суток. Не подскажите как в VBA получить массив с ключами рееста. То есть 1С:Предприятие хранит пути к базам в HKCU\sw\1c\..\Titles как их получить.
Цитата:
Originally posted by alibabaich
Доброго времени суток. Не подскажите как в VBA получить массив с ключами рееста. То есть 1С:Предприятие хранит пути к базам в HKCU\sw\1c\..\Titles как их получить.
Доброго времени суток. Не подскажите как в VBA получить массив с ключами рееста. То есть 1С:Предприятие хранит пути к базам в HKCU\sw\1c\..\Titles как их получить.
Если я не ошибаюсь, сам VBA "не умеет" работать с реестром, но можно подключить для этого средства WMI. Вот пример:
Код: