找不到与此 C# 代码等效的 VBA

本文关键字:VBA 代码 找不到 | 更新日期: 2023-09-27 18:34:07

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

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

找不到与此 C# 代码等效的 VBA

我认为你只想从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

这应该删除标签:

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