Reťazce súkromného profilu pomocou systému Words System.PrivateProfileString pomocou jazyka VBA v programe Microsoft Excel

Anonim

Ak nechcete používať funkcie API, na čítanie a zápis reťazcov súkromného profilu môžete použiť knižnicu objektov Words.

Words System.PrivateProfileString dokáže čítať a zapisovať súbory INI aj register.

V iných aplikáciách ako Word musíte pridať odkaz na objektovú knižnicu Words.

Referenciu môžete pridať otvorením editora jazyka (VBE) a aktivovaním projektu VB. Potom vyberte Nástroje, Referencie … a začiarknite možnosť Objektová knižnica programu Microsoft Word x.x.

Zapisujte informácie do súborov INI

Pomocou makra nižšie môžete uložiť informácie do textového súboru:

Funkcia SetIniSetting (Názov súboru ako reťazec, Sekcia ako reťazec, _ Kľúč ako reťazec, Hodnota kľúča) Ako booleovský dim wd ako Word.Application SetIniSetting = False Set wd = New Word.Application 'create the Word application object On Error Resume Next wd.System. PrivateProfileString (FileName, Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nič 'nezničí objekt aplikácie Word SetIniSetting = True End Function

Pomocou makra uložte hodnotu 100 do súboru C: \ FolderName \ FileName.ini v sekcii
MySectionName pre kľúčovú hodnotu testu:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Textový súbor bude vyzerať takto:
[MySectionName]
TestValue = 100

Prečítajte si informácie zo súborov INI
V nižšie uvedenom makre môžete čítať informácie z textového súboru:

Funkcia GetIniSetting (názov súboru ako reťazec, sekcia ako reťazec, _ kľúč ako reťazec) ako reťazec Dim wd ako Word.Application GetIniSetting = "" Set wd = New Word.Application 'create the Word application object On Error Resume Next GetIniSetting = wd.System .PrivateProfileString (Názov súboru, Sekcia, Kľúč) Pri chybe GoTo 0 Nastaviť wd = Nič 'nezničí objekt aplikácie Word Ukončiť funkciu

Pomocou makra vráťte hodnotu pre kľúč TestValue v sekcii MySectionName
zo súboru C: \ FolderName \ FileName.ini:

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


Napíšte informácie do registra

Pomocou makra nižšie môžete uložiť informácie do registra:

Funkcia SetRegistrySetting (Sekcia ako reťazec, _ Kľúč ako reťazec, KeyValue) Ako booleovský dim wd ako Word.Application SetRegistrySetting = False Set wd = New Word.Application 'create the Word application object On Error Resume Next wd.System.PrivateProfileString ("" , Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nič 'nezničí objekt aplikácie Word SetRegistrySetting = True End Function

Makro použite na uloženie novej hodnoty v HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel pre kľúč DefaultPath:

MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyBooleanVar = SetRegistrySetting (MyStringVar, _ "DefaultPath", "C: \ FolderName")

Čítanie informácií z registra Pomocou nižšie uvedeného makra môžete čítať informácie z registra:

Funkcia GetRegistrySetting (sekcia ako reťazec, kľúč ako reťazec) ako reťazec Dim wd ako Word.Application GetRegistrySetting = "" Set wd = New Word.Application 'create the Word application object On Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString ("" (Sekcia, kľúč) Pri chybe GoTo 0 Nastaviť wd = Nič 'nezničí objekt aplikácie Word. Ukončiť funkciu

Makro použite na čítanie hodnoty z kľúča DefaultPath
z HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel:

MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyStringVar = SetRegistrySetting (MyStringVar, _ "DefaultPath")