将指定网址的网页另存为MHT格式(VBA)-Big Young
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


将指定网址的网页另存为MHT格式(VBA)

发表时间:2014/11/13 21:29:07 评论(0) 浏览(8570)  评论 | 加入收藏 | 复制
   
摘 要:用VBA将指定网址的网页另存为MHT格式。
正 文:

有时为了收集资料,需要批量将一个网站的多个网页保存下来,有了这几个过程或函数,就可以自动的完成工作了。使用方法:在VBE里先插入一个标准模块,然后再将下面的代码粘贴进去就可以使用了,非常简单。

' 引用: Microsoft ActiveX Data Objects 2.5 Library
' 引用: Microsoft CDO for Windows 2000 Library (cdosys.dll)


Sub TestSaveAsMht()
  UrlToMht "http://www.xf4hs.com/", "D:\Temp\1.mht"
  SavePageToMHT "http://www.xf4hs.com/", "D:\Temp\abc.mht"
End Sub
 
Sub UrlToMht(URL As String, Mht As String)
    Dim oCDOMessage As Object
    Set oCDOMessage = CreateObject("CDO.Message")
    With oCDOMessage
        .MimeFormatted = True
        .CreateMHTMLBody URL, 0, "", ""
        .GetStream.SaveToFile Mht, 2
    End With
    Set oCDOMessage = Nothing
End Sub

 

Function SavePageToMHT(ByVal URL As String, ByVal FileName As String) As Boolean
    Dim objMsg As Object
    Set objMsg = CreateObject("CDO.Message")
    Dim objStream As Object
    Set objStream = CreateObject("ADODB.Stream")
    On Error GoTo Err_Handle:
    objMsg.CreateMHTMLBody URL, , "qwemini1", "qwemini1"
    Set objStream = objMsg.GetStream
    objStream.SaveToFile FileName, 2  'adSaveCreateOverWrite
    SavePageToMHT = True
Sub_Handle:
    Set objMsg = Nothing
    Set objStream = Nothing
    Exit Function
Err_Handle:
    MsgBox "错误: " & Err.id & " 号。错误说明: " & Err.Description & "。", vbOKOnly, "系统错误"
    SavePageToMHT = False
    GoTo Sub_Handle:
End Function

 

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
利用OWC导入CSV,HTML,XML格式的数据实例  【yehf  2012/4/1】
access vba之数据导出excel和html  【麥田  2012/8/15】
【Access源码示例】一个类似网页上的分页显示的例子;Acces...  【红尘如烟  2012/8/24】
【Access小品】一网打尽---从网页快速提取数据  【煮江品茶  2012/8/26】
【Access源码示例】Access正则采集网页数据  【漏蛧尐魚℡  2013/4/18】
VB操作网页功能模块  【赵文斌  2014/3/23】
常见问答
技术分类
相关资源
文章搜索
关于作者

Big Young

文章分类

文章存档

友情链接