Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="2", ReplaceWith:="1", Replace:=wdReplaceAll
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="2", ReplaceWith:="1", Replace:=wdReplaceAll
Execute 方法(Find 对象)
运行指定的查找操作。如果查找成功,则返回 True。(这说明其是同步执行)
语法
expression.Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)
expression 必需。该表达式返回 Find 对象。
FindText Variant 类型,可选。指定需查找的文本。可用空字符串 ("") 查找格式。也可通过指定适当的字符代码查找特殊字符。例如,“^p”对应段落标记,“^t”对应制表符。如果需要使用特殊字符列表,请参阅查找替换特殊字符和文档元素示例。
如果 MatchWildcards 为 True,则可以指定通配符及其他高级搜索条件。例如,“*(ing)” 将查找以“ing”结尾的所有单词。详细内容,请参阅通配符搜索示例。
若要搜索符号字符,可键入 (^) 字符,零(0),然后键入符号字符的代码。例如,“^0151”对应一条长划线(—)。
MatchCase Variant 类型,可选。如果是 True,则查找文本需区分大小写。相当于“编辑”菜单“查找和替换”对话框中的“区分大小写”复选框。
MatchWholeWord Variant 类型,可选。如果为 True,则只查找匹配的完整单词,而并非作为一个长单词的一部分的文字。相当于“编辑”菜单“查找和替换”对话框中的“全字匹配”复选框。
MatchWildcards Variant 类型,可选。如果为 True,则查找的文字包含特殊搜索操作符。相当于“编辑”菜单“查找和替换”对话框中的“使用通配符”复选框。
MatchSoundsLike Variant 类型,可选。如果为 True,则查找与待查找文字发音相近的单词。相当于“编辑”菜单“查找和替换”对话框中的“同音”复选框。
MatchAllWordForms Variant 类型,可选。如果为 True,则查找文字的所有形式(例如,“ sit” 将包含“sitting”和“sat”)。相当于“编辑”菜单“查找和替换”对话框中的“查找单词的各种形式”复选框。
Forward Variant 类型,可选。如果为 True,则向下(向文档尾部)搜索。
Wrap Variant 类型,可选。如果搜索从不是文档开头的位置开始,并到达文档末尾(如 Forward 设置为 False,则相反),用本参数控制接下来的操作。当在选定内容或区域中没有找到搜索文字时,本参数也控制接下来的操作。可以是下列 WdFindWrap 常量之一:
常量 描述
wdFindAsk 搜索完所选内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。
wdFindContinue 到达搜索区域的开始或者结尾时,继续执行查找操作。
wdFindStop 到达搜索范围的开始或者结尾时,停止执行查找操作。
Format Variant 类型,可选。 如果为 True,则查找格式而非文字。
ReplaceWith Variant 类型,可选。替换文字。要删除由 Find 参数指定的文字,可使用空字符串 ("")。与 Find 参数相似,本参数也可以指定特殊的字符和高级搜索条件。要将图形对象或者其他非文本项指定为替换内容,可将这些项目置于“剪贴板”上,然后将 ReplaceWith 指定为“ ^c”。
Replace Variant 类型,可选。指定执行替换的个数:一个、全部或者不替换。可为下列 WdReplace 常量之一:wdReplaceAll、wdReplaceNone 或 wdReplaceOne。
MatchKashida Variant 类型,可选。如果为 True,则查找结果应与阿拉伯语文档中区分 kashidas 的文本相匹配。由于选择或安装的语言支持不同(例如,美国英语),此参数可能不可用。
MatchDiacritics Variant 类型,可选。如果为 True,则查找结果应与区分音调符号的语言文本相匹配。由于选择或安装的语言支持不同(例如,美国英语),此参数可能不可用。
MatchAlefHamza Variant 类型,可选。如果为 True,则在阿拉伯语文档中,查找内容应与区分 Alef Hamzas 的文本相匹配。由于选择或安装的语言支持不同(例如,美国英语),此参数可能不可用。
MatchControl Variant 类型,可选。如果为 True,则在从右到左运用语言的文档中,查找内容应区分双向控制字符。由于选择或安装的语言支持不同(例如,美国英语),此参数可能不可用。
说明
除非另外指定,否则替换文本将沿用文档中被替换文本的格式。例如,如果用“xyz”替换“abc”,那么粗体“abc”将被粗体字符串“xyz”所替换。
同样,如果 MatchCase 为 False,那么查找到的大写文本将被大写的替换文本替换,而无论搜索文本和替换文本是否大小写。上例中,“ABC”将被“XYZ”替换。
Word VBA
1、在VBA编辑环境中选择菜单“工具-引用”,打开添加项目引用的对话框,在列表里面找到并钩上“Microsoft VBScript Regular Expression *.*”(最后的两个版本号无所谓),确定;
2、然后使用如下代码:
Option Explicit
Sub ExtractCorrectAnswers()
Dim oRegExp As New RegExp
oRegExp.Global = True
oRegExp.MultiLine = True
oRegExp.Pattern = "正确答案:([A-Z])((?:[^\r]*)*)(\1[^\r]*?)((?:[A-Z][^\r]*)*)$"
ActiveDocument.Content.Text = oRegExp.Replace(ActiveDocument.Range.Text, "$3 $2 $4")
End Sub
运行后即可将源文档格式转换成希望的格式,即把正确答案提取到前面了。
Word VBA教程:Delete方法
VBA教程 - Word VBA参考教程 - Delete方法
Word VBA教程:Delete方法
应用于 Cell 和 Cells对象的 Delete方法。
删除一个或多个表格单元格并可选择控制如何移动剩余的单元格。
expression.Delete(ShiftCells)
expression 必需。该表达式返回以上一个对象。
ShiftCells Variant 类型,可选。剩余单元格移动的方向。可以是任意WdDeleteCells 常量。如果忽略,最后删除的单元格的右侧单元格向左移动。
应用于 Range 和 Selection对象的 Delete方法。
删除指定数目的字符或单词。此方法返回一个 Long 值,该数值表明删除项的数目。如果删除失败,则返回的值为 0(零)。
expression.Delete(Unit, Count)
expression 必需。该表达式返回以上一个对象。
Unit Variant 类型,可选。所需删除的折叠区域或选定内容的单位。可以是下列 WdUnits 常量之一:wdCharacter(默认值)或 wdWord。
Count Variant 类型,可选。所需删除的单元的数目。若要删除某区域或选定内容之后的单元,请折叠该区域或选定内容并将此参数设置为正数;若要删除某区域或选定内容之前的单元,请折叠该区域或选定内容并将此参数设置为负数。
应用于 ShapeNodes对象的 Delete方法。
删除指定的对象。
expression.Delete(Index)
expression 必需。该表达式返回一个ShapeNodes对象。
Index Long 类型,必需。要删除的图形节点的数目。
应用于“应用于”列表中所有其他对象的 Delete方法。
删除指定的对象。
expression.Delete
expression 必需。该表达式返回“应用于”列表中的一个对象。http://www.33dir.com/z/2016/08/04/2957.html
Excel VBA操作word文件
在 Word 中,几乎所有的操作都要调用 Document 对象本身或其内容。当您用 VBA 操作 Word 时,Document 对象表示一个打开的文档,而且所有的 Document 对象都是 Application 对象的 Documents 集合的成员。
文档是一个由字符、单词、句子和段落组成的集合,字符组成单词,单词组成句子,句子组成段落,等等。因此,每一个 Document 对象都具有 Characters、Words、Sentences 和 Paragraghs 四个集合。此外,每个文档具有一个包含一个或多个节的 Sections 集合,每一个节都有一个包含该节页眉和页脚的 HeadersFooters 集合。
注意: 您可以在 Microsoft Office 2000 开发人员对象模型指南(英文)中查阅完整的 Word 对象模型。另外,您也可以使用对象浏览器和 Microsoft Word Visual Basic 参考帮助来学习有关具体某个对象、属性、方法和事件的详细内容。
通过 VBA 使用 Word 时,Document 对象处于中心位置。如果您要打开文档或创建新文档,就要创建新的 Document 对象。每个打开或新创建的文档均被添加至 Documents 集合。具有焦点的文档称为活动文档,由 ActiveDocument 属性表示。
Document 对象作为 Documents 集合中的一个成员,您可以通过使用 Document 对象的索引值(Document 对象在 Documents 集合中的位置,1 是集合中的第一个文档)或名称来引用它。另外,您也可以使用 ActiveDocument 属性来引用当前具有焦点的文档。例如,如果名为 Policies.doc 的文档是唯一打开的文档,则以下三个对象变量将全部指向 Policies.doc:
Dim docOne As Word.Document
Dim docTwo As Word.Document
Dim docThree As Word.Document
Set docOne = Documents(1)
Set docTwo = Documents("Policies.doc")
Set docThree = ActiveDocument
一般情况下不要使用 Documents 集合中的索引值来引用文档,因为当其它文档打开或关闭时,某个特定文档的索引值可能会随之改变。通常,您可以通过使用 ActiveDocument 属性或使用 Documents 集合的 Add 方法或 Open 方法创建的 Document 对象变量。以下示例显示了如何使用 ActiveDocument 属性把一个地址添加到当前具有焦点的文档中:
With ActiveDocument
.Envelope.Insert Address:="Office Talk" _
& vbCrLf & "One Microsoft Way" & vbCrLf _
& "Redmond, WA 98052", ReturnAddress:= _
"David Shank" & vbCrLf & _
"77 First Street" & vbCrLf & _
"Any Town, USA 12345"
End With
下面的示例说明如何通过使用 Documents 集合的 Open 方法,实例化 Document 对象变量。
Dim docPolicy As Word.Document
Set docPolicy = Documents.Open("c:\my documents\policies.doc")
最后一个示例显示如何通过使用 Add 方法,为新的空文档创建 Document 对象的实例。
Dim docPolicy As Word.Document
Set docPolicy = Documents.Add
通过使用 Open 方法打开的文档,或者通过使用 Add 方法创建的文档,都将成为用 ActiveDocument 属性表示的当前活动文档。如果您想使 Documents 集合里的其它文档成为活动文档,可使用 Document 对象的 Active 方法。
一旦您获取了要操作的 Document 对象,绝大部分您想通过 VBA 进行的工作将涉及文本的操作。首先要指定文档的一个部分,然后对它进行某些操作。例如,添加或删除文本,或者设置单词或字符的格式。您可以使用 Range 或 Selection 这两个对象来完成很多工作。
Word vba常用语句100句
1、系统参数
(01) Application.ActivePrinter ‘获取当前打印机
(02) Application.Height '当前应用程序文档的高度
(03) Application.Width ‘当前应用程序文档的宽度
(04) Application.Build ‘获取Word版本号和编译序号
(05) Application.Caption ‘当前应用程序名
(06) Application.DefaultSaveFormat '返回空字符串,表示Word文档
(07) Application.DisplayRecentFiles '返回是否显示最近使用的文档的状态
(08) Application.Documents.Count '返回当前打开的文档数
(09) Application.FontNames.Count ‘返回当前可用的字体数
(10) Application.Left ‘返回当前文档的水平位置
(11) Application.MacroContainer.FullName '返回当前文档名,包括所在路径
Application.MacroContainer.pach '返回当前文档路径
Application.ActiveDocument.Path ‘获得文件的相对路径
(12) Application.NormalTemplate.FullName '返回文档标准模板名称及所在位置
(13) Application.RecentFiles.Count '返回最近打开的文档数目
(14) Application.System.CountryRegion '返回应用程序所在的地区代码
(15) Application.System.FreeDiskSpace ‘返回应用程序所在磁盘可用空间
(16) Application.System.HorizontalResolution '返回显示器的水平分辨率
(17) Application.System.VerticalResolution '返回显示器的垂直分辨率
(18) Application.System.LanguageDesignation '返回系统所使用的语言
(19) Application.System.MathCoprocessorInstalled ‘返回系统是否安装了数学协处理器
(20) Application.System.OperatingSystem ‘返回当前操作系统名
(21) Application.System.ProcessorType '返回计算机处理器名
(22) Application.System.Version ‘返回操作系统的版本号
(23) Application.Templates.Count '返回应用程序所使用的模板数
(24) Application.UserName '返回应用程序用户名
(25) Application.Version ‘返回应用程序的版本号
2、Documents/Document对象
(26) ActiveDocument.AttachedTemplate.FullName '返回当前文档采用的模板名及模板所在位置
(27) ActiveDocument.Bookmarks.Count '返回当前文档中的书签数
(28) ActiveDocument.Characters.Count '返回当前文档的字符数
(29) ActiveDocument.CodeName ‘返回当前文档的代码名称
(30) ActiveDocument.Comments.Count ‘ 返回当前文档中的评论数
(31) ActiveDocument.Endnotes.Count '返回当前文档中的尾注数
(32) ActiveDocument.Fields.Count '返回当前文档中的域数目
(33) ActiveDocument.Footnotes.Count ‘返回当前文档中的脚注数
(34) ActiveDocument.FullName '返回当前文档的全名及所在位置
(35) ActiveDocument.HasPassword '当前文档是否有密码保护
(36) ActiveDocument.Hyperlinks.Count '返回当前文档中的链接数
(37) ActiveDocument.Indexes.Count '返回当前文档中的索引数
(38) ActiveDocument.ListParagraphs.Count '返回当前文档中项目编号或项目符号数
(39) ActiveDocument.ListTemplates.Count '返回当前文档中使用的列表模板数
(40) ActiveDocument.Paragraphs.Count '返回当前文档中的段落数
(41) ActiveDocument.Password=XXX '设置打开文件使用的密码
(42) ActiveDocument.ReadOnly '获取当前文档是否为只读属性
(43) ActiveDocument.Saved '当前文档是否被保存
(44) ActiveDocument.Sections.Count '当前文档中的节数
(45) ActiveDocument.Sentences.Count ‘当前文档中的语句数
(46) ActiveDocument.Shapes.Count '当前文档中的形状数 ,图形?
(47) ActiveDocument.Styles.Count '当前文档中的样式数
(48) ActiveDocument.Tables.Count ‘当前文档中的表格数
(49) ActiveDocument.TablesOfAuthorities.Count ‘返回当前文档中的引文目录数
(50) ActiveDocument.TablesOfAuthoritiesCategories.Count ‘返回当前文档中引文目录类别数
(51) ActiveDocument.TablesOfContents.Count ‘返回当前文档中的目录数
(52) ActiveDocument.TablesOfFigures.Count '返回当前文档中的图表目录数
3、Paragraphs/Paragraph对象
(53) Selection.Paragraphs.Count '返回所选区域的段落数
(54) Selection.Paragraphs.First '返回所选区域中的第一段
(55) ActiveDocument.Paragraphs(1).LeftIndent '返回当前文档中第一段的左缩进值
(56) ActiveDocument.Paragraphs(1).LineSpacing '返回当前文档中第一段的行距
(57) ActiveDocument.Paragraphs(1).OutlineLevel ‘返回或设置当前文档中第一段的大纲级别
.OutlineLevel = wdOutlineLevel2 ‘2级
.OutlineLevel = wdOutlineLevel3 ‘3级
(58) ActiveDocument.Paragraphs(1).RightIndent ‘返回当前文档中第一段的右缩进量
(59) ActiveDocument.Paragraphs(1).SpaceBefore '返回当前文档中第一段的段前间距
(60) ActiveDocument.Paragraphs(1).SpaceAfter ‘返回当前文档中第一段的段后间距
(61) ActiveDocument.Paragraphs(1).Range.Text '返回当前文档中第一段的内容
(62) ActiveDocument.Paragraphs(1).Range.Style.NameLocal '返回当前文档中第一段应用的样式名
(63) ActiveDocument.Paragraphs(1).Range.Style.Description '返回当前文档中第一段所应用样式的详细描述
(64) ActiveDocument.Paragraphs(1).Range.Style.Font.Name '返回当前文档中第一段所应用样式的字体名
(65) ActiveDocument.Paragraphs(1).Range.Style.Font.NameFarEast '返回或设置一种东亚字体名
(66) ActiveDocument.Paragraphs(1).Range.Style.Font.Size '返回或设置当前文档中第一段所应用样式的字体大小
(67) ActiveDocument.Paragraphs(1).Range.Style.Font.Spacing '返回或设置字符间距
(68) Selection.Words.Count '所选区域的字数 Sentences对象
(69) Selection.Sentences.Item(1) '所选区域中的第一句的内容 Words对象
(71) ActiveDocument.Words(1).Select '选择当前文档中的第一个词
(72) ActiveDocument.Range.Words(1).InsertAfter "我爱你!" '在当前文档中的第一个词后插入“我爱你”
4、Characters对象
(73) Selection.Characters.Count '当前文档中所选区域的字符数
(74) ActiveDocument.Paragraphs(1).Range.InsertParagraphAfter'在当前文档的第一段之后插入一个新段落
5、Sections/Section对象
(75) ActiveDocument.Sections.First '当前文档的第一节
(76) ActiveDocument.Sections.First.PageSetup.BottomMargin '当前文档第一节所在页的底边距
(77) ActiveDocument.Sections.First.PageSetup.LeftMargin '当前文档第一节所在页的左边距
(78) ActiveDocument.Sections.First.PageSetup.RightMargin '当前文档第一节所在页的右边距
(79) ActiveDocument.Sections.First.PageSetup.TopMargin '当前文档第一节所在页的顶边距
(80) ActiveDocument.Sections.First.PageSetup.PaperSize '返回或设置当前文档第一节所在页的大小
(81) ActiveDocument.Sections.First.PageSetup.PageHeight '返回或设置当前文档第一节所在页的高度
(82) ActiveDocument.Sections.First.PageSetup.PageWidth '返回或设置当前文档第一节所在页的宽度
(83) ActiveDocument.Sections.Add Range:=myRange '在当前文档中添加新节
(84) ActiveDocument.Sections.Item(2) '当前文档中的第二节
(85) ActiveDocument.Sections.Last.Range.InsertAfter "文档结束!" '在当前文档中最后一节的结尾添加文字“文档结束!”
6、Range对象
(86) ActiveDocument.Range(Start:=0, End:=10) '表示当前文档前10个字符所组成的一个Range对象
(87) Set myRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(2).Range.Start, _
End:=ActiveDocument.Paragraphs(4).Range.End) '将当前文档第2段至第4段设置为一个Range对象
(88) ActiveDocument.Paragraphs(1).Range.Copy '复制当前文档中的第一段
(89) Selection.Copy
Documents.Add.Content.Paste '复制所选内容到新文档中
(90) ActiveDocument.Bookmarks("Book1").Copy Name:="Book2" '将Book2书签复制Book1书签标记的位置
(91) Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4 '将所选内容移至文档中的第4行
(92) Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext '将所选内容移至下一个表格的第1个单元格
(93) Selection.Range.AutoFormat '为所选内容套用格式
(94) ActiveDocument.Content.Font.Name = "Arial" '将当前文档的字体设置为斜体
(95) ActiveDocument.Content.Select Selection.Delete '将当前文档中的内容删除其它
(96) Documents.Add '添加一个新文档
(97) Set myTable = ActiveDocument.Tables.Add(Selection.Range, 2, 2) '在当前文档所选区域添加一个2行2列的表格
7、文件读写
(98) Open "C:\my.txt" For Input As #1 '打开一个用于输入的文件并令其编号为1
(99) Line Input #1, TextLine '读取被打开用于输入且编号为1的文件
(100) Close #1 '关闭编号为1的文件
Word VBA
我觉得,Selection.Find中
.Wrap = wdFindContinue 应该改为:.Wrap = wdFindStop
这样,搜索到文档末尾就不会回过头来再重新搜索了。
Do While 的条件 Selection.Find.Execute 的结果就不为 True,循环就会结束。
也想知道你最后是怎么解决的啊。
关于word VBA
第一个问题
给你个建议
可以使用替换的方法
即现在word中输入一些替换用的关键词
比如 “替换内容1”
然后用vba的替换命令把
“替换内容1” 替换成你想要的内容
如果你看不懂的话
建议还是找去其他方法吧
需要一些基础
第二个问题
方法1
可以使用查找 高级 格式 选定要查找的内容的格式
选中突出显示所有。。。。
查找全部
方法2
有个前提就是你的格式很规范
格式 样式与格式
选中你要查找的内容的一部分
旁边的格式栏会显示你选中的文件的样式的
在上面点右键
选择选中所有#实例
就可以了
然后就可以操作了
至于要用vba的话 自己录制一个宏看看代码
写入文本的话 在vba帮助里搜索一下也有的
希望都你有用
EXCEL VBA和WORD VBA有什么区别?
原则上是一样的语法
但是调用的类不一样,即Application,例如你调用Application那么在word里就是word的类,在Excel是excel的类。
只是名字一样而已。
比如在word的VBA里,你没有办法找到Application.ActiveSheet,因为这是excel里面的功能!
word vba
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=10, Extend:=wdExtend
Selection.Font.UnderlineColor = wdColorAutomatic
Selection.Font.Underline = wdUnderlineSingle
'前面是选择,最后2句是设置下划线。
转载请注明出处51数据库 » wordvba列表 wordVBA查找替换