passage de windows xp vers windows 8 avec pywin32 ?
Bonjour,
Voici un code qui fonctionne parfaitement sous xp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| # -*- coding: UTF-8 -*-
#Imporation des modules
import win32com.client as win32
import win32com.client.dynamic
from pywintypes import UnicodeType, TimeType
import os
excel = win32.gencache.EnsureDispatch('Excel.Application')
xls = excel.Workbooks.Open ('F:\Classeur1.xls')
# passage sur la 1ère feuille pour y mettre les infos de chantier
pos = xls.Worksheets("Feuil1")
pos.Activate() #on active cette feuille
excel.Visible = False
#
# Ici le travail d'édition de la première feuille
#par exemple je mets un texte dans la 1ere cellule de la premiére colonne attention ici c'est d'abord la ligne puis la colonne et ca commence à 1 au lieu de 0 d'habitude
pos.Cells(1,1).Value = 'test'
# on va chercher la deuxième de feuille (celle du devis)
sht = xls.Worksheets('Feuil2')
sht.Activate()
sht.Cells(13,8).Value = 40
#sauvegarde simple...
xls.SaveAs('F:\test.xls')
xls.Close()
del excel # Preferer ceci à celle en dessous, car celle-là ne ferme pas le fichier d'origine.
#excel.Application.Quit()
os.startfile('F:\test.xls') |
lorsque j'essaie d'exécuter ce script sur windows 8, j'ai ce traceback:
Code:
1 2 3 4 5
| Traceback (most recent call last):
File "<module1>", line 53, in <module>
File "C:\Users\PIERR_~1\AppData\Local\Temp\gen_py\2.7\00020813-0000-0000-C000-000000000046x0x1x6\_Workbook.py", line 253, in SaveAs
, Local)
com_error: (-2147352567, 'Une exception s\x92est produite.', (0, u'Microsoft Office Excel', u"Impossible d'acc\xe9der \xe0 \xab\xa0F:\\/\xa0\xbb. Le fichier peut \xeatre endommag\xe9, en lecture seule ou enregistr\xe9 sur un serveur qui ne r\xe9pond pas.", u'C:\\Program Files (x86)\\Microsoft Office\\Office12\\1036\\XLMAIN11.CHM', 0, -2146827284), None) |
Par contre si je mets en ligne 26:
Et en ligne 30:
mon "Classeur1.xls" souvre bien avec les modifs et le script se termine sans erreur...
quelqu'un s'aurait-il pourquoi la fonction xls.SaveAs(nomdefichier) ne fonctionne pas ?
Merci d'avance,