0

何かを行うために vba コードを検索しましたが、何も見つかりませんでした。私は好きです:

  1. 入力ボックスで2文字指定します。たとえば、SearchBox=ChrW(1820) および ReplaceBox=ChrW(0710)

  2. ドキュメントを検索し、最初の単語とこの単語の最初の文字を取得します。

  3. 最初の文字が SearchBox に指定されている場合

    a. この単語に文字が存在するかどうかを確認します = ChrW(1820) または ChrW(1821) または ChrW(1820)

    b. 最初の文字 = 存在する文字の場合

    c. 最初の文字を ReplaceBox で指定された別の文字に変更する

    d. それ以外: 何もしない

  4. 次の単語に移動し、同じことを確認します (ループ)

  5. ドキュメントを終了し、「50 文字が変更されました」というメッセージ

私はそれが軽い混乱であることを知っていますが、私はあなたの説明をするためにここにいます. だから助けてください。

4

1 に答える 1

0

私は私の答えの解決策を持っています:

For Each w In ActiveDocument.Words
    If Left(w, 1) = "a" Then 'Check if words start with "a" then
       'Check if exist letters "a" or "b" after first character then
        If InStr(2, w, "a") Or InStr(2, w, "b") Then w.Text = "A" & Mid(w, 2) 
           'Change the first Character with "A"
    End If
Next

しかし、今では、単語の最後の 2 文字に対して同じことを行うことはできません。私はテストを持っています:

If Right(w, 2) = "au" Then
 If InStr(2, w, "a") Then w.Text = "AU" & Right(w, 2)

しかし、機能していません。解決策を教えてください。

そしてもう一つ… 問題があるのでElse前に作る方法。End If私が作るとき、Else私はエラーがあります"End If without If"

于 2013-01-16T11:45:53.123 に答える