Nizki zasebnih profilov z uporabo Words System.PrivateProfileString z uporabo VBA v programu Microsoft Excel

Anonim

Če ne želite uporabljati funkcij API, lahko za branje in pisanje nizov zasebnega profila uporabite knjižnico objektov Words.

Besede System.PrivateProfileString lahko berejo in zapisujejo tako v datoteke INI kot v register.

V drugih aplikacijah kot v Wordu morate dodati sklic na knjižnico predmetov Words.

Sklic lahko dodate tako, da odprete urejevalnik Visual Basic (VBE) in aktivirate svoj projekt VB. Nato izberete Orodja, Reference … in potrdite možnost Knjižnica predmetov Microsoft Word x.x.

Zapišite podatke v datoteke INI

S spodnjim makrom lahko podatke shranite v besedilno datoteko:

Funkcija SetIniSetting (Ime datoteke kot niz, odsek kot niz, _ ključ kot niz, ključna vrednost) Kot logično zatemnitev wd kot Word.Application SetIniSetting = False Set wd = New Word.Application 'ustvarite objekt aplikacije Word ob nadaljevanju napake Naslednji wd.System. PrivateProfileString (Ime datoteke, odsek, ključ) = CStr (KeyValue) Napaka GoTo 0 Set wd = Nothing 'uniči objekt aplikacije Word SetIniSetting = Funkcija True End

S tem makrom shranite vrednost 100 v datoteko C: \ Ime mape \ Ime datoteke.ini v razdelku
MySectionName za ključ TestValue:
MyBooleanVar = SetIniSetting ("C: \ Ime mape \ Ime_datoteke.ini", "Ime_Moje Odseka", "TestValue", 100)
Besedilna datoteka bo videti tako:
[MySectionName]
TestValue = 100

Preberite informacije iz datotek INI
S spodnjim makrom lahko preberete informacije iz besedilne datoteke:

Funkcija GetIniSetting (Ime datoteke kot niz, odsek kot niz, _ ključ kot niz) Kot niz Zatemni wd Kot Word.Application GetIniSetting = "" Nastavi wd = Nova Word.Application "ustvari objekt aplikacije Word ob nadaljevanju napake Naslednji GetIniSetting = wd.System .PrivateProfileString (Ime datoteke, odsek, ključ) Napaka GoTo 0 Set wd = Nothing 'uniči objekt aplikacije Word Word End Funkcija

S takim makrom vrnite vrednost ključa TestValue v razdelku MySectionName
iz datoteke C: \ Ime mape \ Ime datoteke.ini:

MyStringVar = GetIniSetting ("C: \ Ime mape \ Ime_datoteke.ini", _ "Ime_Moje Odseka", "TestValue")


Zapišite podatke v register

S spodnjim makrom lahko podatke shranite v register:

Funkcija SetRegistrySetting (Odsek kot niz, _ ključ kot niz, ključna vrednost) Kot logično zatemnitev wd kot Word.Application SetRegistrySetting = False Set wd = New Word.Application 'ustvarite objekt aplikacije Word ob nadaljevanju napake Naslednji wd.System.PrivateProfileString ("" , Oddelek, Ključ) = CStr (KeyValue) Napaka GoTo 0 Set wd = Nothing 'uniči objekt aplikacije Word SetRegistrySetting = True End Funkcija

S tem makrom shranite novo vrednost v HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel za ključ DefaultPath:

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

Branje podatkov iz registra S spodnjim makrom lahko preberete podatke iz registra:

Funkcija GetRegistrySetting (Odsek kot niz, ključ kot niz) Kot niz Zatemni wd Kot Word.Application GetRegistrySetting = "" Nastavi wd = New Word.Application 'ustvari objekt aplikacije Word Napaka Nadaljuj Naprej GetRegistrySetting = wd.System.PrivateProfileString ("" , Oddelek, ključ) Napaka Pojdi na 0 Nastavi wd = Nič 'uniči končno funkcijo predmeta aplikacije Word

S tem makrom preberite vrednost s ključa DefaultPath
iz 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")