Низове за личен профил с помощта на Words System.PrivateProfileString с помощта на VBA в Microsoft Excel

Anonim

Ако не искате да използвате API-функции, можете да използвате библиотеката с обекти на Words, за да четете и пишете низове за личен профил.

Words System.PrivateProfileString може да чете и пише както в INI файлове, така и в системния регистър.

В други приложения, освен Word, трябва да добавите препратка към библиотеката на обекти Words.

Можете да добавите препратката, като отворите редактора на Visual Basic (VBE) и активирате вашия VB проект. След това избирате Инструменти, Препратки … и проверявате опцията Microsoft Word x.x Object Library.

Запишете информация в INI-файлове

С макроса по -долу можете да запишете информация в текстов файл:

Функция SetIniSetting (FileName As String, Section As String, _ Key As String, KeyValue) As Boolean Dim wd Като Word. PrivateProfileString (FileName, Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'унищожи обекта на Word приложение SetIniSetting = True End функция

Използвайте този макрос, за да запазите стойността 100 във файла C: \ Име на папката \ Име на файла.ini в раздела
MySectionName за ключа TestValue:
MyBooleanVar = SetIniSetting ("C: \ Име на папка \ Име на файла.ini", "Име на MySection", "Тестова стойност", 100)
Текстовият файл ще изглежда така:
[MySectionName]
TestValue = 100

Прочетете информация от INI-файлове
С макроса по -долу можете да прочетете информация от текстов файл:

Функция GetIniSetting (FileName As String, Section As String, _ Key As String) As String Dim wd Като Word.Application GetIniSetting = "" Set wd = New Word.Application "създайте обекта на приложението Word при възобновяване на грешката Следваща GetIniSetting = wd.System .PrivateProfileString (FileName, Section, Key) On Error GoTo 0 Set wd = Nothing 'унищожава обекта на Word Word End Function

Използвайте този макрос, за да върнете стойността за ключа TestValue в раздела MySectionName
от файла C: \ FolderName \ FileName.ini:

MyStringVar = GetIniSetting ("C: \ FolderName \ FileName.ini", _ "MySectionName", "TestValue")


Запишете информация в регистъра

С макроса по -долу можете да запишете информация в регистъра:

Функция SetRegistrySetting (Секция като низ, _ Ключ като низ, KeyValue) Като булов дим wd Като Word.Application SetRegistrySetting = False Set wd = Нова Word.Application 'създайте обекта на приложението Word при възобновяване на грешката Следващ wd.System.PrivateProfileString ("" , Раздел, ключ) = CStr (KeyValue) при грешка GoTo 0 Set wd = Nothing 'унищожава обекта на Word приложение SetRegistrySetting = True End функция

Използвайте този макрос, за да запазите нова стойност в HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel за ключа DefaultPath:

MyStringVar = "HKEY_CURRENT_USER \ Софтуер \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyBooleanVar = SetRegistrySetting (MyStringVar, _ "DefaultPath", "C: \ Име на папката")

Прочетете информация от регистъра С макроса по -долу можете да прочетете информация от регистъра:

Функция GetRegistrySetting (Секция като низ, ключ като низ) Като низ Замъкване wd Като Word.Application GetRegistrySetting = "" Задаване на wd = Нова Word.Application 'създайте обекта на приложението Word при възобновяване на грешка Следваща GetRegistrySetting = wd.System.PrivateProfileString ("" , Раздел, ключ) On Error GoTo 0 Set wd = Nothing 'унищожават обекта на Word приложението End End

Използвайте този макрос, за да прочетете стойността от ключа DefaultPath
от HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel:

MyStringVar = "HKEY_CURRENT_USER \ Софтуер \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyStringVar = SetRegistrySetting (MyStringVar, _ "DefaultPath")