Om du inte vill använda API-funktioner kan du använda Words objektbibliotek för att läsa och skriva privata profilsträngar.
Words System.PrivateProfileString kan läsa från och skriva till både INI-filer och registret.
I andra applikationer än Word måste du lägga till en referens till Words objektbibliotek.
Du kan lägga till referensen genom att öppna Visual Basic Editor (VBE) och aktivera ditt VB -projekt. Sedan väljer du Verktyg, referenser … och markerar alternativet Microsoft Word x.x Object Library.
Skriv information till INI-filer
Med makrot nedan kan du spara information i en textfil:
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 'förstör Word -programobjektet SetIniSetting = True End -funktion
Använd makrot så här för att spara värdet 100 i filen C: \ FolderName \ FileName.ini i avsnittet
MySectionName för nyckeln TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Textfilen kommer att se ut så här:
[MySectionName]
Testvärde = 100
Läs information från INI-filer
Med makrot nedan kan du läsa information från en textfil:
Funktion GetIniSetting (Filnamn som sträng, sektion som sträng, _ nyckel som sträng) Som sträng Dim wd Som Word.Application GetIniSetting = "" Ange wd = nytt Word.Application 'skapa Word -applikationsobjektet Vid fel Återuppta nästa GetIniSetting = wd.System .PrivateProfileString (filnamn, avsnitt, nyckel) vid fel GoTo 0 Set wd = ingenting 'förstör Word -programobjektet Slutfunktion
Använd makrot så här för att returnera värdet för nyckeln TestValue i avsnittet MySectionName
från filen C: \ FolderName \ FileName.ini:
MyStringVar = GetIniSetting ("C: \ FolderName \ FileName.ini", _ "MySectionName", "TestValue")
Skriv information till registret
Med makrot nedan kan du spara information 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 ("" , Sektion, nyckel) = CStr (KeyValue) Vid fel GoTo 0 Set wd = Nothing 'förstör Word -programobjektet SetRegistrySetting = True End -funktion
Använd makrot så här för att spara ett nytt värde i HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel för nyckeln DefaultPath:
MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyBooleanVar = SetRegistrySetting (MyStringVar, _ "DefaultPath", "C: \ FolderName")
Läs information från registret Med makrot nedan kan du läsa information från registret:
Funktion GetRegistrySetting (avsnitt som sträng, nyckel som sträng) As sträng Dim wd As Word.Application GetRegistrySetting = "" Set wd = New Word.Application 'create the Word application object On Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString ("" , Sektion, nyckel) Vid fel GoTo 0 Set wd = Nothing 'förstör Word -programobjektets slutfunktion
Använd makrot så här för att läsa värdet från nyckeln DefaultPath
från 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")