Hi,
We extensively use userfields in our visio diagrams. I created a .vdx diagram with just one shape. This shape has some userfields. I’m testing with version 3.6.0.0 and have a time limited test license (so I can properly test without any shape limitations).
When we save this diagram as .vdx and read the user fields using aspose.diagrams everything is working fine. (There are 9 items in the user collection of the shape)
The code I use to traverse the shapes and userfields:
Dim objVisioDocument As New Aspose.Diagram.Diagram(Me.VDXPathTest)
For Each objPage As Aspose.Diagram.Page In objVisioDocument.Pages
For Each objShape As Aspose.Diagram.Shape In objPage.Shapes
Dim strShapeName As String = objShape.NameU
For Each objUserField As Aspose.Diagram.User In objShape.Users
Dim strUserNameU As String = objUserField.NameU
Dim strUserValue As String = objUserField.Value.Val
Next
Next
Next
However, when I open this diagram in Visio 2013 and save it as .vsdx and then read those userfields using Aspose.Diagram, it seems not all fields are properly read. I only got 2 fields in the collection.
When I take a look at the shapefields using developer mode in Visio 2013, those values are still properly filled.
Doing a quick search on the files in the .vsdx file it seems the info needed is available in master5.xml.
Apparently the userfields is some kind of union between fields set in the page.xml and fields in a master.xml.
We need to be able to read Visio 2013 files for our application, so we need this to be fixed before we can buy and start using Aspose.Diagram.
I included the .vdx I used for testing. I did not include the .vsdx, since this can be easily created by opening the .vdx in Visio 2013 and save it as .vsdx.
Regards,
Robert Wielink
Sr. Software Engineer
Infoland BV