2011-06-08 26 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

なぜ投票が下りませんか? –

答えて

3

私は一時しのぎの答え、その場しのぎを持っています。私は今より良い答えを見つける時間がありません。これが私の仕事の一部だったら、何が起きているのかを知る時間を費やすだろう。

私は、Python 2.7インタプリタを実行することによって呼び出されたときに私のコードは、ユニットテストの下で働き、同じ問題(Excelのセルのテキストの代わりに、Hyperlinks.Add()に供給TextToDisplay値としてリンクアドレスを示して)

を持っていました - '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