特定の形式の特定の文を抽出し、Microsoft Word のテキスト ファイルに保存することは可能ですか?

特定の形式の特定の文を抽出し、Microsoft Word のテキスト ファイルに保存することは可能ですか?

たとえば、小説やフィクションの文書を調べるとき、すべての会話を取得できるかどうか疑問に思います。なぜなら、会話は「What a nice day!」や「Hello!」のように、2 つの引用符で囲まれた同じ形式になっているからです。

答え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

関連情報