2010-12-31 9 views
0

フォントサイズが14および18で、文書のサイズが1500ページのWord文書があります。Wordファイルから特定のテキストを抽出する

フォント14とフォント18を具体的に変更する必要があります。検索した後、私はこれを簡単に実行できるようにVBAを探しました。

は私が前にVBAをやったことがないので、私はこの試みた:

Sub tryIt() 

If Selection.Font.Size = 18 Then 
MsgBox ("test") 

End If 
End Sub 

をしかし、それは動作しません...のMsgBox()は、それが適切にテキストを認識した場合にだけ見ることでした。

どうすればWord文書のフォントサイズ14と18を区別/区別でき、これをvbスクリプトに実装できますか?

14と18のサイズのテキストを抽出する方法はありますか、それを検索して検索/置換を行うことはできますか?

+2

私は現時点でWordを手にすることはできませんでしたが、Find-> Specialを使用してマクロを記録して、これを大まかに取得することができます。 – Fionnuala

答えて

0

あなたのコードで何が動作していないのかは言いませんでした。

Sub tryIt() 
    Dim findRange As Range 
    Set findRange = ActiveDocument.Range 
    findRange.Find.ClearFormatting 
    findRange.Find.Font.Size = 18 

    Do While findRange.Find.Execute(findtext:="") = True 
     findRange.Select 
     'Do something here 

     DoEvents 
    Loop 
End Sub 
0

それはあなたが正確に後にしているものを伝えるために少しトリッキーですが、次のマクロは、テキスト「ファズ」でフォントサイズ14であるすべての連続したテキストに置き換えられます。しかし、先発のためにこれを試してみてください。

Sub TryIt() 
With Selection.Find 
    .ClearFormatting 
    .Font.Size = 14 
    .Replacement.ClearFormatting 
    .Text = "" 
    .Replacement.Text = "fuzz" 
    .Wrap = wdFindContinue 
    .Format = True 
    .Execute Replace:=wdReplaceAll 
End With 
End Sub 

これはあなたの後ろではない場合は、あなたが何を意味するか少し明確にする必要があります。

関連する問題