内容每5分钟更新
客服QQ:4008017500
乐彩论坛静态版乐彩论坛静态版 求教@杨哥哥儿 参数修...
共13条1页 30条/页首页上一页第1页下一页尾页
点击:   回复:371 关闭此页

求教@杨哥哥儿 参数修改问题

楼主
  牛牤不流氓 | 发表于2019-11-21 00:11:42
@杨哥哥儿 你好,我想向你咨询个vb参数修改的问题。我目的旨在只让其更新http://www.17500.cn/getData/ssq.TXT链接里数据的最后两百行的前9列数据,类似于表格的{OFFSET(A3,COUNT(A:A)-200,,200,9)},即只取图片中的A2295:I2494区域数据,或者这样更难操作的话,就取最后两百行的所有数据也可以。占用版主时间望不吝赐教为谢!
1楼
  lcwh5_hXT7 | 发表于2019-11-21 00:15:02
2楼
  牛牤不流氓 | 发表于2019-11-21 00:27:07
如路过者知道怎样修改,也请留步帮忙指教下哈,学生不胜感谢!
3楼
  陌路相伴 | 发表于2019-11-21 00:38:51
直接下载不会,我都是全部下来来,再用多少取多少,效果一样,废那脑筋干嘛?,有那功夫多想点缩水方法
4楼
  陌路相伴 | 发表于2019-11-21 00:39:32
不过我好久不用表格了,都是手动做号
5楼
  家有旺财 | 发表于2019-11-21 00:45:49
修改textfilestartrow参数,
6楼
  牛牤不流氓 | 发表于2019-11-21 00:47:01

主要是表格运算比较多,能尽量少占用资源就尽量优化吧
7楼
  牛牤不流氓 | 发表于2019-11-21 00:49:39

有点灵感了,谢谢谢谢
8楼
  杨哥哥儿 | 发表于2019-11-21 08:09:42
最简单的方法就是另外加一个表,然后读取前200的数据。我12点以前给你表格。
9楼
  杨哥哥儿 | 发表于2019-11-21 08:56:15
不用每次都更新所有数据,每次只更新一期就行,代码如下:

code:
Sub updateData(ByVal qici As String, ByVal r As Integer)
'请求数据
Set h = CreateObject("Microsoft.XMLHTTP")
h.Open "GET", "http://www.17500.cn/3d/3Ddetail.php?i=" & qici, False '文件网址
h.send
If h.Status = 200 Then
s = h.ResponseText '写入取得的内容
Dim regex
Set regex = CreateObject("VBScript.RegExp")
With regex
.Global = True
.Pattern = "(\d{3})" '得到号码
Set matchs = .Execute(s)
End With
'MsgBox matchs(0).Value
If matchs.Count > 0 Then '防止空集
s = Mid(matchs(0).Value, 4, 3)
Cells(r, 2) = Left(s, 1)
Cells(r, 3) = Mid(s, 2, 1)
Cells(r, 4) = Right(s, 1)
End If
Set regex = Nothing
Set matchs = Nothing
Set h = Nothing
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.Calculation = xlManual
Dim s As String, last As Integer, col As Integer, r As Integer
col = Target.Column: r = Target.Row
last = Range("A" & Rows.Count).End(xlUp).Row

If col = 1 And r >= 1003 Then '更新开奖号
qici = Cells(r, 1).Text
Call updateData(qici, r)
End If
Application.Calculation = xlAutomatic
End Sub


10楼
  杨哥哥儿 | 发表于2019-11-21 08:58:45
11楼
  杨哥哥儿 | 发表于2019-11-21 09:00:22
双色球的更新代码如下:

code:
Sub updateData(ByVal qici As String, ByVal r As Integer)
'请求数据
Application.Calculation = xlManual
Set H = CreateObject("Microsoft.XMLHTTP")
H.Open "GET", "http://www.17500.cn/ssq/details.php?issue=" & qici, False: H.send '文件网址
If H.Status = 200 Then
s = H.ResponseText '写入取得的内容
Dim regex: Set regex = CreateObject("VBScript.RegExp")
With regex: .Global = True: .Pattern = "(>\d{2}<)": Set matchs = .Execute(s): End With '得到号码
If matchs.Count > 0 Then '防止空集
For i = 0 To 6: Sheet16.Cells(r, 3 + i) = Mid(matchs(i).Value, 2, 2): Next
End If
Set regex = Nothing: Set matchs = Nothing: Set H = Nothing
End If
Application.Calculation = xlAutomatic
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim r As Integer, col As Integer, last As Integer, ss As String
r = Target.Row
col = Target.Column
last = Range("A" & Rows.Count).End(xlUp).Row

If col = 1 And r > 1800 Then Call updateData(Cells(r, 1).Text, r)

End Sub


12楼
  牛牤不流氓 | 发表于2019-11-21 10:17:01
谢谢谢谢版主,你已经讲得非常明确了,太麻烦你了。
以前只是看你的贴,非常佩服你的制表技术,这次是与你第一次打交道,发觉你更令人折服的是你的人品德行。大家有目共睹的是,你当我们版主,没人不服。
学生在此,再次发自内心的感谢你!@杨哥哥儿
共13条1页 30条/页首页上一页第1页下一页尾页
参与原帖交流,请访问:

http://bbs.17500.cn/thread-7241475-1-1.html

访问本站表明您同意:本站提供的资料和数据仅供您参考,请您在使用前核实并慎重对待,因此受到的任何损失,乐彩网不承担任何责任。
© 2004-2019 版权所有 京ICP备13046446号-1|京公网安备11011202001644号