无法找到与此c#代码等效的VBA

时间:2013-10-07 09:37:03

标签: c# vba

这是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

但它不会编译在上面说明的行上给出错误:编译错误,无效限定符。  有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这应删除标签:

emailbody = Replace( emailbody, "<CENTER>", "" )
emailbody = Replace( emailbody, "</CENTER>", "" )

答案 1 :(得分:0)

我想你只想得到&lt; center&gt;来自emailBody的元素。

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