- ·上一篇:word怎么取消文本的横线
- ·下一篇:word封面怎么竖排文字
怎么查找word里英文标点
1.有没有办法统计word英文字数+半角标点(英文标点)
在 word 的字数统计 工具里可以一目了然……
但是 你说的 英文字数 是指单词数 还是 字符数哪?
统计不会太精确按着你的要求……统计非中文单词(需要你的非中文部分 都是 英文而没有其他国家文字 )这时候 不能包括 半角的符号……半角的符号 只有在统计字符的时候 才会体现在里面……
没有那么精确的统计功能!
不过可以配合 查找 替换的方式 并配合一些运算来得到相对 精确一点儿的 统计结果……或者用VBA来实现……有必要吗 ?我认为没必要!
2.如何在word里面,把所有的英文双引号,替换成中文双引号
如果是完全配对的引号,很容易解决:
1、工具-自动更正选项-镶入时自动套用格式-直引号替换为弯引号,去掉方框里的勾,否则在自动替换后必然全是右引号;
2、使用通配符,查找栏输入 [“”],中括号里是汉字双引号对,中括号连同双引号一起输入,然后全部替换为英文双引号,即直引号;
3、查找栏输入 "(*)",即两个英文双引号,里面是小括号(必须是半角)加星号,全部替换为:“\1”,即汉字双引号里面反斜杠和数字1,搞定。
注意:执行前光标必须在引号对之外,否则替换错误; .Wrap = wdFindStop'表示光标前的引号不替换; .Wrap = wdFindContinue'表示替换全文引号。
如果是不完全配对的引号,再用这招就会频繁出错了。例如引用长段讲话,引号内分段,段首有引号,段尾却不一定有,引号不是成对出现的,处理就比较麻烦。
给你一段宏代码,用故意弄出来的多篇复杂引号文章测试过多次,全部正确替换。代码不长,但运行时稍微有点卡,可能会耽搁几秒时间,word会假死无反应。
注意:执行前光标必须在错误引号之前,光标前的引号不会被替换,执行完成后光标无法在原处停留;
默认循环99次,如果文档太长,超过了99个段落,则99后面的段落不完全成对的引号配对可能不正确,可自己修改循环次数,或继续执行。循环次数越多,卡顿越严重。
注意,此段代码只能单独使用,如镶嵌在其它宏代码中就会出错。
Sub 引号()
Application.ScreenUpdating = False
For N = 1 To 99
With Selection.Find
.Text = "[" & ChrW(8220) & ChrW(8221) & "]"
.Replacement.Text = """"
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = """(*)"""
.Replacement.Text = ChrW(8220) & "\1" & ChrW(8221)
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveDown unit:=wdParagraph
Next N
End Sub