У меня есть временный ответ, клудж. У меня нет времени, чтобы найти лучший ответ. Если бы это было частью моей повседневной работы, я бы потратил время, чтобы выяснить, что происходит.
У меня была та же проблема (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