Stringhe di profilo privato utilizzando Words System.PrivateProfileString utilizzando VBA in Microsoft Excel

Anonim

Se non si desidera utilizzare le funzioni API, è possibile utilizzare la libreria di oggetti di Words per leggere e scrivere stringhe di profili privati.

Words System.PrivateProfileString può leggere e scrivere sia nei file INI che nel Registro di sistema.

In altre applicazioni oltre a Word è necessario aggiungere un riferimento alla libreria di oggetti di Words.

Puoi aggiungere il riferimento aprendo Visual Basic Editor (VBE) e attivando il tuo progetto VB. Quindi si seleziona Strumenti, Riferimenti… e si seleziona l'opzione Libreria oggetti Microsoft Word x.x.

Scrivi informazioni su file INI

Con la macro qui sotto puoi salvare le informazioni in un file di testo:

Funzione SetIniSetting(FileName As String, Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetIniSetting = False Imposta wd = New Word.Application ' crea l'oggetto applicazione Word In caso di errore Riprendi successivo wd.System. PrivateProfileString(FileName, Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' distrugge l'oggetto dell'applicazione Word SetIniSetting = True End Function

Usa la macro come questa 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 sarà simile a questo:
[MioNomeSezione]
ValoreTest=100

Leggi le informazioni dai file INI
Con la macro qui sotto puoi leggere le informazioni da un file di testo:

Funzione GetIniSetting(FileName As String, Section As String, _ Key As String) As String Dim wd As Word.Application GetIniSetting = "" Imposta wd = New Word.Application ' crea l'oggetto applicazione Word In caso di errore Riprendi successivo GetIniSetting = wd.System .PrivateProfileString(FileName, Section, Key) On Error GoTo 0 Set wd = Nothing ' distrugge l'oggetto dell'applicazione Word End Function

Usa la macro come questa per restituire il valore per la chiave TestValue nella sezione MySectionName
dal file C:\NomeCartella\NomeFile.ini:

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


Scrivi informazioni al Registro

Con la macro qui sotto puoi salvare le informazioni nel Registro:

Function SetRegistrySetting(Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Imposta wd = New Word.Application ' crea l'oggetto applicazione Word In caso di errore Riprendi Avanti wd.System.PrivateProfileString("" , Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' distrugge l'oggetto dell'applicazione Word SetRegistrySetting = True End Function

Usa la macro come questa per salvare un nuovo valore in HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\Microsoft
Excel per la chiave DefaultPath:

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

Leggi le informazioni dal Registro Con la macro sottostante puoi leggere le informazioni dal Registro:

Funzione GetRegistrySetting (Sezione come stringa, chiave come stringa) As String Dim wd As Word.Application GetRegistrySetting = "" Imposta wd = New Word.Application ' crea l'oggetto applicazione Word In caso di errore Riprendi successivo GetRegistrySetting = wd.System.PrivateProfileString("" , Section, Key) On Error GoTo 0 Set wd = Nothing 'distrugge l'oggetto dell'applicazione Word End Function

Usa la macro come questa per leggere il valore dalla chiave DefaultPath
da 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")