【问题标题】:Create Excel Hyperlinks in Python在 Python 中创建 Excel 超链接
【发布时间】:2016-09-30 12:21:56
【问题描述】:

我正在使用 win32com 修改 Excel 电子表格(同时读取和编辑)我知道还有其他模块可以做一个或另一个,但对于我正在做的应用程序,我需要读取和处理它同时。

最后一步是根据路径名创建一些超链接。这是我到目前为止的一个示例:

import win32com.client


excel = r'I:\Custom_Scripts\Personal\Hyperlinks\HyperlinkTest.xlsx'

xlApp = win32com.client.Dispatch("Excel.Application")
workbook = xlApp.Workbooks.Open(excel)
worksheet = workbook.Worksheets("Sheet1")


for xlRow in xrange(1, 10, 1):
    a = worksheet.Range("A%s"%(xlRow)).Value
    if a == None:
        break
    print a

workbook.Close()

我找到了一些使用 win32com 读取超链接的代码:

sheet.Range("A8").Hyperlinks.Item(1).Address

但不是如何设置超链接

有人可以帮助我吗?

【问题讨论】:

    标签: python excel python-2.7 win32com


    【解决方案1】:

    this 问题中大量借用,因为我在 SO 上找不到任何可以作为重复链接的内容...

    此代码将在单元格A1:A9 中创建一个超链接

    import win32com.client
    
    excel = r'I:\Custom_Scripts\Personal\Hyperlinks\HyperlinkTest.xlsx'
    
    xlApp = win32com.client.Dispatch("Excel.Application")
    workbook = xlApp.Workbooks.Open(excel)
    worksheet = workbook.Worksheets("Sheet1") 
    
    for xlRow in xrange(1, 10, 1):
        worksheet.Hyperlinks.Add(Anchor = worksheet.Range('A{}'.format(xlRow)),
                                 Address="http://www.microsoft.com",
                                 ScreenTip="Microsoft Web Site",
                                 TextToDisplay="Microsoft")
    workbook.Save()
    workbook.Close()
    

    这里是Microsoft Documentation 的链接,用于Hyperlinks.Add() 方法。

    【讨论】:

    • TextToDisplay 未按预期工作。该地址按原样显示,没有被“Microsoft”文本掩盖。有谁知道为什么会这样?
    • 如果此解决方案不适合您,您最好提出一个新问题。这个答案已经有四年了,Office API 很可能已经继续了。如果有新版本问题,欢迎对此事实的答案进行编辑,
    • 按原样运行代码会生成 excel 文件,其中 http://www.microsoft.com 重复 9 次,没有任何文本屏蔽。如果你不介意,你可以在最后运行它,看看你是否得到了不同的解决方案。我觉得缺少一些小东西,因此我没有提出新问题。如果您得到不同的解决方案(正确的带有掩蔽的解决方案),那么也许我会问一个新问题..
    • 很抱歉,我目前无法运行此代码。它显然对至少另外两个人有效,所以如果它不适合你,那么最好的办法是诚实地问另一个问题说明这个答案如何不适合你以避免它可能被标记作为副本
    猜你喜欢
    • 2018-03-09
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    相关资源
    最近更新 更多