0

我搜索了一个 vba 代码来做某事,但一无所获。我喜欢:

  1. 通过输入框指定 2 个字符。例如 SearchBox=ChrW(1820) 和 ReplaceBox=ChrW(0710)

  2. 搜索文档,得到第一个词和这个词的第一个字符。

  3. 如果在 SearchBox 中指定了第一个字符,则

    一个。检查此单词中是否存在字符 = ChrW(1820) 或 ChrW(1821) 或 ChrW(1820)

    湾。如果第一个字符 = 存在字符,则

    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

但是现在我不能对单词的最后两个字符做同样的事情。我有测试:

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 回答