python (-2147352567, ‘发生意外。’, (0, 'Microsoft PowerPoint 2010
"""手动打开ppt,然后再运行代码"""
import win32com
import win32com.client
ppt = win32com.client.Dispatch('PowerPoint.Application')
ppt.Visible = 1
# ppt
# ppt.Workbooks.Add()
# o.Cells(1,1).Value = "Hello"
pptSel = ppt.Presentations.Open(r"1111.pptx")
# win32com.client.gencache.EnsureDispatch('PowerPoint.Application')
fout = open("./F/文字.txt", "a",encoding='utf-8') #把文字写入该文件
#get the ppt's pages
slide_count = pptSel.Slides.Count
##print(slide_count)
for i in range(1,slide_count + 1):
fout.write("\n=={}\n".format(i-1))
shape_count = pptSel.Slides(i).Shapes.Count
for j in range(1,shape_count + 1):
if pptSel.Slides(i).Shapes(j).HasTextFrame:
s = pptSel.Slides(i).Shapes(j).TextFrame.TextRange.Text.strip()
if len(s)>0:
fout.write("{}\n".format(s))
ppt.Quit()
fout.close()
在网上查看了很多,总结出原因就是无法打开ppt或pptx权限,小编的解决方式是:
在运行代码之前,先手动打开ppt后pptx,然后再运行代码即可,多试几次。
- 中途可以会出现编码错误。
- 重新创建要给pptx(避免下载版本与本地电脑版内部存在差异),然后把源文件的内容,复制进去(另存为也可以)。
- 把解决方法,反复多试试。