Добавление фигур в новый документ Visio
У меня есть этот код, который создает новый документ Visio и добавляет прямоугольник. Это работает, но мне не нравится открывать другой документ, чтобы получить из него коллекцию Мастеров. Проблема в том, что новый документ содержит пустую коллекцию фигур Мастеров. Я не смог найти метод в классе Document для добавления фигур в коллекцию Masters, и все примеры, которые я мог найти для добавления фигур, предполагали, что у вас уже есть документ. Есть ли лучший способ сделать то, что я хочу?
// create the new application
Visio.Application va = new Microsoft.Office.Interop.Visio.Application();
// add a document
va.Documents.Add(@"");
// Visio.Documents vdocs = va.Documents;
// we need this document to get its Masters shapes collection
// since our new document has none
Visio.Document vu = vdocs.OpenEx(@"C:\Program Files (x86)\Microsoft Office\Office12\1033\Basic_U.vss", (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked);
// set the working document to our new document
Visio.Document vd = va.ActiveDocument;
// set the working page to the active page
Microsoft.Office.Interop.Visio.Page vp = va.ActivePage;
// if we try this from the Masters collection from our new document
// we get a run time since our masters collection is empty
Visio.Master vm = vu.Masters.get_ItemU(@"Rectangle");
Visio.Shape visioRectShape = vp.Drop(vm, 4.25, 5.5);
visioRectShape.Text = @"Rectangle text.";