Option
Explicit
Sub
Bsp()
Call
SetCustomDocumentProperty(
"MyUserForm.Left"
, msoPropertyTypeFloat, 12.34)
Call
SetCustomDocumentProperty(
"MyUserForm.Top"
, msoPropertyTypeFloat, 123.4)
Debug.Print GetCustomDocumentProperty(
"MyUserForm.Left"
)
Debug.Print GetCustomDocumentProperty(
"MyUserForm.Top"
)
End
Sub
Function
SetCustomDocumentProperty(Name
As
String
, PropertyType
As
MsoDocProperties, Value
As
Variant
)
If
Not
IsNull(GetCustomDocumentProperty(Name))
Then
Call
ThisWorkbook.CustomDocumentProperties(Name).Delete
Call
ThisWorkbook.CustomDocumentProperties.Add(Name,
False
, PropertyType, Value)
End
Function
Function
GetCustomDocumentProperty(Name
As
String
)
As
Variant
On
Error
Resume
Next
GetCustomDocumentProperty = ThisWorkbook.CustomDocumentProperties(Name)
If
CBool
(Err.Number)
Then
GetCustomDocumentProperty = Null
End
Function