是否可以提取具有相同特定格式的特定句子并将其保存到 Microsoft Word 中的文本文件中?

是否可以提取具有相同特定格式的特定句子并将其保存到 Microsoft Word 中的文本文件中?

例如,当检查小说或虚构作品时,我想知道我是否可以得到所有的对话?因为它们具有相同的格式,例如“多么美好的一天!”和“你好!”,它们被限制在两个引号中。

答案1

您可以使用 VBA 来自动化该过程。

  1. 打开文档。
  2. 按 Alt+F11 打开 VBA 编辑器。
  3. 复制并粘贴下面的代码。
  4. 将光标放在代码中,按 F5 运行它。将打开一个新窗口,其中包含提取的对话框。
Sub GetDialogues()

    Dim coll As New Collection
    Dim regEx As RegExp
    Dim allMatches As MatchCollection
    
    Set regEx = New RegExp
    
    With regEx
        .IgnoreCase = False
        .MultiLine = True
        .Global = True    'Look for all matches
        .Pattern = """.+?"""    'Pattern to look for
    End With
 
    Set allMatches = regEx.Execute(ActiveDocument.Content.Text)
 
    For Each Item In allMatches
        coll.Add Item   'Add found items to the collection
    Next Item

    Dim newdoc As Document
    Set newdoc = Documents.Add  'Add a new Word document
    newdoc.Activate             'Activate the document

    For Each Item In coll
        newdoc.Content.Text = newdoc.Content.Text + Item   'Add each item (quote) to the document
    Next Item

    newdoc.SaveAs FileName:="test.txt", Fileformat:=wdFormatPlainText   'Save the document as plain text

End Sub

相关内容