他のことをする前にテキストを「クリーンアップ」するという明確な目的で私が書いたマクロはたくさんあります。たとえば、新しいドキュメントに挿入したり、テキストファイルに保存したりします。

多くの場合、このプロセスは面倒で、テキスト文字列内の各文字を調べてから、その文字が許容可能な文字の範囲内にない場合にどうするかを決定します。

VBAには、テキストのクリーンアップに役立つ興味深いメソッドが含まれています。これは、適切には、CleanStringメソッドと呼ばれます。ここに示すように使用します:

sCleanedUp = Application.CleanString(Selection.Text)

このコード行は、sCleanedUp文字列を「クリーンアップ」に等しく設定します

選択したテキストのバージョン。 CleanStringメソッドは正確に何をしますか? 7、9、10、および13を除いて、ANSI範囲1〜29の非印刷文字を削除します。ANSI文字7の場合、前に文字13が付いていない限り、削除されます。タブに置き換えられます(ANSI9)。 ANSI文字10の場合、文字13が前に付いていない限り、文字13に置き換えられます。文字13が前に付いている場合は、削除されます。文字9と13は変更されません。

1から29の範囲外の他の多くの文字も、CleanStringメソッドの影響を受けます。 ANSI文字31(オプションのハイフン)、文字172(これもオプションのハイフン)、および文字182(段落記号文字)はすべて削除されます。 ANSI文字160(改行なしスペース)、文字176(別の改行なしスペース)、および文字183(箇条書き文字)は、それぞれスペースに置き換えられます。他のすべての文字は変更されていません。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13050)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: