超链接不会显示正确显示文本

时间:2011-06-08 19:38:08

标签: python ms-office pywin32

我正在尝试向单元格添加超链接以打开文件夹,下面的代码在正确的单元格中创建超链接,并且在单击时重定向到正确的文件夹但它不显示文本,只要它显示文件夹名称例如(:C:\ Documents and Settings \ abulle \ Desktop \ Python-Stuff \ Spec-Load \ Formatted \)而不是'Folder'

sheet.Hyperlinks.Add( Anchor = sheet.Cells(7,21), Address = "C:\\Python-Stuff\\Spec-Load\\Formatted\\" , TextToDisplay = "Folder")

1 个答案:

答案 0 :(得分:3)

我有一个权宜之计的答案,一个kludge。我现在没有时间找到更好的答案。如果这是我日常工作的一部分,我会花时间找出发生了什么。

我遇到了同样的问题(Excel将链接地址显示为单元格文本,而不是TextToDisplay上提供的Hyperlinks.Add()

当通过运行Python 2.7解释器调用时,我的代码在单元测试下工作 - 单元格中显示'TextToDisplay'参数的值。 “生产”代码(使用py2exe构建)显示超链接。我会发现为什么有一天(这是低背景工作。)

Hyperlinks.Add返回刚添加的Hyperlink对象。解决方法是检查该对象的TextToDisplay属性 - 如果它不是我想要的,我会为其分配正确的值。

link = sheet.Hyperlinks.Add( Anchor = sheet.Cells(7,21),
                             Address = u"C:\\Python-Stuff\\Spec-Load\\Formatted\\" ,
                             TextToDisplay = u"Folder")
if link.TextToDisplay != u"Folder":
    link.TextToDisplay = u"Folder" # kludge