【WPS】【WORDEXCEL】【VB】实现微软WORD自动更正的效果

1. 代码规范方面

  • 添加 Option Explicit:强制要求显式声明所有变量,这样可以避免因变量名拼写错误等情况而出现难以排查的逻辑错误,提高代码的健壮性。
  • 使用 On Error GoTo 进行错误处理:通过设置错误处理机制,当代码执行过程中出现错误时,能够跳转到指定的错误处理代码段(ErrorHandler 标签处),在那里可以进行合适的处理,比如弹出错误提示消息框告知用户错误信息,同时尽量释放已经占用的资源(如关闭 Excel 相关对象),避免因错误导致程序异常退出而留下资源占用等问题。

2. 查找替换操作细化方面

  • 使用 With 语句设置 Find 对象属性:在进行查找替换操作时,使用 With 语句可以更简洁清晰地对 Find 对象的多个属性进行设置,包括设置查找文本(.Text)、替换文本(.Replacement.Text)以及其他如查找方向(.Forward)、超出范围处理方式(.Wrap)、是否查找格式(.Format)以及匹配相关的属性(.MatchCase.MatchWholeWord.MatchWildcards 等)。这样代码结构更加清晰,便于理解和后续维护,同时可以方便地根据实际需求调整这些查找替换的具体规则。
Option Explicit '强制要求显式声明变量,避免因变量名拼写错误等导致的潜在问题Sub ReplaceWithExcelData()'定义常量,确保替换方式常量正确定义Const wdReplaceAll = 2Const wdMatchCase = False '设置查找时不区分大小写,可根据实际需求调整Const wdMatchWholeWord = False '设置不要求全字匹配,可根据实际需求调整Const wdMatchWildcards = False '设置不使用通配符匹配,可根据实际需求调整Dim xlApp As ObjectDim xlBook As ObjectDim xlSheet As ObjectDim wordRange As RangeDim i As LongDim findText As StringDim replaceText As StringOn Error GoTo ErrorHandler '设置错误处理,当出现错误时跳转到ErrorHandler标签处执行错误处理代码'创建Excel应用程序对象并打开工作簿Set xlApp = CreateObject("Excel.Application")xlApp.Visible = False '设置Excel不可见,可根据需求调整为True查看Excel操作情况Set xlBook = xlApp.Workbooks.Open(ThisDocument.Path & "\1.xlsx") '根据实际路径调整,这里假设同文件夹Set xlSheet = xlBook.Sheets(1) '假设数据在第一个工作表,如果不是需修改索引Set wordRange = ActiveDocument.Content '针对整个文档内容进行查找替换操作,可按需修改范围,比如仅针对选中部分等For i = 1 To 1000 '假设你的数据范围是A1:B10,共10行,如果实际更多或更少要相应修改findText = Trim(xlSheet.Cells(i, 1).Value) '去除两端空格replaceText = Trim(xlSheet.Cells(i, 2).Value)With wordRange.Find '使用With语句简化对Find对象属性的设置.Text = findText.Replacement.Text = replaceText.Forward = True '设置查找方向为向前,一般默认也是向前,可根据需求调整.Wrap = wdFindContinue '设置查找范围超出文档末尾时的处理方式.Format = False '不查找格式,只查找文本内容,可根据需求调整.MatchCase = wdMatchCase '应用不区分大小写的设置.MatchWholeWord = wdMatchWholeWord '应用不要求全字匹配的设置.MatchWildcards = wdMatchWildcards '应用不使用通配符匹配的设置.Execute Replace:=wdReplaceAllEnd WithNext i'正常执行完后关闭Excel相关对象释放资源xlBook.Close SaveChanges:=False '关闭Excel文件,不保存更改(如果需要保存更改可设为True)xlApp.QuitSet xlSheet = NothingSet xlBook = NothingSet xlApp = NothingExit Sub '正常退出程序,避免进入错误处理代码块后继续执行后面的代码ErrorHandler:MsgBox "程序出现错误,错误信息:" & Err.Description, vbCritical '弹出错误消息框显示错误信息'如果出现错误,也要尽量关闭Excel相关对象释放资源,避免资源占用On Error Resume Next '忽略下面代码可能出现的错误,确保资源释放代码执行xlBook.Close SaveChanges:=FalsexlApp.QuitSet xlSheet = NothingSet xlBook = NothingSet xlApp = NothingOn Error GoTo 0 '恢复正常的错误处理机制
End Sub

3. 测试

  • 1.xlsx文件如下:
  • 2-副本.docm文件如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2771.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023-2024 学年 广东省职业院校技能大赛(高职组)“信息安全管理与评估”赛题一

2023-2024 学年 广东省职业院校技能大赛(高职组“信息安全管理与评估”赛题一) 模块一:网络平台搭建与设备安全防护第一阶段任务书任务 1:网络平台搭建任务 2:网络安全设备配置与防护DCRS:DCFW:DCWS:DCBC:WAF: 模块二:网络安全事件…

【Flink系列】9. Flink容错机制

9. 容错机制 在Flink中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点。 9.1 检查点(Checkpoint) 9.1.1 检查点的保存 1)周期性的触发保存 “随时存档”确实恢复起来方便,可是需要我…

docker一张图理解

1、push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明: –disable-content-trust : 忽略镜像的校验,默认开启 # 上传本地镜像myapache:v1到镜像仓库中。 docker push myapache:v1 1.2、search 从Docker Hub查找镜像。参数说明: –…

以太网实战AD采集上传上位机——FPGA学习笔记27

一、设计目标 使用FPGA实现AD模块驱动采集模拟电压,通过以太网上传到电脑上位机。 二、框架设计 数据位宽转换模块(ad_10bit_to_16bit):为了方便数据传输,数据位宽转换模块实现了将十位的 AD 数据转换成十六位&#…

【进程与线程】进程的状态

在操作系统中,进程是执行中的程序实例。进程在其生命周期中会经历不同的状态,操作系统根据进程的执行情况和资源调度,将进程划分为多个状态。 这些状态帮助操作系统更加高效地管理 CPU 和系统资源。 进程的状态:就绪态&#xff0…

小米vela系统(基于开源nuttx内核)——openvela开源项目

前言 在 2024 年 12 月 27 日的小米「人车家全生态」合作伙伴大会上,小米宣布全面开源 Vela 操作系统。同时,OpenVela 项目正式上线 GitHub 和 Gitee,采用的是比较宽松的 Apache 2.0 协议,这意味着全球的开发者都可以参与到 Vela…

数字人助力企业出海增长,魔珐科技亮相2025晋江跨境电商峰会

近年来,越来越多中国企业纷纷投身于跨境电商行业,推动其规模实现了跨越式的发展。如今,跨境出海仍在加速的过程中,其中蕴涵了巨大的潜力和机遇。 1月3日,“跨境新域 聚势发展——2025晋江跨境电商年度发展峰会暨晋江市…

Jmeter配置服务代理器 Proxy(二)

1.创建脚本记录器 2.配置:Jmeter代理、端口、记录目标等 3.配置谷歌浏览器代理 浏览器配置代理的详细教程可参考:使用whistle代理-CSDN博客 4.启动Jmeter记录器 点击ok后弹出这个界面,生成了证书: 5.给浏览器安装Jmeter代理的证书…

【Kotlin】上手学习之类型篇

一、类型 1.1 基本类型 主要分为 数字及其无符号版布尔字符字符串数组 1.1.1 数字 整数类型 Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同: 类型大小(比特数)最小…

Android 高版本如何获取App安装列表?

有个需求需要获取App内的安装列表,但是现在在高版本Android中,只能获取到一部分App效果,我获取的代码如下: val calendar Calendar.getInstance()val packageManager context.packageManagerval usageStatsManager context.getSystemService(Context.USAGE_STATS_SERVICE) …

BIO、NIO、AIO

第一章 BIO、NIO、AIO课程介绍 1.1 课程说明 ​ 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通信架构存在一些缺…

VUE学习笔记4__安装开发者工具

https://chrome.zzzmh.cn/index 安装后需要关闭所有浏览器并重启 再次打开检查会看到vue标签&#xff0c;方便调试修改 如果安装后找不到vue标签&#xff0c;请尝试下载历史版本&#xff0c;这里用的是6.4.5 <!doctype html> <html lang"en"> <head&…

GitLab集成Jira

GitLab与Jira集成的两种方式 GitLab 提供了两种 Jira 集成&#xff0c;即Jira议题集成和Jira开发面板集成&#xff0c;可以配置一个或者两个都配置。 具体集成步骤可以参考官方文档Jira 议题集成&#xff08;极狐GitLab文档&#xff09;和Jira 开发面板集成&#xff08;极狐G…

深入理解计算机系统阅读笔记-第十二章

第12章 网络编程 12.1 客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型的。根据这个模型&#xff0c;一个应用时由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源&#xff0c;并且通过操作这种资源来为它的客户端提供某种服务。例如&#xf…

用css和html制作太极图

目录 css相关参数介绍 边距 边框 伪元素选择器 太极图案例实现、 代码 效果 css相关参数介绍 边距 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}div{width: …

C++算法第十六天

本篇文章我们继续学习动态规划 第一题 题目链接 978. 最长湍流子数组 - 力扣&#xff08;LeetCode&#xff09; 题目解析 从上图可见其实有三个状态 代码原理 注意&#xff1a;我们在分析题目的时候分析出来的是三个状态&#xff0c;分别是上升、下降、平坦&#xff0c;但是…

基于YOLOv8与CGNet的鸟类智能识别系统 深度学习图像分类 鸟类目标检测与分类 图像特征提取 模型优化与应用 数据可视化(源码+指导+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

qml LevelAdjust详解

1、概述 LevelAdjust 是 QML&#xff08;Qt Modeling Language&#xff09;中的一个类型&#xff0c;用于调整源组件的每个色彩通道的颜色级别。通过 LevelAdjust&#xff0c;可以实现对源项目对比度的调节和色彩平衡的改变。LevelAdjust 类型继承自 Item&#xff0c;并提供了…

springMVC实现文件上传

目录 一、创建项目 二、引入依赖 三、web.xml 四、编写上传文件的jsp页面 五、spring-mvc.xml 六、controller 七、运行 一、创建项目 二、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…

opencv进行人脸识别环境搭建

1. 构建人脸识别环境 1) 下载安装opencv 下载地址&#xff1a;Releases - OpenCV 参考博文&#xff1a;OpenCV下载安装教程&#xff08;Windows&#xff09;-CSDN博客 下载对应系统的opencv&#xff0c;如windows版&#xff0c;opencv-4.5.5-vc14_vc15.exe 2) 然后解压缩到…