2017-01-13 2 views
1

J'ai le code python pour ouvrir Excel, puis enregistrer et quitter, mais j'ai du mal à trouver le bon code python pour une étape intermédiaire clé - une fois que python ouvre ma feuille de calcul quel est le code pour "modifier les liens" puis "mettre à jour les valeurs" avant d'enregistrer la feuille de calcul? S'il vous plaît noter que ce ne sont pas les mêmes que wb.RefreshAll() Mon code à l'étape intermédiaire manquant est ci-dessous:Python mise à jour excel tableurs liens

import win32com.client 
xlapp = win32com.client.DispatchEx("Excel.Application") 
wb = xlapp.workbooks.open('C:/myfilepathname/test.xlsm') 
#what code goes here to select edit links and update them all. 

wb.Save() 
xlapp.Quit() 

Merci

+0

J'aurais dû ajouter, la feuille de calcul que je veux ouvrir a des liens vers d'autres feuilles de calcul. Ouvrir la feuille via Python en utilisant le code ci-dessus ne met pas à jour ces liens vers d'autres feuilles. Merci – Alexis

Répondre

0

J'avons plutôt décidé de créer une macro dans la feuille de calcul existante qui met à jour la liens externes et d'appeler cette macro à partir de python comme suit:

import os 
import win32com.client 
xl=win32com.client.Dispatch("Excel.Application") 
xl.Workbooks.Open(Filename="C:/myfilepathname/test.xlsm", ReadOnly=1) 
xl.Visible = True 
xl.Application.Run("mymacro") 
xl.ActiveWorkbook.Save() 
xl.Quit()