2011-06-08 154 views
2

我試圖將超鏈接添加到一個單元格,打開一個文件夾下面的代碼使得在適當的單元格中的超鏈接,並點擊重定向到適當的文件夾時,但它不顯示文本提供它而不是顯示文件夾名稱,例如(C:\ Documents和Settings \ abulle \桌面\ Python的東西\規格負載\格式化\),而不是 '文件夾'超鏈接將不會顯示顯示正確的文本

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

爲什麼向下選票,但沒有對此有何評論? – 2011-06-08 20:56:08

回答

3

我有一個權宜之計的答案,一個雜牌。我現在沒有時間找到更好的答案。如果這是我日常工作的一部分,我會花時間瞭解發生了什麼事情。

我有同樣的問題(Excel中顯示的鏈接地址爲單元格文本,而不是在Hyperlinks.Add()提供的TextToDisplay值)

我的代碼時運行的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