当前位置: 首页 > news >正文

【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文件如下:

相关文章:

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

1. 代码规范方面 添加 Option Explicit:强制要求显式声明所有变量,这样可以避免因变量名拼写错误等情况而出现难以排查的逻辑错误,提高代码的健壮性。使用 On Error GoTo 进行错误处理:通过设置错误处理机制,当代码执行…...

Attention计算中的各个矩阵的维度都是如何一步步变化的?

在Transformer模型中,各个矩阵的维度变化是一个关键的过程,涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程: 输入阶段 输入序列:假设输入序列的长度为seq_len,每个单词或标记通过词嵌入&…...

【数模学习笔记】插值算法和拟合算法

声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…...

探索 C++ 与 LibUSB:开启 USB 设备交互的奇幻之旅

一、引言 在当今数字化时代,USB(通用串行总线)设备无处不在,从常见的 U 盘、鼠标、键盘,到复杂的工业数据采集设备、医疗监测仪器等,它们以方便快捷的插拔式连接,为人们的生活和工作带来了极大…...

二、模型训练与优化(4):模型优化-实操

下面我将以 MNIST 手写数字识别模型为例,从 剪枝 (Pruning) 和 量化 (Quantization) 两个常用方法出发,提供一套可实际动手操作的模型优化流程。此示例基于 TensorFlow/Keras 环境,示范如何先训练一个基础模型,然后对其进行剪枝和…...

3D可视化产品定制,应用于哪些行业领域?

3D可视化定制服务已广泛渗透至众多行业领域,包括汽车、家居、时尚鞋服、珠宝配饰以及数码电器等: 汽车行业: 借助Web全景技术与3D模型,我们高保真地再现了汽车外观,为用户带来沉浸式的车型浏览体验。用户可在展示界面自…...

Avalonia 入门笔记(零):概述

Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感 基于 .NET 的跨…...

Unity TextMesh Pro入门

概述 TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。 本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功…...

[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...

12 USART串口通讯

1 串口物理层 两个设备的“DB9接口”之间通过串口信号建立连接,串口信号线中使用“RS232标准”传输数据信号。由于RS232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过“电平转换芯片”转换成控制器能识别的“TTL校准”的电平信号&#xff…...

CF 368A.Sereja and Coat Rack(Java实现)

问题分析 简而言之,小明要邀请m个绅士到家,家里有n个挂衣钩,一个挂衣钩要支付i元,如果挂衣钩不够了就要给每个绅士赔d元 思路分析 所以思路就很清楚了,获取n,d,m的值,并用数组存放每…...

清华大学、字节跳动等单位联合发布最新视觉语言动作模型RoboVLMs

近年来,视觉语言基础模型(Vision Language Models, VLMs)大放异彩,在多模态理解和推理上展现出了超强能力。现在,更加酷炫的视觉语言动作模型(Vision-Language-Action Models, VLAs)来了&#x…...

网络安全、Web安全、渗透测试之笔经面经总结

本篇文章涉及的知识点有如下几方面: 1.什么是WebShell? 2.什么是网络钓鱼? 3.你获取网络安全知识途径有哪些? 4.什么是CC攻击? 5.Web服务器被入侵后,怎样进行排查? 6.dll文件是什么意思,有什么…...

.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度

NPOI:支持xlsx,.xls,版本>2.5.3 XLS:HSSFWorkbook,主要前缀HSS, XLSX:XSSFWorkbook,主要前缀XSS,using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果&#xff0…...

python bs4 selenium 查找a href=javascript:();的实际点击事件和url

在使用 BeautifulSoup 和 Selenium 时,处理 href"javascript:;" 的链接需要一些额外的步骤,因为这些链接不直接指向一个 URL,而是通过 JavaScript 代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等…...

三 BH1750 光感驱动调试1

一 扫描设备 查看手册 BH1750 光感模块 寄存器地址为 0x23 官方手册 : http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf su 然后用 i2cdetect 扫描设备: 拨,插 对比, 探测设备挂载在 /dev/i2c-5 上, 从设备地址为 0x23 二 …...

UE材质节点Fresnel

Fresnel节点 ExponentIn 控制边缘透明度 BaseReflectFractionIn 控制中心透明度...

linux的大内核锁与顺序锁

大内核锁 Linux大内核锁(Big Kernel Lock,BKL)是Linux内核中的一种锁机制,用于保护内核资源,以下是关于它的详细介绍: 概念与作用 大内核锁是一种全局的互斥锁,在同一时刻只允许一个进程访问…...

用户注册模块用户校验(头条项目-05)

1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…...

面向对象的基本概念

本篇,来介绍面向对象的基本概念。 1 面向过程与面向对象 面向过程与面向对象,是两种不同的编程思想。 1.1 面向过程 面向过程的思路,是按照问题的解决步骤,将程序分解为一个个具体的函数或过程,然后依次调用这些函数来实现程序的功能。 面向对象的程序设计,程序的执行…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例: 某医药分销企业,主要经营各类药品的批发与零售。由于药品的特殊性,效期管理至关重要,但该企业一直面临效期问题的困扰。在未使用WMS系统之前,其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

6.计算机网络核心知识点精要手册

计算机网络核心知识点精要手册 1.协议基础篇 网络协议三要素 语法:数据与控制信息的结构或格式,如同语言中的语法规则语义:控制信息的具体含义和响应方式,规定通信双方"说什么"同步:事件执行的顺序与时序…...