我的代码中存在以下错误,我已经尝试了所有方法,但无法解决:
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(os.path.join(os.getcwd(),diretorio_BKP + filename +
' '+str(nome_arq_parcial)+' -.xlsx'))
ws = wb.Worksheets(1).Select()
ws = wb.Worksheets(1)
print('abrir o arquivo de novo')
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(diretorio_BKP + filename +' '+
str(nome_arq_parcial)+' -.xlsx')
ws = wb.Worksheets(1).Select()
ws = wb.Worksheets(1)
print('abrir o arquivo de novo')
ERRO: (-2147352567, 'Exception.', (0, 'Microsoft Excel', "Microsoft Excel does not you can access the file '\\\\ IEMEN \\ file location -.xlsx'. There are several reasons possible: \ r \ n \ r \ n • The file name or path does not exist. \ r \ n • The file is being used by another program. \ r \ n • The workbook you are trying to save has the same name as another currently open \ r \ nfolder. ", 'xlmain11.chm', 0, -2146827284), None)
您可以看到已经尝试离开绝对路径,已经尝试离开完整路径,我已经放入excel.Application.Quit() 在那之前也没有任何作用。
我需要执行此步骤的代码才能开始格式化整个文件。
答案 0 :(得分:0)
有关错误消息的详细信息,此错误有多种可能的原因:
检查以确保您没有违反上面的任何条款。
答案 1 :(得分:0)
解决方案!令人惊奇的是:
我简直不敢相信这个错误是多么令人费解,我们找到了解决方案,以等效的.NET代码寻找类似的问题:
要修复此问题,请在64位体系结构的“ C:\ Windows \ SysWOW64 \ config \ systemprofile \”下创建一个名为“ Desktop”的文件夹,或者在32位操作系统的“ C:\ Windows \ System32 \ config \ systemprofile \”下创建一个名为“ Desktop”的文件夹位服务器。
精打细算。
(来源:StackOverflow用英语回答:excel access denied with win32 python pywin32)