Private profilstrenge ved hjælp af Words System.PrivateProfileString ved hjælp af VBA i Microsoft Excel

Anonim

Hvis du ikke vil bruge API-funktioner, kan du bruge Words objektbibliotek til at læse og skrive private profilstrenge.

Words System.PrivateProfileString kan læse fra og skrive til både INI-filer og registreringsdatabasen.

I andre applikationer end Word skal du tilføje en reference til Words objektbibliotek.

Du kan tilføje referencen ved at åbne Visual Basic Editor (VBE) og aktivere dit VB -projekt. Derefter vælger du Værktøjer, referencer … og markerer indstillingen Microsoft Word x.x Object Library.

Skriv oplysninger til INI-filer

Med makroen herunder kan du gemme oplysninger i en tekstfil:

Funktion SetIniSetting (Filnavn som streng, sektion som streng, _ nøgle som streng, nøgleværdi) Som boolsk dim wd som Word.Application SetIniSetting = Falsk sæt wd = nyt Word.Application 'opret Word -applikationsobjektet Ved fejl Genoptag næste wd.System. PrivateProfileString (FileName, Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'ødelægge Word -applikationsobjektet SetIniSetting = True End -funktion

Brug makroen på denne måde til at gemme værdien 100 i filen C: \ FolderName \ FileName.ini i sektionen
MySectionName for nøglen TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Tekstfilen vil se sådan ud:
[MySectionName]
Testværdi = 100

Læs information fra INI-filer
Med makroen herunder kan du læse oplysninger fra en tekstfil:

Funktion GetIniSetting (Filnavn som streng, sektion som streng, _ nøgle som streng) Som streng Dim wd Som Word.Application GetIniSetting = "" Set wd = New Word.Application 'opret Word -applikationsobjektet Ved fejl Genoptag Næste GetIniSetting = wd.System .PrivateProfileString (filnavn, sektion, nøgle) ved fejl GoTo 0 Set wd = Intet 'ødelægge Word -applikationsobjektet Afslut funktion

Brug makroen på denne måde til at returnere værdien for nøglen TestValue i afsnittet MySectionName
fra filen C: \ FolderName \ FileName.ini:

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


Skriv oplysninger til registreringsdatabasen

Med makroen herunder kan du gemme oplysninger i registreringsdatabasen:

Funktion SetRegistrySetting (sektion som streng, _ nøgle som streng, nøgleværdi) som boolsk dim wd som Word.Application SetRegistrySetting = Falsk sæt wd = nyt Word.Application 'opret Word -applikationsobjektet ved fejl Genoptag næste wd.System.PrivateProfileString ("" , Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'ødelægge Word -applikationsobjektet SetRegistrySetting = True End -funktion

Brug makroen som denne for at gemme en ny værdi i HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel til nøglen DefaultPath:

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

Læs oplysninger fra registreringsdatabasen Med makroen herunder kan du læse oplysninger fra registreringsdatabasen:

Funktion GetRegistrySetting (sektion som streng, nøgle som streng) Som streng Dim wd som Word.Application GetRegistrySetting = "" Set wd = New Word.Application 'opret Word -applikationsobjektet Ved fejl Genoptag Næste GetRegistrySetting = wd.System.PrivateProfileString ("" , Sektion, nøgle) Ved fejl GoTo 0 Set wd = Intet 'ødelægge Word -programobjektets endefunktion

Brug makroen som denne til at læse værdien fra nøglen DefaultPath
fra 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")