请问在浏览器里另存网页时,是用什么方法把它存为mht格式的?

解决方案 »

  1.   

    首先,你要引用ADO 和CDODim message As New CDO.MessageClass()
    message.CreateMHTMLBody("http://www.iodid.com", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")Dim Outstream As ADODB.Stream
    Outstream = message.GetStream
    Outstream.SaveToFile("c:\test.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
      

  2.   

    把页面保存为MHT(即MHTML)文件
    1、首先,在工程中必须要引用一个库:
    Library CDO
    D:\WINNT\System32\cdosys.dll
    Microsoft CDO for Windows 2000 Library
    其次,需要Stream对应的接口的支持,如果你一时找不到就使用支持这个的较新的ADO就行了,如
    Library ADODB
    D:\Program Files\Common Files\system\ado\msado15.dll
    Microsoft ActiveX Data Objects 2.5 Library
    代码如下,十分简单(同时由于流的特点,显示在实际应用中没必要象本例中那样把文件保存到磁盘上就可直接转换为字符串或字节数组什么的处理的。另,对于Microsoft CDO for Windows 2000 Library这个库,在WIN98中要怎么使用还没试过,感兴趣的朋友可以试试并跟帖,以丰富完善其内容:)Private Sub Command1_Click()
    ' Reference to Microsoft ActiveX Data Objects 2.5 Library
    ' Reference to Microsoft CDO for Windows 2000 Library
    Dim iMsg As New CDO.Message
    Dim iConf As New CDO.Configuration
    Dim objStream As ADODB.StreamWith iMsg
    .CreateMHTMLBody "http://www.163.com/";, , _
    "domain\username", _
    "password"
    Set objStream = .GetStream
    Call objStream.SaveToFile("f:\test.mht", adSaveCreateOverWrite)
    End With
    End Sub2、
    '首先加入对ADODB和CDO(Microsoft CDO for Windows 2000 Library,对应文件名为CDOSYS.dll)的引用
    Private Sub Command1_Click()
        Dim message As New CDO.message
        Dim Outstream As ADODB.Stream
        On Error GoTo myerr1
        Call message.CreateMHTMLBody("http://www.csdn.net", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")
        Set Outstream = message.GetStream
        Call Outstream.SaveToFile("c:\test.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
        MsgBox "完成"
        
        Exit Sub
    myerr1:
        Set message = Nothing
        Set Outstream = Nothing
    End Sub