Private Profile Strings using Words System.PrivateProfileString using VBA in Microsoft Excel

Anonim

Hvis du ikke vil bruke API-funksjoner, kan du bruke Words objektbibliotek til å lese og skrive private profilstrenger.

Words System.PrivateProfileString kan lese fra og skrive til både INI-filer og registeret.

I andre applikasjoner enn Word må du legge til en referanse til Words objektbibliotek.

Du kan legge til referansen ved å åpne Visual Basic Editor (VBE) og aktivere VB -prosjektet. Deretter velger du Verktøy, referanser … og merker av for alternativet Microsoft Word x.x objektbibliotek.

Skriv informasjon til INI-filer

Med makroen nedenfor kan du lagre informasjon i en tekstfil:

Function 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 'ødelegge Word -applikasjonsobjektet SetIniSetting = True End -funksjon

Bruk makroen som denne for å lagre verdien 100 i filen C: \ FolderName \ FileName.ini i delen
MySectionName for nøkkelen TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Tekstfilen vil se slik ut:
[MySectionName]
TestValue = 100

Les informasjon fra INI-filer
Med makroen nedenfor kan du lese informasjon fra en tekstfil:

Funksjon GetIniSetting (Filnavn som streng, seksjon som streng, _ nøkkel som streng) Som streng Dim wd Som Word.Application GetIniSetting = "" Set wd = New Word.Application 'opprett Word -applikasjonsobjektet Ved feil gjenoppta neste GetIniSetting = wd.System .PrivateProfileString (filnavn, seksjon, nøkkel) på feil GoTo 0 Set wd = Nothing 'ødelegge Word -applikasjonsobjektet Sluttfunksjon

Bruk makroen som denne for å returnere verdien for nøkkelen TestValue i delen MySectionName
fra filen C: \ FolderName \ FileName.ini:

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


Skriv informasjon til registeret

Med makroen nedenfor kan du lagre informasjon i registret:

Function SetRegistrySetting (Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application 'create the Word application object On Error Resume Next wd.System.PrivateProfileString ("" , Seksjon, nøkkel) = CStr (KeyValue) på feil GoTo 0 Set wd = Nothing 'ødelegge Word -applikasjonsobjektet SetRegistrySetting = True End -funksjon

Bruk makroen som denne for å lagre en ny verdi i HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel for nøkkelen DefaultPath:

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

Les informasjon fra registret Med makroen nedenfor kan du lese informasjon fra registeret:

Funksjon GetRegistrySetting (seksjon som streng, nøkkel som streng) Som streng Dim wd Som Word.Application GetRegistrySetting = "" Sett wd = New Word.Application 'opprett Word -applikasjonsobjektet Ved feiloppstart Neste GetRegistrySetting = wd.System.PrivateProfileString ("" , Seksjon, nøkkel) Ved feil GoTo 0 Set wd = Nothing 'ødelegge Word -applikasjonsobjektet End Function

Bruk makroen som denne for å lese verdien fra nøkkelen 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")