2010-12-16 18 views
1

毎週複数ページの文書を作成します。私はPDFからテキストをコピーし、それを単語文書に貼り付け、貼り付けたテキストをフォーマットします。VBAを使用してテキストを選択して太字にする

これには時間がかかり、自動化したいと考えています。

特定のテキストを選択するためにマクロまたはコードが必要です。そのテキストを太字にします。私が大胆にする必要がある特定のテキストは、私がスクラップコードと呼ぶものです。

60種類のコードがあります。たとえば、「FIPS」または「LILL」などです。

答えて

3

何か:

Sub A() 
' 
' a Macro 
' 
' 
Dim A(3) As String 

A(1) = "code1" 
A(2) = "code2" 
A(3) = "code3" 

For i = 1 To 3 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Forward = True 
     .Wrap = wdFindStop 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
     .Replacement.Font.Bold = True 

     .Execute FindText:=A(i), ReplaceWith:=A(i), Format:=True, _ 
     Replace:=wdReplaceAll 

    End With 
Next i 
End Sub 

HTH!

編集

私はスクラップ・コードのそれぞれと文字列配列を作ることを考えていた大胆な

Sub a() 
' 
' a Macro 
' 
' 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    Selection.Find.Replacement.Font.Bold = True 
    With Selection.Find 
     .Text = "$([0-9.,]{1,})" 
     .Replacement.Text = "" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = True 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchAllWordForms = False 
     .MatchSoundsLike = False 
     .MatchWildcards = True 
    End With 
    Selection.Find.Execute 
    Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 
+0

それは完璧に機能しました!あなたは最高です。 – Aaron

+0

もう一度OKです。私は、同じ文書に大胆な金額を入れたい。ドル記号を探してから、文書にスペースが入るまで選択することができますか?ドキュメント上のすべての金額はドル記号で始まりますので、探しているのは簡単なことです。 – Aaron

+0

@Aaron「ドル記号」の作業... –

0

マクロの記録をお勧めします。
次に、すべての変更と書式設定を行います。
最後に、マクロのコードを見て、それがどのようにしたのかを見てください。

あなたが理解しておく必要があることは、論理的に太字にしたいテキストを見つける方法です。
特定の行ですか?それは知られている単語の冒頭にありますか?

これを解決したら、マクロのコードと組み合わせてタスクを自動化することができます。このような

+0

に金額を切り替えます。たぶん、私はfind replaceを使ってドキュメント内の各スクラップコードを探し、それを太字にすることができます。文字列(AS 薄暗いScrapCodes)= 'すべてのスクラップコード 薄暗いカウンタとしての整数= 0 カウンタ>まで行い「配列 各スクラップコードを呼び出すために使用カウンタ」コード 数がスクラップコード 探し'スクラップコードを太字にする 'カウンタに1を加えて end 私がプログラミングしてからずっと時間がかかりましたが、それは私が考えていたものです。 – Aaron

関連する問題