Python 3.x 使用Python迭代Visio形状

Python 3.x 使用Python迭代Visio形状,python-3.x,Python 3.x,我是Python新手,我有许多Visio流程图,需要: 1) 从形状中提取文本 2) 根据形状类型对形状进行分类(例如,过程或系统/数据库) 有人知道或有我可以学习的好的示例代码吗 谢谢不干净,但对我来说很好 首先,使用以下内容打开文档: import win32com.client visio_application = win32com.client.gencache.EnsureDispatch("Visio.Application") try: opened_

我是Python新手,我有许多Visio流程图,需要: 1) 从形状中提取文本 2) 根据形状类型对形状进行分类(例如,过程或系统/数据库)

有人知道或有我可以学习的好的示例代码吗


谢谢

不干净,但对我来说很好

首先,使用以下内容打开文档:

import win32com.client
visio_application = win32com.client.gencache.EnsureDispatch("Visio.Application")
try:
    opened_doc = app_visio.Documents.Open(visio_file)
except Exception as e:
    print("Error" + str(e))
这是我将打开的文档中的所有页面添加到列表中的方式

pageCounter = int(opened_doc.Pages.Count)
listOfVisioPages = []
for i in range(1, pageCounter + 1, 1):
    print("Pagenumber: " + str(i))
    pageI = self.opened_doc.Pages.Item(i)
    print("Pagename: " + str(pageI.Name))
    listOfVisioPages.append(pageI)
现在,您只需要解析每个页面的形状信息

listofShapes = []
shapes = page.Shapes
shapeCounter = shapes.Count
for j in range(1, shapeCounter + 1, 1):
   listofShapes.append(shapes.Item(j))
 
要获取shapetext,请使用

shape_text = shape.Text