Soukromé profilové řetězce pomocí Words System.PrivateProfileString pomocí VBA v Microsoft Excelu

Anonim

Pokud nechcete používat funkce API, můžete ke čtení a zápisu řetězců soukromého profilu použít objektovou knihovnu Words.

Words System.PrivateProfileString umí číst ze souborů INI i do registru a zapisovat do nich.

V jiných aplikacích než Word musíte přidat odkaz na objektovou knihovnu Words.

Odkaz můžete přidat otevřením editoru jazyka (VBE) a aktivací projektu VB. Poté vyberete Nástroje, Reference … a zaškrtnete možnost Objektová knihovna Microsoft Word x.x.

Zapisujte informace do INI souborů

Pomocí níže uvedeného makra můžete ukládat informace do textového souboru:

Funkce SetIniSetting (FileName As String, Section As String, _ Key As String, KeyValue) As Boolean Dim wd As 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 = Nothing 'destru the Word application object SetIniSetting = True End Function

Pomocí makra uložte hodnotu 100 do souboru C: \ FolderName \ FileName.ini v sekci
MySectionName pro klíč TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Textový soubor bude vypadat takto:
[MySectionName]
TestValue = 100

Přečtěte si informace ze souborů INI
Pomocí níže uvedeného makra můžete číst informace z textového souboru:

Funkce GetIniSetting (Název souboru jako řetězec, Sekce jako řetězec, _ Klíč jako řetězec) Jako řetězec Dim wd jako Word.Application GetIniSetting = "" Set wd = New Word.Application 'create the Word application object On Error Resume Next GetIniSetting = wd.System .PrivateProfileString (Název souboru, Sekce, Klíč) Při chybě Přejít 0 Nastavit wd = Nic 'nezničit objekt aplikace Word Konec Funkce

Pomocí tohoto makra vraťte hodnotu pro klíč TestValue v sekci MySectionName
ze souboru C: \ FolderName \ FileName.ini:

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


Zapište informace do registru

Pomocí níže uvedeného makra můžete ukládat informace do registru:

Funkce SetRegistrySetting (Sekce jako řetězec, _ Klíč jako řetězec, KeyValue) Jako logická dim wd jako Word.Application SetRegistrySetting = False Set wd = New Word.Application 'vytvoří objekt aplikace Word Při chybě Pokračovat další wd.System.PrivateProfileString ("" , Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'destruct the Word application object SetRegistrySetting = True End Function

Pomocí tohoto makra uložte novou hodnotu do HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel pro klíč DefaultPath:

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

Čtení informací z registru Pomocí níže uvedeného makra můžete číst informace z registru:

Funkce GetRegistrySetting (Sekce jako řetězec, Klíč jako řetězec) Jako řetězec Dim wd jako Word.Application GetRegistrySetting = "" Set wd = New Word.Application 'create the Word application object On Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString ("" (Sekce, Klíč) Při chybě GoTo 0 Set wd = Nothing 'zničí objekt aplikace Word Ukončit funkci

Pomocí tohoto makra přečtěte hodnotu z klíče 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")