我正在使用 Python 2.7 和 win32com.client,并试图找出如何更改 Microsoft Visio 2013 形状的字体名称和颜色。
下面的代码在已打开的 Visio 文档上创建一个矩形形状。该代码可以正常工作并设置形状颜色、文本和线宽,没有任何问题。
import sys, win32com.client
visio = win32com.client.Dispatch("Visio.Application")
vsoShape1 = visio.ActivePage.DrawRectangle(1,1,2,2)
vsoShape1.Cells("LineColor").FormulaU = 0
vsoShape1.Cells("LineWeight").FormulaU = "2.0 pt"
vsoShape1.FillStyle = "None"
vsoShape1.Text = "This is a test"
vsoShape1.Cells("Char.size").FormulaU = "20 pt"
尝试了不同的方法来更改字体名称和字体颜色,这导致了错误消息。
这两行代码都会导致此错误消息: pywintypes.com_error: (-2147352567, '发生异常。', (0, u'Drawing4 - Visio Standard', u'\n\nUnexpected end of file.', None , 0, -2032466967), 无)
vsoShape1.Cells("Font.Name").FormulaU = "Courier"
vsoShape1.Cells("Font.Bold").FormulaU = "True"
接下来的三行代码都导致类似的错误消息,但没有文件结尾错误: pywintypes.com_error: (-2147352567, '发生异常。', (0, u'Drawing4 - Visio Standard', u'\n\ nNAME?',无,0,-2032466907),无)
vsoShape1.Cells("Char.Font").FormulaU = "Courier"
vsoShape1.Cells("Char.colorIndex").FormulaU = 16
vsoShape1.Cells("Font.Bold").FormulaU = 0
又尝试了几次,结果是:无法设置DrawRectangle.xxxxx。
vsoShape1.fontName = "Courier"
vsoShape1.Bold = True
vsoShape1.Bold = 1