Outlook中的VBA-插入和替换失败以查找出现次数

时间:2018-11-03 16:56:41

标签: vba string replace outlook

我正在努力寻找解决以下问题的方法。

我有一个大约30000个字符的XML文件,我想将其放入String变量中。在该变量中,我想使用替换功能将某些字符替换为不同的字符。

我正在使用以下代码进行尝试,但是Replace和Instr均未检测到我要查找的字符。有趣的是,当我将XML缩短到3000个字符左右时,代码就起作用了。

任何想法可能导致问题吗?字符串最多可以包含20亿个字符,所以不知道这是怎么回事...我唯一想到的是str是一个字符串,而Instr / Replace需要一个String表达式作为参数。这些函数可以处理的字符串表达式的长度是否有限制?

Dim str As String
Dim arrInvalidChars() As String
Dim arrValidChars() As String
Dim i As Integer

arrInvalidChars = Split(Expression:="ä, ü, ö, ß, é, ç", Delimiter:=", ")
arrValidChars = Split(Expression:="ae, ue, oe, ss, e, c", Delimiter:=", ")

For i = LBound(arrInvalidChars) To UBound(arrInvalidChars)
    On Error Resume Next
    Debug.Print InStr(1, str, arrInvalidChars(i), vbTextCompare)
    str = Replace(str, arrInvalidChars(i), arrValidChars(i), , , vbTextCompare)
    On Error GoTo 0
Next i

0 个答案:

没有答案