vba 抓取php网页,一个自动提取网页数据的例子

本帖最后由 引子玄 于 2012-7-6 17:27 编辑

既然是网页抓取,咋代码中不见URL呢?不解~~~或许叫:自己电脑里的内存相关数据

的抽取,可能更名副其实些.

Private Sub Worksheet_Change(ByVal Target As Range)

If MsgBox("是否需要记录最新数据?", 4 + 48 + 0, "系统提示!") = vbNo Then End

rr2 = Sheet2.Cells(65536, 1).End(xlUp).Row + 1

rr3 = Sheet3.Cells(65536, 1).End(xlUp).Row + 1

Set D = Columns(1).Find("年")

If Not D Is Nothing Then DT1 = Left(Cells(D.Row, 1), 11)

Set D = Columns(1).Find("阴极铜")

If Not D Is Nothing Then DT2 = Left(Cells(D.Row - 2, 1), 11)

Set r = Columns(2).Find("一号国标")

If Not r Is Nothing Then

Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2, 2)

Sheet2.Cells(rr2, 6) = DateValue(DT1)

Sheet3.Cells(rr3, 1) = Now

Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet3.Cells(rr3, 2)

Sheet3.Cells(rr3, 6) = DateValue(DT1)

n = n + 1

End If

Set r = Columns(2).Find("二号国标")

If Not r Is Nothing Then Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2 + 1, 2): n = n + 1: Sheet2.Cells(rr2 + 1, 6) = DateValue(DT1)

Set r = Columns(2).Find("三号国标")

If Not r Is Nothing Then Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2 + 2, 2): n = n + 1: Sheet2.Cells(rr2 + 2, 6) = DateValue(DT1)

Set r = Columns(1).Find("阴极铜")

If Not r Is Nothing Then Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2 + 3, 2): n = n + 1: Sheet2.Cells(rr2 + 3, 6) = DateValue(DT2)

Set r = Columns(1).Find("锌锭")

If Not r Is Nothing Then Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2 + 4, 2): n = n + 1: Sheet2.Cells(rr2 + 4, 6) = DateValue(DT2)

Range(Cells(r.Row + 2, 1), Cells(r.Row + 2, 4)).Copy Sheet2.Cells(rr2 + 5, 2): n = n + 1: Sheet2.Cells(rr2 + 5, 6) = DateValue(DT2)

Set r = Columns(1).Find("镍")

If Not r Is Nothing Then Range(Cells(r.Row, 1), Cells(r.Row, 4)).Copy Sheet2.Cells(rr2 + 6, 2): n = n + 1: Sheet2.Cells(rr2 + 6, 6) = DateValue(DT2)

With Sheet2

.Range(.Cells(rr2, 1), .Cells(rr2 + n - 1, 1)) = Now

.Range(.Cells(rr2, 1), .Cells(rr2 + n - 1, 1)) = Now

Set D = Columns(4).Find("昨")

If Not D Is Nothing Then B = Left(D, 3)

For I = 0 To 2

J = Cells(rr2 + I, 5)

.Cells(rr2 + I, 5) = B & .Cells(rr2 + I, 5)

Next

'.Cells(rr2 + n, 1).Select

End With

ThisWorkbook.Save

If MsgBox("已保存金属价格记录,是否关闭文件!", 4 + 48 + 0, "温馨提示!") = vbNo Then End

ThisWorkbook.Close

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值