• ベストアンサー

Word2003のVBAで特定の文字列を削除したい

Word2003のVBA超初級者です。 赤字で一重取消線の文字を検索し、その文字列を置換で削除したいのですが、本やネットで検索してもよくわかりません。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

だいたいこんなカンジですね。 sub macro1()  with activedocument.content.find ’準備  .clearformatting  .replacement.clearformatting ’設定  .format = true  .font.colorindex = wdred  .font.strikethrough = true  .text = ""  .replacement.text = "" ’実行  .execute replace:=wdreplaceall  end with end sub

kum-tin
質問者

お礼

実行のところの一行が抜けていました。 早速回答いただきありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

もう既に回答が出ていますが、この質問の課題なら、ワードで、この操作をして、マクロの記録を取れば、コードはわかると思います。 操作は、置換で、「オプション」ー「書式」ボタンをクリックし、「取り消し線」を指定し、「検索する文字列」、や「置換後の文字列」は何も指定しない。

kum-tin
質問者

お礼

ありがとうございます。

関連するQ&A

  • Word、VBAでの取り消し線文字の検索削除について

    お世話になります。 Word内にある取り消し線文字を検索し、その文字を削除したいと思っております。 VBAで行う場合、どのような方法が考えられるでしょうか。 例えば あいおえお12345 という文章があったとして、この中で「え」と「3」が取り消し線文字の場合、 まず取り消し線検索をして、引っ掛かった文字を削除する、ということは、VBAで可能でしょうか。 初心者な質問で申し訳ございませんが ご指導のほどよろしくお願いいたします。

  • Wordで特定の文字列を下線付きに置換

    こんにちは。 Wordで検索/置換機能を使うと特定の文字列を別の文字列に置換できますが、置換後の文字列を修飾文字(下線付き)に出来ないでしょうか? 具体的には、業績集で特定の著者名に下線を引きたいのですが、量が多いので一括で出来ればと思って質問しました。

  • Excel2007 - 特定の文字列を一括で削除する方法を教えてください

    シート内に多数存在する文字列を一括で削除する方法はありますでしょうか。 検索と選択>置換で、置換後の文字列を空白にしても置換することができません。 関数を使用する方法しかないのでしょうか。 できれば関数を使用せずに削除したいと思っています。 ご存知の方がいらっしゃいましたらご教示頂けますでしょうか。 どうぞ宜しくお願い致します。

  • EXCEL VBAにて、WORDへ置換

    EXCEL VBAにて、WORD文書への文字列置換を行っております。 文字列の置換自体はできています。 が、 置換文字列に「改行」(vbCRやvbLF)をいれて置換すると、 word側での表示が□になってしまいます。 vbCrだけでもvbLFだけでも、vbCRLFでも□と表示されてしまいました。 chr(13) & chr(10)でも□になりました。 EXCEL VBA にて WORDへ文字列置換する場合に送る、改行コード (たぶん「^p」と予測をつけているのですが)を chr関数等での 表示方法を教えてください。 EXCEL2003 WORD2003 よろしくお願いします。

  • 特定の列に特定の文字があるとき

    VBAについてです。 たとえば、エクセルのA列に「あいうえお」という文字があったとき その行を削除したいという場合 素人ながらVBAを真似てみたら、A列以外のところに「あいうえお」が 入っている行も削除されてしまいました。 あくまでA列にその文字があったときにだけ削除したいのですが どのようにしたらいいのでしょうか。 InputBoxを使っていたら、どの列に文字が入っていても 削除されてしまい困っています。

  • 【VBA】該当する文字列がある列を削除したい。

    指定した文字列を検索して、そのセルのある列削除したいです。 例えば2行目に、表の項目として「社名、フリガナ、住所、電話番号、備考、・・・」 と、あるときに、フリガナと電話番号の列を削除させたいのです。 シートによって項目の位置が若干変わる為、列番号を指定して削除するようなことは出来ません。 項目の名前が変わることはありません。 vbaでどのようにすればよいのでしょうか。 また、2行目の範囲で文字列を検索して、該当する文字列があるセルの位置情報を 取得したい場合はどうすれば良いでしょうか? 宜しくお願いします。

  • 正規表現で特定文字列を含まない行を削除したいのですが

    テキストエディタ mi で正規表現のより「※補足」という文字列を含む行だけ残して他の行を削除しようとしています。 具体的には、 検索文字列 ^(?!.*\※補足).*$ 置換文字列            ← 空白 としてやっているんですが、例えば   なんとかかんとかで何やらが何として…   ※補足:よくわかりません   ※補足:質問します というテキストを上の方法で全置換すると何も起きません。 そこで試しに 検索文字列 ^(?!.*\※補足).*$ 置換文字列 ----- としてみました。 この場合、本当なら   -----   ※補足:よくわかりません   -----   ※補足:質問します となることを期待していたのですが、実際は   -----なんとかかんとかで何やらが何として…   ※補足:よくわかりません   -----   ※補足:質問します となってしまい、要するに「※補足」という文字列が含まれない行は正しく見つけてくれるものの、含まれていない行については、その行丸ごとを置き換えるのではなく行頭に置換文字列を付加するだけになってしまいます。 これは、何がどう悪いのでしょうか? ちなみに、こちらのサイトで「テキストで特定の文字列を含む行を削除」とQ&Aを検索すると、私の場合で言えば「^.*※補足.*\n」→「」(空白)という置換えで可能というご回答が見つかるのですが、miの場合、これでは「※補足」という文字列が含まている行も含まれていない行も見つけてくれませんでした。 どう直せば目的が達成されるか教えて頂けないでしょうか? どうかよろしくお願い致します。

    • ベストアンサー
    • Mac
  • 特定文字列を含まない行を削除

    以前特定文字列を含む行を削除する方法の質問をし、正規表現を置換することでできることを知りました。^.*特定の文字列.*\n 今度は特定文字列を含まない行を削除を削除したいです。 この場合どう記述すればいいでしょうか? また、特定文字列1と特定文字列2のどちらかを含まない行を削除する方法もあわせて知りたいです。

  • MS-Wordで、タブ付き文字列を削除するには?

    たとえば、amazonから、CDアルバムの収録曲一覧を、Wordにコピー&ペーストしたとします。 各曲のうしろに、「空白、試聴する」という文字列が全て入っているというパターンがあります。この空白のところは、Wordでは「タブ」として認識されているようです。 文字列だけを消したいならば、「置換」で「試聴する」を「何も入力しない状態」に全置換してやれば消えてくれます。 しかし、上記の場合に「試聴する」の前の空白から選択すると、置換ボックスには「^t試聴する」という形で入ってしまいます。これだと、置換しようとしても、当該部分を検出してくれず、思うようなことはできません。 こんなとき、「文字列とその前のタブ」を一気に削除する方法はありますでしょうか。 詳しい方のご教示を仰ぎたいと思います。 どうぞよろしくお願いします。

  • ある条件の文字列検索とコピー(VBA)

    初心者なのでカテゴリ違いならすみません。 下記の処理をエクセルVBAで考えています。いろいろ調べて みたのですが、やり方教えてください。VBA初挑戦にしては 難易度が高いかもしれないです。 ・処理  下記のような条件で文字列を検索して、コピーして別ファイルに 編集して書き出す処理をする ・検索条件 「?」で始まり、「=」で終わる文字列     もしくは 「&」で始まり、「=」で終わる文字列 これを検索してコピーする 例えば、「?SAZANN=123456」という文字列を検索 して「SAZANN」という文字列だけコピーして他の ファイルに文字列を書き出したいんです。 自分のイメージでは、「?SAZANN=」だけ一旦コピー して他のファイルにそれを書き出して、編集段階で 「?」「=」を一括置換で削除するイメージでいます。 ご指導宜しくお願い致します。

専門家に質問してみよう