0

这是c#代码:

 if (emailBody.Contains("<CENTER>"))
           {
               emailBody = emailBody.Remove(0, emailBody.IndexOf("<CENTER>"));

               if (emailBody.Contains("</CENTER>"))
               {
                   emailBody = emailBody.Remove(emailBody.IndexOf("</CENTER>") + 10);
               }
           }

我已将其更改为 VBA,如下所示:

 If InStr(emailbody, "<CENTER>") > 0 Then
 emailbody = emailbody.Remove(0, **emailbody**.IndexOf("<CENTER>")) ''COMPILE ERROR

    If InStr(emailbody, "</CENTER>") > 0 Then
     emailbody = emailbody.Remove(emailbody.IndexOf("</CENTER>") + 10)

    End If

End If

但它不会编译在上述行上给出错误:Compile Error, Invalid Qualifier。有什么建议么?

4

2 回答 2

0

这应该删除标签:

emailbody = Replace( emailbody, "<CENTER>", "" )
emailbody = Replace( emailbody, "</CENTER>", "" )
于 2013-10-07T10:00:27.283 回答
0

我认为您只想从 emailBody 中获取 <center> 元素。

si = InStr(emailBody, "<center>")
ei = InStr(emailBody, "</center>")
emailBody = Mid(emailBody, si, ei - si + 9)

以下 VBA 代码等效于 C#

If InStr(emailBody, "<CENTER>") > 0 Then
    emailBody = Mid(emailBody, InStr(emailBody, "<CENTER>"))
    If InStr(emailBody, "</CENTER>") > 0 Then
        emailBody = Mid(emailBody, 1, InStr(emailBody, "</CENTER>") + 9)
    End If
End If
于 2013-10-07T10:01:02.980 回答