Als u geen API-functies wilt gebruiken, kunt u de Words-objectbibliotheek gebruiken om Private Profile Strings te lezen en te schrijven.
Woorden System.PrivateProfileString kan lezen van en schrijven naar zowel INI-bestanden als het register.
In andere toepassingen dan Word moet u een verwijzing naar de Words-objectbibliotheek toevoegen.
U kunt de referentie toevoegen door de Visual Basic Editor (VBE) te openen en uw VB-project te activeren. Vervolgens selecteert u Tools, References… en vinkt u de optie Microsoft Word x.x Object Library aan.
Schrijf informatie naar INI-bestanden
Met onderstaande macro kun je informatie opslaan in een tekstbestand:
Functie 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 ' maak het Word-toepassingsobject Bij fout Hervatten volgende wd.System. PrivateProfileString(FileName, Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' vernietig het Word-toepassingsobject SetIniSetting = True End Function
Gebruik de macro op deze manier om de waarde 100 op te slaan in het bestand C:\FolderName\FileName.ini in de sectie
MySectionName voor de sleutel TestValue:
MyBooleanVar = SetIniSetting("C:\FolderName\FileName.ini", "MySectionName", "TestValue", 100)
Het tekstbestand ziet er als volgt uit:
[MijnSectieNaam]
Testwaarde=100
Informatie lezen uit INI-bestanden
Met onderstaande macro kun je informatie uit een tekstbestand lezen:
Functie GetIniSetting(FileName As String, Section As String, _ Key As String) As String Dim wd As Word.Application GetIniSetting = "" Set wd = New Word.Application ' maak het Word-toepassingsobject On Error Resume Next GetIniSetting = wd.System .PrivateProfileString (FileName, Section, Key) On Error GoTo 0 Set wd = Nothing ' vernietig het Word-toepassingsobject End Function
Gebruik de macro op deze manier om de waarde terug te geven voor de sleutel TestValue in de sectie MySectionName
uit het bestand C:\FolderName\FileName.ini:
MyStringVar = GetIniSetting("C:\FolderName\FileName.ini", _ "MySectionName", "TestValue")
Schrijf informatie naar het register
Met onderstaande macro kun je informatie opslaan in het Register:
Functie SetRegistrySetting(Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application ' maak het Word-toepassingsobject On Error Resume Next wd.System.PrivateProfileString("" , Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' vernietig het Word-toepassingsobject SetRegistrySetting = True End Function
Gebruik de macro op deze manier om een nieuwe waarde op te slaan in HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\Microsoft
Excel voor de sleutel DefaultPath:
MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\Microsoft Excel" MyBooleanVar = SetRegistrySetting(MyStringVar, _ "DefaultPath", "C:\FolderName")
Informatie uit het Register lezen Met onderstaande macro kunt u informatie uit het Register lezen:
Functie GetRegistrySetting(Section As String, Key As String) As String Dim wd As Word.Application GetRegistrySetting = "" Set wd = New Word.Application ' maak het Word-toepassingsobject Bij Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString("" , Sectie, Sleutel) Bij Fout GoTo 0 Set wd = Niets ' vernietig het Word-toepassingsobject End Function
Gebruik de macro op deze manier om de waarde van de sleutel DefaultPath . te lezen
van 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")