阅读IronPython中的Microsoft Visio(2010)doc的内容

时间:2014-12-12 08:30:10

标签: ironpython visio

我有一个在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()

我在MSDN http://msdn.microsoft.com/en-us/library/office/ff765392(v=office.15).aspx中找到了方法GetContainers,但它没有输出有关文档中存在的形状的任何内容。有人可能有想法吗?

1 个答案:

答案 0 :(得分: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 + "'"