VBA从string中删除HTML标签只删除第一个字符

我想删除从'<''>'所有内容,但是下面的代码只删除了string中的第一个'<' ,并保留了其余的HTML标签。

这是代码:

 Sub SendHTTP() Dim myRequest As Object Set myRequest = CreateObject("WinHttp.WinHttpRequest.5.1") myRequest.Open "Get", _ "http://tyda.se/search/test?lang[0]=en&lang[1]=sv" 'Send myRequest.Send Dim Response, message As String Response = myRequest.ResponseText 'Remove HTML tags message = Replace(Response, "<*>", " ", xlPart) 'Display message MsgBox message End Sub 

我也尝试使用这个问题的接受答案,但它仍然只消除了第一个'<'

删除Microsoft Excel中特定标记之间的文本

VBAreplace函数不能处理通配符,但Range.Replace方法可以。 如果您将Responsevariables写入单元格,请运行Range.Replace方法,然后将单元格值读回到消息variables中,它将完成您正在尝试执行的操作。

示例代码:

 Sub SendHTTP() Dim myRequest As Object Set myRequest = CreateObject("WinHttp.WinHttpRequest.5.1") myRequest.Open "Get", _ "http://tyda.se/search/test?lang[0]=en&lang[1]=sv" 'Send myRequest.Send Dim Response, message As String Response = myRequest.ResponseText 'Write Response to cell With ThisWorkbook.Sheets(1).Range("A1") 'Change this to a cell that is available for your code to use. .Value2 = Response 'Strip HTML tags .Replace What:="<*>", Replacement:=" ", LookAt:=xlPart 'Read value back into variable message = .Value2 'Clear cell .ClearContents End With 'Display message MsgBox message End Sub