2016-09-30 685 views
0

我正在使用win32com來修改Excel電子表格(同時讀取和編輯)我知道還有其他模塊可以做一個或另一個,但對於我正在做的應用程序需要它在同一時間閱讀和處理。在Python中創建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 

但不知道如何設置超鏈接

有人能幫助我嗎?

回答

2

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() 

在這裏創建一個超鏈接是Hyperlinks.Add()方法的Microsoft Documentation的鏈接。