Bonjour !
Je vais être assez breve sur le sujet. Voilà en vu de compiler mon programme qui fait appel à un fichier excel j'aimerais créer un chemin relatif pour celui-ci (le excel).
J'utilise Python 2.7.7 sous Windows 7 en 32 bits. J'utilise IDLE pour dérouler mon test.Py.
Je colle mon fichier excel là où se situe mon test.py.
Je fais un clic droit dessus et déclenche le script qui se compose de ces quelques lignes :
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
doc = excel.Workbooks.Open(".\Code en Modif\Lotusmail auto.xlsm")
Au lieu du chemin absolu qui serait : "C:\xxx\xxx\Code en Modif\Lotusmail auto.xlsm"
Voici forcement le message d'erreur :
Traceback (most recent call last):
File "C:\xxxxx\xxxxx\Code en Modif\test chemin relatif.py", line 3, in <module>
doc = excel.Workbooks.Open(".\Code en Modif\Lotusmail auto.xlsm")
File "C:\Python27\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x7\Workbooks.py", line 78, in Open
, Converter, AddToMru, Local, CorruptLoad)
com_error: (-2147352567, 'Une exception s\x92est produite.', (0, u'Microsoft Excel', u"'.\\Code en Modif\\Lotusmail auto.xlsm' introuvable. V\xe9rifiez l'orthographe du nom du classeur et la validit\xe9 de l'emplacement.\n\nSi vous essayez d'ouvrir le fichier \xe0 partir de la liste des fichiers les plus r\xe9cents, assurez-vous que le fichier n'a pas \xe9t\xe9 renomm\xe9, d\xe9plac\xe9 ou supprim\xe9.", u'xlmain11.chm', 0, -2146827284), None)
Je me doute donc que mon chemin relatif est POURRI !!!
J'ai bien évidemment testé avec les doubles anti-slash.
Mon script fonctionne super bienn avec chemin absolu aussi...
Je m'en remet donc à votre expérience
Merci par avance![]()
Partager