安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假

Access VBA调用xmlhttp和ADODB.Stream来下载远程文件

2017-08-27 09:50:00
zstmtony
原创
985

Access VBA调用xmlhttp和ADODB.Stream来下载远程文件


1.新建一个Access数据库文件,然后添加引用 
   Microsoft scripting runtime,Microsoft Active Data Object,Microsoft MsXml
  如果不想前期引用,也可使用CreateObject方法
 
2.新建一个窗体Form1
  窗体代码如下:
Public xmlHttp As MSXML2.XMLHTTP
Private Sub Command1_Click()
   Dim cls As clsSaveFile
   Set xmlHttp = New MSXML2.XMLHTTP
   xmlHttp.open "get", "http://www.ljc.com/sll.exe", True
   Set d = New Class1
   xmlHttp.Onreadystatechange = d
   xmlHttp.send
End Sub     



3.类模块 clsSaveFile 代码:

Dim b As ADODB.Stream
Dim fso As Scripting.FileSystemObject
Public curReadyState As Long
Public Function DoIt()
  Debug.Print Form1.xmlHttp.readyState
  If Form1.xmlHttp.readyState = 4 Then
     SaveFile
  End If
End Function
Public Function SaveFile()
   Set adoSm = New ADODB.Stream
   adoSm.Type = 1
   adoSm.open
   Set fso = New Scripting.FileSystemObject
   If Form1.xmlHttp.readyState = 4 Then
        adoSm.Write (Form1.xmlHttp.responseBody)
        If Not fso.FileExists("c:\office-cn.jpg") Then
           adoSm.SaveToFile "c:\office-cn.jpg"
        End If
   End If
   adoSm.Close
   Set adoSm = Nothing
    
   Set fso = Nothing
End Function


注意将clsSaveFile的DoIt设置成default的。
分享
? 1999-2019 Office交流网?? 中山市天鸣科技发展有限公司 粤ICP备10043721号-5 SQL查询:18
内存占用:7.75MB
PHP 执行时间:0.19
双色球大奖2000年
安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假
魔兽争霸5 3001太空漫游 悉尼fc对战蔚山现代 历史广西快乐十分开奖 4399天天酷跑 伯恩利受半球切尔西 吉林11选5开奖结果一定 东方珍兽客服 逆战青花刺 活塞vs勇士回放