如何通过Python添加到Visio文档的链接

如何通过Python添加到Visio文档的链接,python,visio,win32com,Python,Visio,Win32com,我在谷歌上搜索了一些通过Python创建Visio文档的代码。我想添加形状,并有超链接。这样,您就可以单击形状,或者最好是单击形状内部的文本,并访问URL import os import win32com.client from win32com.client import constants appVisio = win32com.client.Dispatch("Visio.Application") appVisio.Visible =1 doc = appVisio.Docume

我在谷歌上搜索了一些通过Python创建Visio文档的代码。我想添加形状,并有超链接。这样,您就可以单击形状,或者最好是单击形状内部的文本,并访问URL

import os
import win32com.client

from win32com.client import constants

appVisio = win32com.client.Dispatch("Visio.Application")
appVisio.Visible =1

doc = appVisio.Documents.Add("Basic Diagram.vst")
pagObj = doc.Pages.Item(1)
stnObj = appVisio.Documents("Basic Shapes.vss")
mastObj = stnObj.Masters("Rectangle")

shpObj1 = pagObj.Drop(mastObj, 4.25, 5.5)
shpObj1.Text = "This is some text."

shpObj2 = pagObj.Drop(mastObj, 2, 2)
shpObj2.Text = """This is some more text. {\field{\*\fldinst HYPERLINK "http://www.google.com/"}{\fldrslt http://www.google.com}}"""


connectorMaster = appVisio.Application.ConnectorToolDataObject

connector = pagObj.Drop(connectorMaster, 0, 0)
connector.Cells("BeginX").GlueTo(shpObj1.Cells("PinX"))
connector.Cells("EndX").GlueTo(shpObj2.Cells("PinX"))

doc.SaveAs(r'C:\utils\MyDrawing.vsd')
doc.Close()

appVisio.Visible =0
appVisio.Quit()

RTF链接被忽略-我试过了。Visio可以在UI中添加超链接。所以。。。有人知道我如何在这里通过Python添加链接吗?

Visio只支持形状上的链接(而不支持文本本身)。形状具有对象集合,因此可以按如下方式添加:

# shpObj2.Text = """This is some more text. {\field{\*\fldinst HYPERLINK "http://www.google.com/"}{\fldrslt http://www.google.com}}"""
shpObj2.Text = "This is a shape with multiple links."

shp2Hyperlink1 = shpObj2.Hyperlinks.Add()
shp2Hyperlink1.Name = "Google"
shp2Hyperlink1.Address = "http://www.google.com"

shp2Hyperlink2 = shpObj2.Hyperlinks.Add()
shp2Hyperlink2.Name = "BBC"
shp2Hyperlink2.Address = "http://www.bbc.co.uk"
在封面下,这只是将单元格写入ShapeSheet: