python win32com (-2147352567, '发生意外。', (0, 'Microsoft PowerPoint 2010

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,然后再运行代码即可,多试几次。

  1. 中途可以会出现编码错误。
  2. 重新创建要给pptx(避免下载版本与本地电脑版内部存在差异),然后把源文件的内容,复制进去(另存为也可以)。
  3. 把解决方法,反复多试试。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值