Privato Strings profilo utilizzando parole System.PrivateProfileString utilizzando VBA in Microsoft Excel
Se non vuoi usare le funzioni API puoi usare la libreria di oggetti Words per leggere e scrivere stringhe di profilo privato.
Le parole System.PrivateProfileString possono leggere e scrivere sia nei file INI che nel registro.
In altre applicazioni oltre a Word è necessario aggiungere un riferimento alla libreria di oggetti Words.
È possibile aggiungere il riferimento aprendo Visual Basic Editor (VBE) e attivare il progetto VB. Quindi seleziona Strumenti, Riferimenti … e controlla l’opzione Libreria oggetti di Microsoft Word x.x.
Scrive le informazioni sui file INI
Con la macro sottostante puoi salvare le informazioni in un file di testo:
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
Usa la macro in questo modo per salvare il valore 100 nel file C: \ FolderName \ FileName.ini nella sezione MySectionName per la chiave TestValue:
MyBooleanVar = SetIniSetting (“C: \ FolderName \ FileName.ini”, “MySectionName”, “TestValue”, 100)
Il file di testo avrà questo aspetto:
TestValue = 100
Leggi le informazioni dai file INI
Con la macro qui sotto puoi leggere le informazioni da un file di testo:
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
Usa la macro in questo modo per restituire il valore per la chiave TestValue nella sezione MySectionName dal file C: \ FolderName \ FileName.ini:
MyStringVar = GetIniSetting("C:\FolderName\FileName.ini", _ "MySectionName", "TestValue")
===
Scrivi informazioni nel Registro * Con la macro sottostante puoi salvare le informazioni nel Registro:
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
Usa la macro in questo modo per salvare un nuovo valore in HKEY_CURRENT_USER \ Software \ Microsoft \ Office8.0 \ Excel \ Microsoft Excel per la chiave DefaultPath:
MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Microsoft Excel" MyBooleanVar = SetRegistrySetting(MyStringVar, _ "DefaultPath", "C:\FolderName")
Leggere le informazioni dal Registro Con la macro sottostante puoi leggere le informazioni dal Registro:
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
Usa la macro come questa per leggere il valore dalla chiave DefaultPath
da 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")