マクロを作成している場合は、おそらく文字列変数を使用して多くの作業を行います。文字列変数に関連する一般的な操作は、文字列内の1つの文字を別の文字に置き換える必要があることです。たとえば、次の文字列について考えてみます。

"This is my string of characters."

「of」を「thathas」などの別の単語に置き換えることをお勧めします。

次の汎用関数は、まさにそれを実行できます。

Function RepText(sIn As String, sFind As String, sRep As String) As String     Dim x As Integer

x = InStr(sIn, sFind)

While x > 0         sIn = Left(sIn, x - 1) & sRep & Mid(sIn, x + Len(sFind))

x = InStr(sIn, sFind)

Wend     RepText = sIn End Function

関数の使用方法の例として、次のことができます。

sTemp = "This is my string of characters."

sTemp = RepText(sTemp, "of", "that has")

このコードが実行されると、sTempには「これは文字を含む私の文字列です」という文字列が含まれます。

私のルーチンでは、RepTextのような関数を使用して、余分なスペースを削除することがよくあります(2つのスペースの文字列を1つのスペースの文字列に置き換えます)

または、複数のスペースをタブ文字に置き換えます。もちろん、どのように使用するかは完全にあなた次第です。

最新バージョンのVBAのみを使用したことがある人は、組み込みのReplace関数ではなくRepTextなどの関数を使用する理由について興味があるかもしれません。置換関数は基本的にRepTextと同じことを行いますが、VBAアーセナルへの追加は比較的新しいものです。マクロが古いバージョンのWordで使用される可能性がわずかでもある場合、Replaceを使用すると、マクロがクラッシュするリスクがあります。これらのバージョンでは使用できません。

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(811)は、Microsoft Word 97、2000、2002、および2003に適用されます。