2017-09-20 20 views
0

私は仕事でマクロとVBAを使用するように教えてきました。私はコードに縛られていないので、私に同行してください。VBA Wordでは、段落に太字が含まれていないかどうかを確認するにはどうすればよいですか?

完全に太字の段落(小見出しなど)を見つける必要がありますが、私はそれを理解したり、オンラインでヘルプを見つけるのに苦労しています。私は似たような質問を見ましたが、関連すると思われる部品を使用しようとしているにもかかわらず、回答が複雑すぎて私が複製しているものを本当に知ることができません。

私の最終目標は、大胆な段落を見つけた後、その直後の文字(通常は空白行)を削除することです。

0が普通で、-1が完全に太字で、9999999が部分的に太字であることを示唆していたものが見つかりましたが、私に関連するコードがわからないため、 。私は本当に助けていただきありがとうございます。

+0

お試しください – DaBeau96

答えて

0

あなたの努力のこの段階で提供できるヘルプは、あなた自身を助ける方法を示すことを超えていません。

プログラミングの赤い線は、文書内に太字のテキストを見つけて、段落全体かどうかを判断することです。その後、それに続く空白行を削除した場合は、次の段落の検索を続行しますか?そうでない場合は、何もしないで次の太字の検索を続行します。

このプランの中心には、VBAのFindメソッドがあります。あなたはMSDNでそれを見ることができ、そして/またはマクロレコーダーでキーストロークを記録している間に手動で検索を行うことができます。これらの方法のどちらかが非常に混乱します。おそらく後者はあなたの目標へのより短い方法であることが約束されていますが、前者よりも多分です。実際は、目標をどのように定義するかによって大きく異なります。 VBAを学びたいなら、あなたが遭遇する質問はあなたが習得できる課題になります。他の人はあなたの前でそれをしています。

0

あなたが最初に検討していた方法が好きです。 Wordファイルを作成し、一部のテキストが太字で、一部が太字でないことを確認します。プレーンテキスト、太字のテキスト、または太字と太字を含む範囲を強調表示し、次のルーチンを実行します。

Sub WhatTheHeck() 
    If Selection.Font.Bold = True Then MsgBox "All is Bold" 
    If Selection.Font.Bold = False Then MsgBox "None is Bold" 
    If Selection.Font.Bold = wdUndefined Then MsgBox "Some is Bold" 
End Sub 

あなたはそれのこつを得る場合には、学ぶ(または再び尋ねる)(.Select法による)プログラムでテキストを選択する多くの方法のいくつか、そしてあなたが必要なすべてを持っています。 (たとえば、他の誰かが示唆したように、.Selectと組み合わせた任意の複雑な条件で.Findを実行し、WhatTheHeck()を呼び出すことができます。

注:VBAのtrue/falseプロパティの多くは、true、false、またはwdUndefined、および場合によっては他の値になることがあります。一般的に、wdUndefinedは '真と偽の組み合わせ'を意味します。 Selection.Font.Hiddenプロパティは、両方の組み合わせを意味するwdUndefinedでもかまいません。

関連する問題