Wenn Sie keine API-Funktionen verwenden möchten, können Sie die Words-Objektbibliothek zum Lesen und Schreiben von privaten Profilzeichenfolgen verwenden.

Wörter System.PrivateProfileString kann sowohl aus INI-Dateien als auch aus der Registrierung lesen und in diese schreiben.

In anderen Anwendungen als Word müssen Sie einen Verweis auf die Words-Objektbibliothek hinzufügen.

Sie können die Referenz hinzufügen, indem Sie den Visual Basic-Editor (VBE) öffnen und Ihr VB-Projekt aktivieren. Anschließend wählen Sie Extras, Verweise …​ aus und aktivieren die Option Microsoft Word x.x-Objektbibliothek.

Informationen in INI-Dateien schreiben

Mit dem folgenden Makro können Sie Informationen in einer Textdatei speichern:

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 ' destroy the Word application object

SetIniSetting = True

End Function

Verwenden Sie das folgende Makro, um den Wert 100 in der Datei C: \ FolderName \ FileName.ini im Abschnitt MySectionName für den Schlüssel TestValue:

zu speichern MyBooleanVar = SetIniSetting („C: \ Ordnername \ Dateiname.ini“, „MySectionName“, „TestValue“, 100)

Die Textdatei sieht folgendermaßen aus:

TestValue = 100

Informationen aus INI-Dateien lesen

Mit dem folgenden Makro können Sie Informationen aus einer Textdatei lesen:

Function GetIniSetting(FileName As String, Section As String, _

Key As String) As String

Dim wd As Word.Application

GetIniSetting = ""

Set wd = New Word.Application ' create the Word application object

On Error Resume Next

GetIniSetting = wd.System.PrivateProfileString(FileName, Section, Key)

On Error GoTo 0

Set wd = Nothing ' destroy the Word application object

End Function

Verwenden Sie das folgende Makro, um den Wert für den Schlüssel TestValue im Abschnitt MySectionName aus der Datei C: \ FolderName \ FileName.ini:

zurückzugeben

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

"MySectionName", "TestValue")

===

Informationen in die Registrierung schreiben * Mit dem folgenden Makro können Sie Informationen in der Registrierung speichern:

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("", Section, Key) = CStr(KeyValue)

On Error GoTo 0

Set wd = Nothing ' destroy the Word application object

SetRegistrySetting = True

End Function

Verwenden Sie das folgende Makro, um einen neuen Wert in HKEY_CURRENT_USER \ Software \ Microsoft \ Office8.0 \ Excel \ Microsoft Excel für den Schlüssel DefaultPath zu speichern:

MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Microsoft Excel"

MyBooleanVar = SetRegistrySetting(MyStringVar, _

"DefaultPath", "C:\FolderName")

Informationen aus der Registrierung lesen Mit dem folgenden Makro können Sie Informationen aus der Registrierung lesen:

Function GetRegistrySetting(Section As String, Key As String) As String

Dim wd As Word.Application

GetRegistrySetting = ""

Set wd = New Word.Application ' create the Word application object

On Error Resume Next

GetRegistrySetting = wd.System.PrivateProfileString("", Section, Key)

On Error GoTo 0

Set wd = Nothing ' destroy the Word application object

End Function

Verwenden Sie das Makro wie folgt, um den Wert aus dem Schlüssel DefaultPath

zu lesen von HKEY_CURRENT_USER \ Software \ Microsoft \ Office8.0 \ Excel \ Microsoft Excel:

MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Microsoft Excel"

MyStringVar = SetRegistrySetting(MyStringVar, _

"DefaultPath")