The problem with this process is knowing what the metamodel is in Visio 2000. What I tried to do was use the Visio object model to iterate through all the objects in a database diagram and determine where Visio stored all of its information. The good news was that I was able to find almost everthing. The bad news is (1) I couldn't find everything, for instance PK and FK information, and (2) it took a VBA program written in MS Access and a lot of work to get what I could out of Visio. What the program does is (1) access an open Viso Database diagram (couldn't get the "file open" process to work), (2) iterate through the form and symbol collections to (3) generate a file of SQL DDL code that can be reverse-engineered into PowerDesigner. At best a very ugly process!
John W. Fox
john.fox@rbcdain.com