如何使用vba从word文档中查找和复制特定内容,并将其复制到另一个文档中

如何使用vba从word文档中查找和复制特定内容,并将其复制到另一个文档中,vba,ms-word,Vba,Ms Word,我录制了一个宏,用于将特定内容从一个word文档提取到另一个word文档,但它的功能有限。我需要将所有选定的内容提取到新文档中,并在同一文件名中使用后缀或前缀“glos”保存它 由于文档名处于活动状态,未将宏用于其他文档,即使更改了宏中的文件名,它也会提取内容,直到宏中记录的计数为止 使用正则表达式查找指定的内容“\(*)\” 输入: <CHAP_NUM>01</CHAP_NUM> <CHAP_TL> Lorem Ipsum</CHAP_

我录制了一个宏,用于将特定内容从一个word文档提取到另一个word文档,但它的功能有限。我需要将所有选定的内容提取到新文档中,并在同一文件名中使用后缀或前缀“glos”保存它

由于文档名处于活动状态,未将宏用于其他文档,即使更改了宏中的文件名,它也会提取内容,直到宏中记录的计数为止

使用正则表达式查找指定的内容
“\(*)\”

输入:

    <CHAP_NUM>01</CHAP_NUM>
    <CHAP_TL> Lorem Ipsum</CHAP_TL>

    <PARA>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</PARA>
    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>

    <PARA>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</PARA>

    <PARA>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</PARA>

    <PARA>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</PARA>

    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>

    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>

    <PARA>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</PARA>

    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>
01
乱数假文
Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。

    Sub Macro5()
    '
    ' Macro5 Macro
    '
    '
        selection.Find.ClearFormatting
        With selection.Find
            .Text = "\<(MN_GLOS)\>(*)\</(\1)\>"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchAllWordForms = False
            .MatchSoundsLike = False
            .MatchWildcards = True
        End With
        selection.Find.Execute
        selection.Copy
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
        selection.TypeParagraph
        Windows("ca_ch01__studyingsexlty_24feb2018CE_QA.doc [Compatibility Mode]") _
            .Activate
        Application.Browser.Next
        selection.Copy
        Windows("Doc1.docx").Activate
        selection.PasteAndFormat (wdUseDestinationStylesRecovery)
    End Sub
Sub宏5()
'
'宏5宏
'
'
selection.Find.ClearFormatting
选择。查找
.Text=“\(*)\”
.Replacement.Text=“”
.Forward=True
.Wrap=wdFindContinue
.Format=False
.MatchCase=False
.MatchWholeWord=False
.MatchAllWordForms=False
.MatchSoundsLike=False
.MatchWildcards=True
以
selection.Find.Execute
选择,复制
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
选择.类型段落
Windows(“ca_ch01_studyingsexlty_2018年2月24日CE_QA.doc[兼容模式]”)_
.激活
Application.Browser.Next
选择,复制
Windows(“Doc1.docx”)。激活
selection.PasteAndFormat(wdUseDestinationStylesRecovery)
端接头
输出(新docx)


Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。
Lorem Ipsum只是一个虚拟文本。

请帮助我将内容提取到新文档。

您想要什么还不清楚。您显示的代码不执行任何搜索(Find),并且由于您没有描述此宏正在执行什么以及它如何“不工作”,因此很难知道从何处开始帮助您。尝试使用Word的(高级)查找功能录制宏以执行基本搜索。然后看看这篇文章,了解如何使用干预操作进行多个搜索。这只是这类事情的数百个例子之一。@Cindy Meister,谢谢你的回答,实际上我是vba的初学者。在这里,我需要将特定内容导出到新的word文档中。我刚刚找到了
“\([!”“]*)?\”
&复制内容并将其粘贴到另一个文档中,这个过程应该重复到最后。
    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>
    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>
    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>
    <MN_GLOS>
    Lorem Ipsum is simply dummy text.
    Lorem Ipsum is simply dummy text.
    </MN_GLOS>