Ciągi profili prywatnych przy użyciu Words System.PrivateProfileString przy użyciu VBA w programie Microsoft Excel

Anonim

Jeśli nie chcesz używać funkcji API, możesz użyć biblioteki obiektów Words do odczytywania i zapisywania prywatnych ciągów profili.

Program Words System.PrivateProfileString może odczytywać i zapisywać zarówno pliki INI, jak i rejestr.

W innych aplikacjach niż Word musisz dodać odwołanie do biblioteki obiektów Words.

Możesz dodać odwołanie, otwierając Edytor Visual Basic (VBE) i aktywując projekt VB. Następnie wybierasz Narzędzia, Referencje… i zaznaczasz opcję Biblioteka obiektów Microsoft Word x.x.

Zapisz informacje do plików INI

Za pomocą poniższego makra możesz zapisać informacje w pliku tekstowym:

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 ' utwórz obiekt aplikacji Word po błędzie wznowienia następnego wd.System. PrivateProfileString(FileName, Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' zniszcz obiekt aplikacji Word SetIniSetting = True End Function

Użyj tego makra, aby zapisać wartość 100 w pliku C:\FolderName\FileName.ini w sekcji
MySectionName dla klucza TestValue:
MyBooleanVar = SetIniSetting("C:\FolderName\FileName.ini", "MySectionName", "TestValue", 100)
Plik tekstowy będzie wyglądał tak:
[MojaNazwaSekcji]
TestValue=100

Przeczytaj informacje z plików INI
Za pomocą poniższego makra możesz odczytać informacje z pliku tekstowego:

Function GetIniSetting(FileName As String, Section As String, _ Key As String) As String Dim wd As Word.Application GetIniSetting = "" Set wd = New Word.Application ' utwórz obiekt aplikacji Word On Error Resume Next GetIniSetting = wd.System .PrivateProfileString(FileName, Section, Key) On Error GoTo 0 Set wd = Nothing ' zniszcz obiekt aplikacji Word End Function

Użyj tego makra, aby zwrócić wartość klucza TestValue w sekcji MySectionName
z pliku C:\NazwaFolderu\NazwaPliku.ini:

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


Wpisz informacje do Rejestru

Za pomocą poniższego makra możesz zapisać informacje w Rejestrze:

Function SetRegistrySetting(Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application ' utwórz obiekt aplikacji Word On Error Resume Next wd.System.PrivateProfileString("" , Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' zniszcz obiekt aplikacji Word SetRegistrySetting = True End Function

Użyj tego makra, aby zapisać nową wartość w HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\Microsoft
Excel dla klucza DefaultPath:

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

Odczytywanie informacji z Rejestru Za pomocą poniższego makra można odczytać informacje z Rejestru:

Function GetRegistrySetting(Section As String, Key As String) As String Dim wd As Word.Application GetRegistrySetting = "" Set wd = New Word.Application ' utwórz obiekt aplikacji Word Przy wznowieniu błędu Dalej GetRegistrySetting = wd.System.PrivateProfileString("" , Section, Key) On Error GoTo 0 Set wd = Nothing 'zniszcz obiekt aplikacji Word End Function

Użyj tego makra, aby odczytać wartość z klucza DefaultPath
z 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")