File "C:\Users\Administrator\Desktop\savepdf.py", line 20, in <module> workbook.ExportAsFixedFormat(0, os.path.join(root, os.path.splitext(file)[0] + '.pdf')) AttributeError: 'NoneType' object has no attribute 'ExportAsFixedFormat'
时间: 2024-03-20 15:43:28 浏览: 136
这个错误可能是由于Excel文件没有被正确打开或者被关闭了导致的。您可以尝试对代码进行修改,加入一些错误处理机制来排除这个错误。例如:
```python
import os
import win32com.client
path = r'C:\Users\Administrator\Desktop\pr\2\5E2206172401600B'
if not os.path.exists(path):
print('路径不存在!')
else:
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.xlsx') or file.endswith('.xls'):
try:
excel = win32com.client.Dispatch('Excel.Application')
workbook = excel.Workbooks.Open(os.path.join(root, file))
workbook.ExportAsFixedFormat(0, os.path.join(root, os.path.splitext(file)[0] + '.pdf'))
workbook.Close()
excel.Quit()
except Exception as e:
print('转换文件 %s 出错:%s' % (file, e))
print('执行结束!')
```
在这个修改后的代码中,我们加入了一个try...except语句块,用于捕捉可能出现的异常情况。如果在转换某个Excel文件为PDF文件的时候出现了问题,程序会输出错误信息并继续处理下一个文件。这样可以让程序更加稳定,避免因为某个不合法的文件导致整个程序崩溃。
阅读全文