我试图在excel表中写出形状的名称和相应的文本,即从上到下。我编写的程序随机读取所有块的数据。
我希望我的程序根据图表的流程按顺序从上到下读取文件。
这是我正在与之合作的计划
pages = application.ActiveDocument.Pages
i=1
for page in pages:
print('SheetName:' + str(page))
i=i+1
sheet1.write(i,0,('SheetName:' + str(page)))
for shape in page.Shapes:
print (shape.Name + " '" + shape.Text)
sheet1.write(i,1,shape.Name)
sheet1.write(i,2,shape.Text)
i=i+1
wb.save('example1.xls')'
能帮帮我吗。谢谢。
不幸的是,像page.GetShapesAccordingToTheGraph
这样的Visio中没有方法,你需要自己做。作为第一步,你可以找到所有形状的互连(构建“图形”),作为第二步,遍历那个图形。对你有意义的序列。
shape.ConnectedShapes
或Connects
查找连接的形状。你可以参考这篇伟大的文章来开始寻找连接:https://blog.bvisual.net/2016/08/09/understanding-visio-connections/在没有循环且没有备用路径的简单情况下,(2)实际上只是根据它们的(单个)传出连接迭代形状。首先你找到没有入边的形状,然后,从那个形状开始,使用外边缘获得与它连接的那个,然后重复该连接的形状,直到没有更多。