Le stringhe di profilo privato vengono spesso utilizzate per memorizzare informazioni specifiche dell’utente al di fuori dell’applicazione / documento per un uso successivo.

È possibile ad esempio memorizzare le informazioni sull’ultimo contenuto in una finestra di dialogo / UserForm, quante volte è stata aperta una cartella di lavoro o l’ultimo numero di fattura utilizzato per un modello di fattura.

Le stringhe di profilo private per ogni utente possono essere memorizzate nel registro. È inoltre possibile utilizzare un file INI, sul disco rigido locale o su una cartella di rete condivisa.

Di seguito sono riportate le macro di esempio per la scrittura e la lettura dalle stringhe del profilo privato nel registro.

' the examples below assumes that the range B3:B5 in the active sheet contains

' information about Lastname, Firstname and Birthdate

Sub WriteUserInfoToRegistry()

' saves information in the Registry to

' HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TESTAPPLICATION

On Error Resume Next

SaveSetting "TESTAPPLICATION", "Personal", "Lastname", Range("B3").Value

SaveSetting "TESTAPPLICATION", "Personal", "Firstname", Range("B4").Value

SaveSetting "TESTAPPLICATION", "Personal", "Birthdate", Range("B5").Value

On Error GoTo 0

End Sub

Sub ReadUserInfoFromRegistry()

' reads information in the Registry from

' HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TESTAPPLICATION

Range("B3").Formula = GetSetting("TESTAPPLICATION", "Personal", "Lastname", "")

Range("B4").Formula = GetSetting("TESTAPPLICATION", "Personal", "Firstname", "")

Range("B5").Formula = GetSetting("TESTAPPLICATION", "Personal", "Birthdate", "")

End Sub

' the example below assumes that the range D4 in the active sheet contains

' information about the unique number

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()

' deletes information in the Registry from

' HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TESTAPPLICATION

On Error Resume Next

DeleteSetting "TESTAPPLICATION" ' delete all information

'DeleteSetting "TESTAPPLICATION", "Personal" ' delete one section

'DeleteSetting "TESTAPPLICATION", "Personal", "Birthdate" ' delete one key

On Error GoTo 0

End Sub