项目场景:

Word VBA


问题描述:

最近在学习wordVBA时遇到以下问题:运行时错误'4198':应用程序定义或对象定义错误

这是我写的一段Excel VBA操作Word的代码,作用是打开已存在的word文档,向其中输入内容后保存退出

Sub test2()
Dim wordapp As New Word.Application '建立word对象
wordapp.Documents.Open ("D:\2021\我的文件\VBA\练习\test.docx") '打开word文档
wordapp.Visible = ture
wordap.Selection.EndKey unit:=wdStory '光标移动到文章末尾
wordapp.Selection.TypeText Text:="我的博客" '输入内容"
wordapp.ActiveDocument.Save '保存
wordapp.ActiveDocument.Close '关闭
wordapp.Quit '退出word对象
Set wordapp = Nothing '释放对象
End Sub

该代码中有一句错误,第五句我把对象变量wordapp误写成了wordap,第一次运行时出现如下问题:运行时错误‘424’:要求对象

第二次运行时再次出现问题,运行过程缓慢,按住win+tab键后发现这个窗口:

***.docx 被“***”锁定,无法编辑。请选择:打开只读副本;创建本地副本,稍后合并更改;在原始副本可用时接收通知

点击取消后报错:运行时错误'4198':应用程序定义或对象定义错误

使用WPS打开word文档时,发现:文档已被“***”锁定,是否以只读模式打开?


原因分析:

猜想如下:

在第一次运行时,程序可以正常打开word文档,但在执行到第五句错误语句时,程序自动退出运行,没有继续往下执行,因此该文件没有被保存,但是被word锁定成了只读模式保护起来。

第二次运行时,因为程序不能正常打开该文档,所以会出现“文件正在使用”的弹窗提示,而且该文档有些时候没有办法编辑、保存以及删除,只有在任务管理器中结束word后台运行才能删除掉。


解决方案:

为了防止调试程序过程中再出现以上问题,可以在程序中加入一个错误转移语句

程序中出现错误后会自动转到skip后面的语句运行,以上问题得到完美解决。

Sub test2()
Dim wordapp As New Word.Application '建立word对象
On Error GoTo skip
wordapp.Documents.Open ("D:\2021\我的文件\VBA\练习\test.docx") '打开word文档
wordapp.Visible = ture
wordap.Selection.EndKey unit:=wdStory '光标移动到文章末尾
wordapp.Selection.TypeText Text:="我的博客" '输入内容"
skip:
wordapp.ActiveDocument.Save '保存
wordapp.ActiveDocument.Close '关闭
wordapp.Quit '退出word对象
Set wordapp = Nothing '释放对象
End Sub

wordVBA运行时错误‘4198‘:应用程序定义或对象定义错误 解决方法相关推荐

  1. excel2003出现“向程序发送命令时出现错误”解决方法

    excel2003出现"向程序发送命令时出现错误"解决方法 参考文章: (1)excel2003出现"向程序发送命令时出现错误"解决方法 (2)https:// ...

  2. 微信小程序访问豆瓣电影api400错误解决方法

    微信小程序访问豆瓣电影api400错误解决方法 参考文章: (1)微信小程序访问豆瓣电影api400错误解决方法 (2)https://www.cnblogs.com/bubbleStar/p/610 ...

  3. 安装程序出现2502、2503错误解决方法

    安装程序出现2502.2503错误解决方法 听语音 | 浏览:45460 | 更新:2014-03-20 19:32 | 标签:win8 1 2 3 4 5 6 7 分步阅读 在Win8中,在安装ms ...

  4. Win8安装程序出现2502、2503错误解决方法

    在Win8中,在安装msi安装包的时候常常会出现代码为2502.2503的错误.其实这种错误是由于安装权限不足造成的,可以这种msi的安装包不像其他exe的安装程序,在安装包上点击"右键&q ...

  5. 程序无法运行-报0xc000007d错误解决方法

    记录遇到的程序错误并记录如何解决的. 问题: 运行一些XX.exe程序时,程序发生错误并异常中断,同时报"0xc000007d".如图: 排查故障: 排查应用程序是否有问题: 本人 ...

  6. Origin 应用程序无法正常启动(0xc000007b) 错误解决方法(Origin2022)

    Origin 2022 错误示例:应用程序无法正常启动(0xc000007b) 安装Microsoft Visual C++ Redistributable Package(即VC++运行库) 解决方 ...

  7. VS2010升级VS2013后,出现没有定义类型“PowerPacks.ShapeContainer”错误解决方法

    开发说明: http://msdn.microsoft.com/zh-tw/library/microsoft.visualbasic.powerpacks.aspx Microsoft.Visual ...

  8. 安装程序时出现2502 2503错误解决方法

    上次安装SVN客户端的时候用兼容模式成功搞定就没有折腾了, 这次安装python的时候又遇到的,其他设置都没有问题呀, 捣鼓折腾查到这错误主要是由于权限不足导致的,还以为是电脑问题. 解决办法: 1. ...

  9. excel vba “运行时错误1004,应用程序定义或对象定义错误”

    新做的wintogo系统,装了office2021,拿出以前的一个excel程序跑了一下,报错"运行时错误1004,应用程序定义或对象定义错误",于是网上搜索,总结大部分文章给的建 ...

最新文章

  1. GPU微观物理结构框架
  2. python中while嵌套循环_python中的while循环
  3. 使用 ThinkJS + Vue.js 开发博客系统
  4. nginx+tomcat8+memcached实现session共享具体操作
  5. mysql怎么查看代码_MySQL中的编码查看与设置(转载)
  6. python c4.5完整代码_python实现c4.5/Id3自我练习
  7. OpenStack绝非昨日黄花 | 人物志
  8. 手机如何访问电脑局域网文件共享服务器,数据共享 手机怎么访问电脑文件?多个设备之间数据共享...
  9. Linux笔记(开机自动将kerne log保存到SD卡中)
  10. 一文讲透数据库,以后别说你不懂数据库
  11. 【看别人的,学习】文本增强,再也不怕用户要修改标准界面的字段描述了
  12. matlab 窗函数频谱,功率谱、频率分辨率、频谱泄漏与窗函数
  13. VMware下安装win7教程
  14. 【读书笔记】 - 《你只是看起来很努力》
  15. Python pygame 坦克大战
  16. Redis 学习 - 05 Node.js 客户端操作 Redis、Pipeline 流水线
  17. 脱掉360奇虎的“加固保”壳后的发现与你的微信安全
  18. Matlab从视频中提取图像,可以设定每多少秒提取1帧。
  19. U盘病毒-----文件变为受保护的操作系统隐藏文件
  20. LiFi网络优劣势解析

热门文章

  1. XNA游戏:各种输入测试 中
  2. python 顺丰快递分拣小程序作业结果
  3. python实现删除重复文件
  4. 2013年,快递行业将进入“多事之秋”?
  5. html 鼠标右键点击事件,js与jq的鼠标右键点击事件
  6. Docker使用普通用户运行
  7. linux内核中watchdog、lockup、stall、hung等检测
  8. 『python爬虫』26. selenium与超级鹰处理复杂验证码的处理(保姆级图文)
  9. 造梦西游online十殿阎罗篇(下)(莫等闲,空悲切)
  10. 计算机网络思科网第十章答案