VBA操作WORD(二):替换字符(含空格、全角字符、换行符等)
这篇实现WPS文字工具提供的几个小功能:
Sub 段落首行缩进转为空格()Dim ib As ParagraphFor Each ib In ActiveDocument.Paragraphs'排除表格If ib.Range.Information(wdWithInTable) = False Thenib.Range.Select'缩进不一定是2个字符,只要缩进不为0就替换,避免标题、主送对象等误操作If ib.Range.ParagraphFormat.FirstLineIndent > 0 Or ib.Range.ParagraphFormat.CharacterUnitFirstLineIndent > 0 ThenWith Selection.ParagraphFormat.CharacterUnitFirstLineIndent = 0.FirstLineIndent = 0End Withib.Range.Words(1).InsertBefore " " '插入2个全角字符End IfEnd IfNext
End Sub
'第一个参数是目标替换字符串,第二个参数是替换后的字符串
Sub 自定义替换(tarText As String, repText As String)'Application.ScreenUpdating = FalseSelection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = tarText.Replacement.Text = repText.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = True '要设置为True,否则通配符不生效.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllActiveWindow.ActivePane.VerticalPercentScrolled = 0
End Sub
Sub 删除段首空格()
'含全角和半角空格;WPS只删空格Call 自定义替换("^13[ ]{1,}", "^13")
End SubSub 换行符转为回车()Call 自定义替换("^l", "^13") '换行符转为回车
End Sub
^p在微软Word中会报错,WPS中^13和^p都可以执行上面的代码。
'.Text = """(*)"""'.Replacement.Text = ChrW(8220) & "\1" & ChrW(8221)'也可以将空格、全角空格替换掉'注意:如果表格中有回车符,会造成误操作。Call 自定义替换("^13{2,}", "^p") '删除2或以上空行,^13是回车符,^p为段落标记
替换全角字符:
Dim qjsz, bjsz As String, iii As Integer
qjsz = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,/《》?;':【】{}\|=-+_)(×%$#@!'〜&"
bjsz = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,/<>?;’:[]{}\|=-+_)(*%$#@!`~&"
Selection.WholeStory
For iii = 1 To 95
With Selection.Find
.Text = Mid(qjsz, iii, 1)
.Replacement.Text = Mid(bjsz, iii, 1)
.Format = False
.MatchWildcards = False
.Execute Replace:=wdReplaceAll
End With
Next iii
全文搜索关键字(Exit Do没注释掉就表示匹配第一个):
Sub 全文搜索关键字()
'注意下面三处Selection不是同一个对象。Selection.HomeKey unit:=wdStoryDo While Selection.Find.Execute(FindText:="关键字", Forward:=True) = TrueSelection.MoveStart unit:=wdParagraph, Count:=-1 '选中关键字所在段落With Selection'这里可以用Selection进行处理。End WithExit Do '第一次匹配成功就跳出循环,后面不处理Loop
End Sub
VBA操作WORD(二):替换字符(含空格、全角字符、换行符等)相关推荐
- [文本处理]——Python实现全角字符转化为半角字符
#全角转半角 def full_to_half(text:str): #输入为一个句子_text = ""for char in text:inside_code = ord(ch ...
- C#实现全角字符和半角字符转换
本文转自: http://blog.csdn.net/wangchao1982/article/details/1857444,写的很好,直接转了,谢谢! 很多的朋友都在学习和工作中遇到过全角和半角的 ...
- [学习笔记] 全角字符与半角字符的区别
概述 所有的中文字符都为全角字符,占两个字节(16位).而相应的全角英文字符则与中文字符等宽,相应地,半角英文字符则与半个中文字符宽度相同.这种特性也正是二者名称的体现,全角:Full-width:半 ...
- JS判断字符串中是否有全角字符
var str="sssssss" var str2=str.match(/[\uff00-\uffff]/g); if(str!=null){ alert("以下字符& ...
- (转)Excel VBA 操作 Word(入门篇)
原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word App ...
- word全角字符改半角2021-09-24
使用中文输入法,输入的中文是全角字符,在半角状态下,输入的数字就是半角数字. 以搜狗拼音输入法为例,介绍全角.半角数字切换. 单击全角.半角数字切换按钮,即可进行全角.半角数字切换,半月形为半角数字, ...
- java 全角半角_java操作字符,java全角转半角
原来在页面用fckediter编辑信息,为了信息美观,信息提交时需要对信息内容进行全角到半角的转换, 有时候如果信息两太大的话处理非常慢,怀疑是js处理太慢了, 有个想法,在java里面处理信息内容, ...
- java 校验姓名只能包含中英文_java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数...
package com.sangedabuliu.www; import java.util.regex.Matcher; import java.util.regex.Pattern; public ...
- 笔记本计算机半角数字切换,半角字符怎么输入?如何切换为-全角字符
半角字符怎么输入?如何切换为-全角字符 发布时间:2017-10-10 18:02 来源:互联网 当前栏目:电脑技巧 现在我们的生活水平在不断的提高,电脑也随之在我们的生活中变得很常见,电脑的功能是比 ...
- python把中文转英文_Python 3.0_文本清洗之中文特殊符号转英文特殊符号及全角字符转半角字符...
在文本清洗的过程,特殊符号的不规范是比较麻烦的事情,所以需要把文本中的特殊符号按照统一的标准处理.以下代码的作用就是将中文的特殊符号统一转成英文的,以及将全角符号转换成半角符号.参考代码# -*- c ...
最新文章
- 不会用Photoshop抠图?Mask R-CNN助你一键“除”人
- 干货|十大产业方向深度解析!《2020科技产业趋势报告》
- 鼠标一点打开几个网页
- Spark SQL 源代码分析系列
- mysql double 使用_mysql使用double的坑
- D进制的A+B (20)
- hdu5489 Removed Interval dp+线段树优化
- python装饰器执行顺序
- Ubuntu18.04/16.04 安装glog
- 银行科技岗位 笔试 专业方向重点 + 面试一般问题
- python中json是什么意思_python中json是什么
- 服务器在线测速系统源码
- ajax401错误,使用jqueryajax捕获401未经授权的http响应
- 计算机主板尺寸,电脑主板大中小三个等级的尺寸是多少?
- python二进制和图片转换
- Python——信号量、条件变量、事件
- 用php建设一个简单的网站,PHP_PHP新手上路(六),建设一个简单交互的网站(二) 5 - phpStudy...
- 小i机器人要求苹果公司停售iPhone产品
- [plugin:vite:import-analysis]Failed to resolve import “@/“ from ““.Does the file exist
- InnoDB 存储引擎介绍