2016-09-30 3 views
0

J'utilise win32com pour modifier une feuille de calcul Excel (lire et éditer en même temps) Je sais qu'il y a d'autres modules qui peuvent faire l'un ou l'autre mais pour l'application que je fais besoin de lire et traiter en même temps.Créer des hyperliens Excel en Python

La dernière étape consiste à créer des liens hypertexte à partir d'un nom de chemin. Voici un exemple de ce que j'ai jusqu'à présent:

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

Je trouve un peu de code pour la lecture Hyperliens utilisant win32com:

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

mais pas comment définir des hyperliens

Quelqu'un peut-il me aider?

Répondre

2

emprunt fortement de this question, que je ne pouvais pas trouver quoi que ce soit sur le SO pour créer un lien vers un doublon ...

Ce code va créer un lien hypertexte dans les cellules 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() 

Et ici est un lien vers le Microsoft Documentation pour la méthode Hyperlinks.Add().