【发布时间】:2015-08-11 01:12:59
【问题描述】:
我正在使用 Python 和 win32com.client 来获取 Microsoft Visio 绘图的页面名称和形状描述。下面的 Python 代码用于获取形状索引、形状名称和形状文本。获取形状边界框的命令失败,索引无效。
import sys, win32com.client
import copy
def main ():
try:
visio = win32com.client.Dispatch("Visio.Application")
visio.Visible = 0
dwg = visio.Documents.Open("C:\Users\John\Drawing1.vsdx")
# Used by Visio Shape.BoundingBox method
intFlags = 0
visBBoxUprightWH = 0x1
try:
vsoShapes = dwg.Pages.Item(1).Shapes # Get shapes for Visio Page-1
for s in range (len (vsoShapes)):
# This line works
print "Index = %s, Shape = %s, Text = %s" % (vsoShapes[s].Index, vsoShapes[s].Name, vsoShapes[s].Text)
dblLeft =0.0
dblBottom =0.0
dblRight = 0.0
dblTop = 0.0
# ====== This line will fail with invalid syntax =======
vsoShapes.Item(s).BoundingBox intFlags + visBBoxUprightWH, dblLeft, dblBottom, dblRight, dblTop
except Exception, e:
print "Error", e
dwg.Close()
visio.Quit()
except Exception, e:
print "Error opening visio file",e
visio.Quit()
main()
如何从 Python 调用这个 Visio 命令
vsoShapes.Item(s).BoundingBox intFlags + visBBoxUprightWH, dblLeft, dblBottom, dblRight, dblTop
Shape.BoundingBox 命令的 Microsoft 文档位于此处:https://msdn.microsoft.com/en-us/library/office/ff766755.aspx
【问题讨论】: