gpt4 book ai didi

excel - Instr() 中的溢出错误

转载 作者:行者123 更新时间:2023-12-02 09:48:39 25 4
gpt4 key购买 nike

我仍在尝试从网页中获取一些数据,我找到了如何“grep”HTML 文本的解决方案,但现在我尝试将字符串中的文本与某些部分分开。

我想取出变量A和变量B之间的部分并使用以下代码。

我总是收到运行时错误 6 溢出,有人知道为什么以及如何解决这个问题吗?

Sub Button1_Click()

Const HTTPREQUEST_PROXYSETTING_PROXY = 2
Dim oRequest As Object, pagetext, third As String, first, second As Integer

Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
oRequest.Open "GET", "http://www.vodafone.de/privat/handys-tablets-tarife/smartphone-tarife.html"

oRequest.Send
pagetext = oRequest.ResponseText

first = InStr(pagetext, "window.phones")
second = InStr(first + 1, pagetext, "window.propositions")
third = Mid(pagetext, first + 1, second - first - 1)

MsgBox (third)

End Sub

最佳答案

second 变量的声明从 Integer 更改为 Long

Integer 类型最多可以容纳 32,767 的数字,并且表达式返回的值 (154031) 大于该值。 Long 数据类型最多可容纳 2,147,483,647 的数字,因此它更适合您的具体情况。

现在,VBA 通常会将所有Integers 转换为Long,因此默认情况下将变量调暗为Long 是更好的做法。

此外,在一行中调暗多个变量时也应该小心,因为

 Dim oRequest As Object, pagetext, third As String, first, second As Integer

first 是一个 Variantsecond 是一个 Integer

应该是

Dim oRequest As Object, pagetext, third As String, first as Long, second As Long

关于excel - Instr() 中的溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com