excel里面用vba中如何读取网页特定数据,可追加100分

excel里面用vba中如何读取网页特定数据,可追加100分,第1张

供参考

Sub test()

Dim myQuery

With ActiveSheet

CellsDelete

[a1] = "Conneting, Please Wait"

Set myQuery = ActiveSheetQueryTables _

Add(Connection:="URL;>

Option Explicit '强制定义变量(如果有本句存于开始,则所有变量需定义)

Type DataInfo '类型DataInfo

'

End Type 'End类型

'

Public myDataInfo As DataInfo '公有的myDataInfo类型为DataInfo

'

Public JS_Name As String '公有的JS_名称类型为字符串

Public objJS As Object '公有的objJS类型为对象

Public arr As Variant '公有的arr类型为Variant

Sub Main() '子程序Main()

'

Dim strRgStartName As String '起始单元格名称 '定义变量strRgStartName类型为字符串'起始单元格名称

Dim strRgEndName As String '结束单元格名称 '定义变量strRgEndName类型为字符串'结束单元格名称

Dim strTemp As String '定义变量strTemp类型为字符串

Dim strT() As String '定义变量strT()类型为字符串

Dim lngR As Long, lngC As Long '定义变量lngR类型为长整型值,lngC类型为长整型值

ApplicationCursor = xlWait ' 应用程序的光标=xlWait

ApplicationScreenUpdating = False ' 应用程序的屏幕刷新=False

GetBasicInfo '初始化数据 'GetBasicInfo'初始化数据

'如果无数据则退出

If myDataInfoRecordCount = 0 Then '如果 myDataInfo的RecordCount=0 则执行

ApplicationCursor = xlDefault ' 应用程序的光标=xlDefault

ApplicationScreenUpdating = True ' 应用程序的屏幕刷新=True

MsgBox "无数据!", vbCritical '<消息框>:"无数据!",vbCritical

Exit Sub '退出子程序

End If 'If判断过程结束

strRgStartName = "A1" '从A1单元格开始 'strRgStartName="A1"'从A1单元格开始

strRgEndName = Cells(myDataInfoRecordCount, myDataInfolngCols)Address(0, 0) 'strRgEndName=<单元格>坐标( myDataInfo的RecordCount, myDataInfo的lngCols )的Address(0,0)

Sheet1UsedRangeClearContents ' Sheet1的已使用区域的清除内容

arr = Sheet1Range(strRgStartName & ":" & strRgEndName) 'arr= Sheet1的<单元格>区域(strRgStartName & ":" & strRgEndName)

'逐条读取

For lngR = 1 To myDataInfoRecordCount '设定变量范围为lngR=1到 myDataInfo的RecordCount

strTemp = objJSeval(JS_Name & "data[" & lngR - 1 & "]") 'strTemp= objJS的eval(JS_名称 & "data[" & lngR-1 & "]")

strT = Split(strTemp, ",") 'strT=<分割字符串>(strTemp,",")

For lngC = 0 To UBound(strT) '设定变量范围为lngC=0到<数组上限>(strT)

arr(lngR, lngC + 1) = strT(lngC) 'arr(lngR,lngC+1)=strT(lngC)

Next '下一个

Next '下一个

'填充

Sheet1Range(strRgStartName & ":" & strRgEndName) = arr ' Sheet1的<单元格>区域(strRgStartName & ":" & strRgEndName)=arr

ApplicationCursor = xlDefault ' 应用程序的光标=xlDefault

ApplicationScreenUpdating = True ' 应用程序的屏幕刷新=True

End Sub '子程序结束

真实数据应该在<script>里面,

将源代码,用split、instr等函数来提取。

或者用正则表达式来提取。

不过VBA里面处理字符串,比较费脑筋。建议用JS代码处理方便

以上就是关于excel里面用vba中如何读取网页特定数据,可追加100分全部的内容,包括:excel里面用vba中如何读取网页特定数据,可追加100分、求助用VBA抓取网页数据、求助:Excel VBA提取下载网页数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10153836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存