J'utilise le code de ce fil Imprimer les feuilles de calcul choisies dans des fichiers Excel en pdf en python pour convertir le fichier Excel en pdf.

Cela fonctionnait bien et soudainement, cela me donne maintenant une erreur ci-dessous à cette ligne wb.WorkSheets(ws_index_list).Select()

(Le code ouvre très bien le fichier Excel)

Peux-tu aider s'il te plait? Merci Hong

AttributeError : l'objet '' n'a pas d'attribut 'WorkSheets'

---> 21 wb.WorkSheets(ws_index_list).Select() 22 wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf)

import win32com.client
o = win32com.client.Dispatch("Excel.Application")
# o = win32.gencache.EnsureDispatch('Excel.Application')
o.Visible = False

# Path to Excel file
wb_path = r'~\Sample Invoice1.xlsx'

wb = o.Workbooks.Open(wb_path)
print('type of wb:',type(wb))
 
    
ws_index_list = [1] #say you want to print these sheets

path_to_pdf = r'~/Sample Invoice1.pdf'
wb.WorkSheets(ws_index_list).Select()
wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf) 
0
Harry 28 nov. 2021 à 05:40
Merci, ça marche !
 – 
Harry
28 nov. 2021 à 06:45

1 réponse

Meilleure réponse

On dirait que l'attribut s'appelle Sheets et non WorkSheets.

Vous allez donc changer votre avant-dernière ligne en :

wb.Sheets(ws_index_list.Select()
1
scotscotmcc 28 nov. 2021 à 05:58
De plus, vous voudrez vous assurer de tout quitter lorsque vous aurez terminé. C'est-à-dire que vous voudrez probablement ajouter wb.Close() et o.Quit() à la fin de tout cela.
 – 
scotscotmcc
28 nov. 2021 à 06:00