Чтение содержимого документа Microsoft Visio (2010) в IronPython
У меня есть задание написать программу на IronPython, которая читает документ Visio (2010) и выводит в CMD, какие объекты находятся на активной странице и как они связаны друг с другом.
До сих пор мне удалось открыть документ Visio, но я не могу отобразить, что в нем. Это мой код до сих пор:
import sys
import clr
import System
clr.AddReference("Microsoft.Office.Interop.Visio")
import Microsoft.Office.Interop.Visio
IVisio = Microsoft.Office.Interop.Visio
visapp = IVisio.ApplicationClass()
doc = visapp.Documents.Open("C:\\Users\\hari\\Desktop\\PythonExamples\\helloworld.vsd")
page = visapp.ActivePage
elements = page.GetContainers(0)
for entry in elements:
print entry
doc.Close()
visapp.Visible =0
visapp.Quit()
Я нашел метод GetContainers в MSDN http://msdn.microsoft.com/en-us/library/office/ff765392(v=office.15).aspx но он не выводит ничего о фигурах, существующих в документе. У кого-то может быть есть идея?
1 ответ
Решение
Вы могли бы начать с чего-то вроде этого... это довольно просто, я полагаю..
.......
.......
page = visapp.ActivePage
for shape in page.Shapes:
if not shape.OneD:
print shape.Name + " '" + shape.Text + "'"
for connectedShapeId in shape.ConnectedShapes(2, ""):
connectedShape = page.Shapes.ItemFromID[connectedShapeId]
print " => " + connectedShape.Name + " '" + connectedShape.Text + "'"