Option Explicit
Private Sub UserForm_Initialize()
Dim d As DocumentProperty
With ThisWorkbook
For Each d In .CustomDocumentProperties
Me.Controls(d.Name).Value = d.Value
Next d
End With
End Sub
Private Sub UserForm_Terminate()
Dim d As DocumentProperty, i As Byte
With ThisWorkbook
For Each d In .CustomDocumentProperties
d.Delete
Next d
End With
For i = 1 To 3
With Me.Controls("TextBox" & i)
ThisWorkbook.CustomDocumentProperties.Add .Name, False, msoPropertyTypeString, .Value
End With
Next i
End Sub