• 締切済み

マクロを使い、特定の文字を青く太字で置換したい

Wordで大量の文字を青い太字にしたいのですが、マクロの組み方が分かりません。 置換したい文字(例):計算力 実力講座 カレンダー ↑この文字を、青い太字にしたいです。 (置換したい文字が、10,000程度あります) WinXP Word2007を使っています 非常に困っております。 何卒、よろしくお願いします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 >ところどころ、文字が置換しないところもありますが、今まで手作業でやっていたのに比べると大幅に効率がアップしました。 #1さんの  Open T_File For Input As #T_No すこし気になっていたのですが、このインポートする部分をご自身で加工できるなら、後は、置換しないところがあるとはいっても、どのマクロも変わらないはずです。後は、検索する時に、全角・半角の区別をしないなどのオプションを付けてあげるだけです。もともと、私は、そのインポート部分がはっきりしていなかったので、コードを出さなかったわけです。ただ、ご自身でその部分が書けるなら、もう、私が立ち入る話ではないようです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 この質問は解決したのでしょうか? 私は、コードを書かなかったけれども、果たして出来ましたでしょうか。実際、1万語がWord上に、そのままあるものを、取り出すのは、書式を換えるのとは別の技術が必要だと思います。どのように単語が置いてあるのかも問題です。Excelですと、セルに対して数値的な処理が可能ですが、Wordにそのまま載せたままでは、うまく行かないように思います。

t3masa
質問者

お礼

ありがとうございます。 ところどころ、文字が置換しないところもありますが、今まで手作業でやっていたのに比べると大幅に効率がアップしました。 更に良い方法がありましたら、お教えいただけますと幸いです。 よろしくお願いいたします。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#2の回答者です。 もう一度、質問文・レスを読み直しましたが、検索される語が1万語なのか、検索語が1万語なのか、良く分かりませんでした。Wordだというので、Word上で、検索語が1万語だと辻褄が合わないような気がしました。もし、数語の検索語なら、手動で行っても十分でしょう。 #1さんのマクロで問題ないのなら、私は、マクロを書くことはないと思います。ただ、Wordマクロは、Excelのようにプロパティはなるべく省略しないほうがよいと思います。.Find.ClearFormatting しても、クリアしないことがあります。

t3masa
質問者

お礼

質問文が分かりにくくてすみません。 置換したい言葉が、1万語程度あるということになります。 また、マクロに関するアドバイスありがとうございます。 Wordマクロはまた違うんですね。 勉強になりました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >置換したい文字が、10,000程度あります どのような保存スタイルなのですか?Excelですか?CSV ファイルですか?Access ですか?

t3masa
質問者

お礼

ありがとうございます。 保存スタイルは、Wordファイルのdocもしくはdocxになります。 よろしくお願いいたします。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Word2002で試しました。 テキストファイル(abc.txt :Wordファイルと同じフォルダ)に、 該当する単語を一列に書き込んでおく。 (例): 計算力 実力講座 カレンダー Sub try()  Dim myRange As Range  Dim T_File As String  Dim T_No As Long  Dim tmp As String  T_File = ThisDocument.Path & "\abc.txt" 'abcというテキストファイル  T_No = FreeFile  Open T_File For Input As #T_No  Do Until EOF(T_No)     Set myRange = ActiveDocument.Content     Input #T_No, tmp     Do While (myRange.Find.Execute(FindText:=tmp, Forward:=True)) = True        If myRange.Find.Found = True Then           myRange.Font.Color = wdColorBlue           myRange.Font.Bold = True        End If     Loop  Loop  Close #T_No  Set myRange = Nothing End Sub Word2007は持っていないし、今日初めてWordVBA作ったのでで的はずれかも知れませんが、 その場合はごめんなさい。

t3masa
質問者

お礼

ありがとうございました。 おかげさまでうまく、マクロを走らせることが出来ました。 今後、非常に助かります。

関連するQ&A

  • マクロを使い、特定の文字を青く太字で置換したい

    Wordで大量の文字を青い太字にしたいのですが、マクロの組み方が分かりません。 置換したい文字(例):計算力 実力講座 カレンダー ↑この文字を、青い太字にしたいです。 WinXP Word2007を使っています よろしくお願いします。

  • Word マクロに関する質問です

    Wordで大量の文字を青い太字にしたいのですが、マクロの組み方が分かりません。 置換したい文字(例):計算力 実力講座 カレンダー ↑この文字を、青い太字にしたいです。 よろしくお願いします。 WinXP Word2007を使っています。

  • WORDで書式などを利用して置換するマクロをつくりたいです

     WORD2000で書式などをキーにして置換するマクロをつくりたいです。  例)太字の文字列すべてを『♂』『♀』で囲む  これをVBAで表記するにはどう書いたらよいでしょうか?

  • ワードで特定の文字列だけを太字にするにはどうしたらよろしいでしょうか。

    ワードである文字列を太字にします。 すると全部の文字が太字になってしまいます。 このとき、フリーズすることがあります。 Ctrl+Zを押すと、指定文字列だけ太字なります。 ワードで特定の文字列だけを太字にするにはどうしたらよろしいでしょうか。 WindowsXP、Word2003です。

  • ワードで複数の文字を一括・連続置換するマクロ

    ワード(Word)で複数の文字を一括・連続置換するマクロを作りたいのです。 次の回答を参考にしてマクロを作ってみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 ところが、置換したい単語が100くらいになってきて扱いづらいので、 ワード(又はテキストやエクセルでも可)の置換文字のリストのファイルを参照して、同じように連続置換させたいのですが、どのような方法があるでしょうか? シェアウェアでも同様の機能をもつものがありますが、自由にカスタマイズできないので使えません。 (置換後の文字列に蛍光ペンをかけたいので)

  • ワードの置換機能で、書式を置換しましたら、一点わからないことがあります

    ワードの置換機能で、書式を置換しましたら、一点わからないことがあります。 文書全体の、「太字」を全て「斜体」に変えようとして、 置換を使って、検索する文字列の書式を「太字」、置換後の文字列の書式は「斜体」を 設定したところまでは良いのですが、 結果が、全て太字の文字が斜体に変わっているのです。 置換を使って、文字色を変えると、前の色が残ることなく変わるのですが、 太字の場合は、なぜ残ってしまうのでしょうか。 他のやり方でかえることもできるのはわかりますが、 置換機能を使って変えたいので、 その理由がわかる方、 どうか教えてください。

  • Word2003:文字の太字について

    こんにちは。お聞きしたいことがあります。 Word2003で、よく文字を「太字」にします。 今は、いちいち書式から太字までいってその都度文字を太字にしています。 どうやったら、短縮できるでしょうか? アドバイスをお願いいたします。

  • Word の太字と通常の文字の、文字列長について質問です。

    Wordについて、質問させてください。 同じ文章でも、通常の文字(MS 明朝)だと1行に入るのですが、 その文章の一部を太字にすると2行にまたがってしまうことがあります。 太字にすると、どれくらい、文字の長さが増えるのでしょうか? 一行に50字が入る設定の時、太字だと何文字入るのでしょうか? その計算式のようなものはありませんか? ご存知でしたら、教えてください。よろしくお願いします。

  • Wordの置換がマクロ記録できない

    Word文書を作成しています。 複数の単語の、色を変えたいと思い。 置換をマクロで記録をしてみたのですが、実行してもなにも起こらないのです。 これはなぜなのでしょうか? ちなみに置換しているのは色のみで、文字はそのままです。 また他にもマクロのような一括でできる機能などはないのでしょうか? よろしくおねがいいたします。

  • マクロで書式ごと置換

    マクロで書式ごと置換 いつもお世話になります。 今回は標記の件についてお伺いしたく質問を投稿させていただきました。 現在、[D5:CN93]に配置している文字列データを記号に置換する作業をおこなっています。置換マクロに関してはreplaceを使用し、今のところ問題なく動いています。作業工程としては、上記の範囲にあるデータの一覧を作成し、どのデータをどのような記号に置き換えたいかの一覧を附します。 例)  [A1](置換したい記号)   [B1](置換したい文字列)      ○          イチゴ      ◆          バナナ    [D5:CN93]置換対象の文字列例    イチゴ,バナナ マクロでは置換したい文字列、置換したい記号の値をreplace関数に与えて、上記の範囲にあるセル1つ1つに置換をかけていく、というものです。 今までは、文字列の書式は問題ではなかったのですが(置換後に一括変換)、上のほうから「イチゴを赤い○、バナナを黄色い◆のように、色をつけられないか」といわれました。 置換ウィザードを試してみたのですが、セル全体の文字列の色が変わってしまいうまくいきませんでした。 またreplaceで色情報も置換する方法もわかりません(無いのかもしれませんが)・・・ そこで「色情報を持たせたまま、文字列の一部を置換」する方法を教えてください。 これまでのデータを使用したいので、データは以下のように並んでいます。  [A1](置換したい記号)   [B1](置換したい文字列)     赤色の○         イチゴ     黄色の◆         バナナ    [D5:CN93]置換対象の文字列   イチゴ,バナナ

専門家に質問してみよう