Stringhe di profili privati ​​che utilizzano il registro utilizzando VBA in Microsoft Excel

Anonim

Le stringhe del profilo privato vengono spesso utilizzate per memorizzare informazioni specifiche dell'utente al di fuori dell'applicazione/documento per un uso successivo.
Potresti ad esempio memorizzare le informazioni sui contenuti più recenti in una finestra di dialogo/modulo utente,
quante volte è stata aperta una cartella di lavoro o l'ultimo numero di fattura utilizzato per un modello di fattura.
Le stringhe del profilo privato per ciascun utente possono essere archiviate nel registro. Puoi anche usare un file INI,
sul disco rigido locale o su una cartella di rete condivisa.

Ecco le macro di esempio per scrivere e leggere da stringhe di profili privati ​​nel registro.

' gli esempi seguenti presumono che l'intervallo B3:B5 nel foglio attivo contenga ' informazioni su cognome, nome e data di nascita Sub WriteUserInfoToRegistry() ' salva le informazioni nel Registro di sistema in ' HKEY_CURRENT_USER\Software\VB e VBA Program Settings\TESTAPPLICATION On Error Resume Successivo SaveSetting "TESTAPPLICATION", "Personal", "Lastname", Range("B3").Value SaveSetting "TESTAPPLICATION", "Personal", "Firstname", Range("B4").Value SaveSetting "TESTAPPLICATION", "Personal ", "Data di nascita", Range ("B5"). Value On Error GoTo 0 End Sub ReadUserInfoFromRegistry() " legge le informazioni nel Registro di sistema da " HKEY_CURRENT_USER\Software\VB e VBA Program Settings\TESTAPPLICATION Range("B3"). Formula = GetSetting("TESTAPPLICATION", "Personal", "Cognome", "") Range("B4").Formula = GetSetting("TESTAPPLICATION", "Personal", "Firstname", "") Range("B5" ).Formula = GetSetting("TESTAPPLICATION", "Personal", "Birthdate", "") End Sub ' l'esempio seguente presuppone che l'intervallo D4 nella pagina attiva t contiene ' informazioni sul numero univoco Sub GetNewUniqueNumberFromRegistry() Dim UniqueNumber As Long UniqueNumber = 0 On Error Resume Next UniqueNumber = CLng(GetSetting("TESTAPPLICATION", "Personal", "UniqueNumber", "")) On Error GoTo 0 Range ("D4"). Formula = UniqueNumber + 1 SaveSetting "TESTAPPLICATION", "Personal", "UniqueNumber", Range ("D4"). Value End Sub Sub DeleteUserInfoFromRegistry() ' elimina le informazioni nel registro da ' HKEY_CURRENT_USER\Software\ VB e VBA Program Settings\TESTAPPLICATION On Error Riprendi Next DeleteSetting "TESTAPPLICATION" ' elimina tutte le informazioni 'DeleteSetting "TESTAPPLICATION", "Personal" ' elimina una sezione 'DeleteSetting "TESTAPPLICATION", "Personal", "Birthdate" ' elimina una chiave On Errore GoTo 0 End Sub