概述
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
Office使用过程总会遇到各种疑难问题,此文将记录所遭遇的疑难,及其处理结果,以便再次遇见时直接填坑:
- Excel运行宏时莫名其妙崩溃,无任何提示。最初怀疑是GetObject或者Wb.close语句导致Excel,但是同样的文件在其他电脑可成功运行宏。直到尝试了惭法搽关于VBA崩溃的回复,将Windows默认打印机更改为Microsoft XPS Document Writer,崩溃问题不再出现。
- Excel文件不能正常保存,提示“保存文件时检测到错误。…可通过删除或修复某些功能来保存文件。…”。不仅另存为新文件也出现同样提示,而且打开VBA时提示“加载DLL错误”,最终逃不过“文档未保存”的结果。费了一番功夫上网搜索未果后,联想到文件编写了操作Outlook的代码,必须引用对象库Microsoft Outlook 15.0 Object Library。再次排查后发现365版Office对应16.0版对象库而2013版Office对应15.0版对象库。高版本Excel使用和保存文件后,会将对象库版本默认值设为16.0,再次回到低版本使用就会出现找不到对象库的Bug。相应的,解决办法就是使用365版Excel取消16.0版对象库,回到2013版Excel添加15.0版对象库。
- PPT内嵌Excel对象宏操作时提示“ActiveX部件不能创建对象”,怀疑是版本兼容性问题,低版本无法打开高版本的内嵌对象。
- PPT内嵌Excel对象宏操作后因为“手动计算”模式不能及时更新结果的问题,用Workbook.Sheets(1).Calculate单次计算,再用Workbook.Charts(1).Activate切换回图表页
- PPT内嵌PowerPoint对象里的图片链接直接用LinkFormat.BreakLink不起作用。原因是BreakLink只对打开的PowerPoint起作用,用Slide.Activate激活内嵌对象所在页,Shape.OLEFormat.DoVerb (3)打开内嵌对象,再执行BreakLink即可,代码如下:
For Each Sl In Pres.Slides
For Each Sh In Sl.Shapes
If Sh.Type = msoLinkedOLEObject Then
Application.DisplayAlerts = ppAlertsNone
Sh.LinkFormat.BreakLink
ElseIf Sh.Type = 7 Then
If Sh.OLEFormat.ProgID = "PowerPoint.Show.12" Then
Set NestIn = Sh.OLEFormat.Object
Sl.Select
Sh.OLEFormat.DoVerb (3)
For Each N_SL In NestIn.Slides
For Each N_Sh In N_SL.Shapes
If N_Sh.Type = msoLinkedOLEObject Then
Application.DisplayAlerts = ppAlertsNone
N_Sh.LinkFormat.BreakLink
End If
Next
Next
ActivePresentation.Close
End If
End If
Next
Next
最后
以上就是聪慧果汁为你收集整理的Office疑难问题处理笔记的全部内容,希望文章能够帮你解决Office疑难问题处理笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复