[英]Excel VBA InStr function
为什么我的 InStr 函数在它显然是 HTML 字符串的一部分时返回 0?
如果没有更多文字,我无法发布。没有更多文字,我无法发布。没有更多文字,我无法发布。没有更多文字,我无法发布。没有更多文字,我无法发布。没有更多文字,我无法发布。
Sub ImportBPlans()
Dim BPlan As String, FullHTML As String, URL1 As String, Cut1 As String, T1 As String
Dim FO As String, LO As String, Other1 As Long
For i = 2 To LastRow
T1 = WB1.Cells(i, 1).Value
URL1 = "http://finance.yahoo.com/q/pr?s=" + T1 + "+Profile"
FullHTML = GetHTML(URL1)
BPlan = " </th></tr></table><p>"
x = Len(FullHTML)
FO = InStr(FullHTML, BPlan, CompareMethod.Text) + Len(BPlan)
LO = InStr(FO, FullHTML, "<")
Cut1 = Left(FullHTML, LO)
Cut1 = Right(Cut1, FO - LO)
WB5.Cells(i, 1).Value = Cut1
Next i
End Sub
Function GetHTML(URL As String) As String
Dim HTML As String
Dim htmlBDY As New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.Send
htmlBDY.body.innerHTML = .responseText
GetHTML = htmlBDY.body.outerHTML
End With
End Function
尝试这个:
FO = InStr(1, FullHTML, BPlan, vbTextCompare) + Len(BPlan)
FO 和 LO 定义为string
。 它应该是integer
因为 Instr 返回integer
。 纠正一下。
Public Shared Function InStr(_
ByVal String1 As String, _
ByVal String2 As String, _
Optional ByVal Compare As CompareMethod _
) As Integer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.