Here is an example to get specific property. You can loop thru all to get all of them.
Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim swModelDocExt As ModelDocExtension
Dim swCustProp As CustomPropertyManager
Dim val As String
Dim valout As String
Dim bool As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
' Get the custom property data
Set swCustProp = swModelDocExt.CustomPropertyManager("")
bool = swCustProp.Get4("Property_Name", False, val, valout)
Debug.Print "Value: " & val
Debug.Print "Evaluated value: " & valout
Debug.Print "Up-to-date data: " & bool
Thanks for the fast reply!
I noticed that you're using Get4 which ICustomPropertyManager Interface Members says has been deprecated in favor of Get5. Does the Get5 method do the same thing, or should Get4 continue to be used? I'm using SolidWorks Professional 2015.
Also, I noticed that you use UseCached = False. Can you explain why you did that? To be clear, the help document mentions that the value should be "True if the configuration has been activated, false if not", but since I'm referencing custom properties that aren't connected to a configuration, it seems unclear what value should be used.
Yes you can use Get5.
Dim wasResolved As Boolean
bool = swCustProp.Get5("Property_Name", False, val, valout, wasResolved)
If you always want up-to-date data, then you should set UseCached to false (in case you are looking to get the configuration properties). In this case either True or False would work same in my opinion.