Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Vba 1c и реестр

492
23 марта 2006 года
alibabaich
238 / / 08.07.2004
Доброго времени суток. Не подскажите как в VBA получить массив с ключами рееста. То есть 1С:Предприятие хранит пути к базам в HKCU\sw\1c\..\Titles как их получить.
405
24 марта 2006 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by alibabaich
Доброго времени суток. Не подскажите как в VBA получить массив с ключами рееста. То есть 1С:Предприятие хранит пути к базам в HKCU\sw\1c\..\Titles как их получить.


Если я не ошибаюсь, сам VBA "не умеет" работать с реестром, но можно подключить для этого средства WMI. Вот пример:

Код:
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
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог