Șiruri de profil privat folosind Words System.PrivateProfileString folosind VBA în Microsoft Excel

Anonim

Dacă nu doriți să utilizați funcțiile API, puteți utiliza biblioteca de obiecte Words pentru a citi și scrie șiruri de profil privat.

Cuvinte System.PrivateProfileString poate citi și scrie atât în ​​fișiere INI, cât și în registru.

În alte aplicații decât Word, trebuie să adăugați o referință la biblioteca de obiecte Words.

Puteți adăuga referința deschizând Editorul Visual Basic (VBE) și activați proiectul VB. Apoi selectați Instrumente, Referințe … și bifați opțiunea Microsoft Word x.x Object Library.

Scrieți informații în fișiere INI

Cu macro-ul de mai jos puteți salva informații într-un fișier text:

Funcție 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 'creați obiectul aplicației Word On Error Reîncepeți wd.System. PrivateProfileString (FileName, Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'distruge obiectul aplicației Word SetIniSetting = True End Function

Utilizați macrocomanda ca aceasta pentru a salva valoarea 100 în fișierul C: \ FolderName \ FileName.ini din secțiune
MySectionName pentru cheia TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
Fișierul text va arăta astfel:
[MySectionName]
TestValue = 100

Citiți informații din fișiere INI
Cu macro-ul de mai jos puteți citi informații dintr-un fișier text:

Funcția 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 'distruge obiectul aplicației Word Funcție End

Utilizați macrocomanda ca aceasta pentru a returna valoarea pentru cheia TestValue din secțiunea MySectionName
din fișierul C: \ FolderName \ FileName.ini:

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


Scrieți informații în registru

Cu macro-ul de mai jos puteți salva informații în registru:

Funcție SetRegistrySetting (secțiunea ca șir, _ cheie ca șir, cheieValor) ca boolean Dim wd ca Word.Application SetRegistrySetting = False Set wd = Word nou. , Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'distruge obiectul aplicației Word SetRegistrySetting = True End Function

Utilizați macrocomanda ca aceasta pentru a salva o nouă valoare în HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel pentru cheia DefaultPath:

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

Citiți informații din registru Cu macro-ul de mai jos puteți citi informații din registru:

Funcția GetRegistrySetting (secțiunea ca șir, cheie ca șir) Ca șir Dim wd Ca Word.Application GetRegistrySetting = "" Set wd = New Word.Application 'creați obiectul aplicației Word La eroare Reîncepeți Următorul GetRegistrySetting = wd.System.PrivateProfileString ("" , Secțiune, cheie) La eroare GoTo 0 Set wd = Nothing 'distruge obiectul aplicației Word Funcție de sfârșit

Utilizați macrocomanda ca aceasta pentru a citi valoarea din cheia DefaultPath
din 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")