Гиперссылка не будет отображаться Показать правильный текст - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь добавить гиперссылку на ячейку, чтобы открыть папку. Приведенный ниже код делает гиперссылку в нужной ячейке и при нажатии перенаправляет на нужную папку, но не отображает текст, если вместо этого отображается имя папки. например (: C: \ Documents and Settings \ abulle \ Desktop \ Python-Stuff \ Spec-Load \ Formatted \) вместо 'Папка'

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

1 Ответ

3 голосов
/ 09 августа 2011

У меня есть временный ответ, клудж. У меня нет времени, чтобы найти лучший ответ. Если бы это было частью моей повседневной работы, я бы потратил время, чтобы выяснить, что происходит.

У меня была та же проблема (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
...