一点学习心得:python操纵word

    继续上一篇。现在工作基本完成,对碰到的一些问题来个小结,方便后面的回顾.

   

  • 先说一下这两天调试遇到的一些很傻的问题:1)字符串空值,不断报异常;2)最麻烦的,和word的VBA相比,要对Word文档中表进行操作,但是VBA中的Table(1).Rows(1).Cells(1)这种不能用了,cell的range的方法连select都用不了,最后只好想了个很傻的方法来回避;3)就是很傻的,Xls文件对象和Shee表对象弄混了。4)基本功不扎实,list、dictionary整半天。另外原来python2里面的has_key()没有了,需要换代码。
  • 有的是DOC格式,大部分是DOCX格式,保存时总弹提示框说文件格式不同存不了,人工干预就会导致无法正常结束。折腾后用最傻的方法强行存成统一的DOC格式解决。

  • 保存时又弹新对话框,提示剪贴板有大量文本,是否要保留,这一来会停下来又需要人工干预。网上提供的方法不管用。最后只好强行拷贝一个字符来清空剪贴板,规避掉这个问题。这一来还暴露Word版本的问题。象Application.CutCopyMode = False 这样的以前通用的清理剪贴板方法,现在已经不能用了。
  • 今天比较满意的是,用python调用word的VBA宏,从而充分利用前面已经形成的宏;同时做了一个Form形式的进度条,感觉用户等待时的体验大大上升。为了实现前后两大块的数据对接,还用粗暴的方法定义了两个全局变量来传递数据。
  • 使用时的一些问题:主要是盗版office提示框会导致异常,也不知道怎么处理,只好要求大家都去通过验证,或者提前打开office。
  • 这次一些做得比较好的设计:进度条,感觉瞬间高大上;时间统计,方便了很多;另存文件用时间命名,使用上带来很多好处。而配置文件这个,感觉是个不好的设计,搞了太多配置文件,容易带来问题不说,还给编程带来很多困难。
  • PyInstaller打包成exe还是很好用的,但是会有一些很奇怪的错误。解决问题:1 安装可以用命令自动完成:

    python -m pip installPyInstaller;2、EXE运行异常,一般要把对应的库包含进来,有些要研究warn和spec文件。但是出现了datetime相关数据在python中运行时没有问题,打包有问题,最后是把对应的win32datetime.py直接导入进来解决的。

  • 操纵Word的处理速度还是比较慢的,一个70页的文档,对里面的60多个表格进行处理,大概用了8分钟。因此通过PyQt5加入进度条,这个操作很简单,但关键是要记得即刻刷新一下:耗了两小时才搞定,中间用Timer消息,甚至考虑用多线程,最后其实很简单,直接调用QApplication.processEvents(),为了保持在最前,还要使用self.setWindowFlags(Qt.WindowStaysOnTopHint),保持在最前,以免被Word文档遮挡。至于关闭,QCoreApplication.instance().quit()到是可以不要。唯一的不爽就是,PyInstaller打包之后,整个exe的大小从8M变成20M了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值