2017-09-18 20 views
0

Word文書で太字の単語が含まれている文を抽出して、用語のリストを作成します。それは可能ですか?私は太字の単語を検索する方法を知っています。しかし、私は大胆な言葉を持つ文を選択する方法を知らない。単語が太字のWord文書から文を抽出することはできますか?

見つかったテキストをコピーして新しい文書に貼り付けるコードを追加しました。それはうまくいきましたが、今はそうではありません。どうしてか分かりません。これは私が今持っているものです。

Sub Extract_terms() 
    With Selection.Find 
     .Format = True 
     .Font.Bold = True 
    End With 
    Do While Selection.Find.Execute 
     Selection.Expand wdSentence 
     Selection.Font.Bold = False 'added to prevent infinite loop 
     Selection.Copy 
     Windows("list.docx").Activate 
     Selection.PasteAndFormat (wdFormatOriginalFormatting) 
     Selection.TypeParagraph 
     Windows("Chapter 3.docx [Compatibility Mode]").Activate 
     Selection.MoveLeft Unit:=wdCharacter, Count:=1  
    Loop 
End Sub 
+0

Do While Selection.Find.Execute行が実行されると、太字のテキストを検索する代わりに、カーソルがフリーズすることがあります。 – aoswald

答えて

0

あなたはSelection.Expandのための単位としてwdSentenceを使用する必要があります。ここでは例です:

Sub test() 
    With Selection.Find 
     .Format = True 
     .Font.Bold = True 
    End With 

    Do While Selection.Find.Execute 
     Selection.Expand wdSentence 
     Selection.Font.Bold = False 'added to prevent infinite loop 
    Loop 
End Sub 

HereあなたはwdUnits列挙するために使用できるすべての可能なユニットのリストです。

+0

これは正常に機能しましたが、今は機能しません。私は選択された文章を別の文書にコピーするためにいくつかの行を追加しましたが、うまくいきましたが、今はそうではありません。どのように私はそれを壊したがわからないが、それは動作していない。これは私が今持っているものです: – aoswald

+0

私はそれがいくつかの設定を見つけることに関連していると推測しなければならないでしょう、あなたは新しい質問をし、あなたが良い答えを得る可能性が高いよりも検索しているテキストのいくつかの画像を投稿する必要があります。幸運のベスト – GibralterTop

+0

'Selection.Find'の設定がアプリケーションの継続時間中に実行されると(IDKを超えて実行される可能性があります)、@mohammedaldefrawyが行ったようにしてすべてをリセットしようとするのが賢明です。それはあなたがリセットする必要があるすべてではないと言うでしょう。 – GibralterTop

0

私は簡単な方法は、その検索のマクロを記録することだと思うあなたのプログラムにコードを取ると、あなたが望むように変更し、その後、希望の条件に含まれています。

例:

Selection.Find.ClearFormatting 
Selection.Find.Font.Bold = True 
With Selection.Find 
    .Text = "YOUR WORD" 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchKashida = False 
    .MatchDiacritics = False 
    .MatchAlefHamza = False 
    .MatchControl = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
Selection.Find.Execute 
+0

OPは彼が既に太字を見つける方法を知っていると言いました。 – GibralterTop

関連する問題