关于 execwb
ox=CreateObject("InternetExplorer.Application")ox.Navigate("http://www.baidu.com/")
ox.visible=.T.
wait window timeout 2
ox.ExecWB(4,1,"C:\t.mht")
运行上述代码,仍然出现提示框!(环境 windowsxp sp2)
问:
如何不出现提示框,且将网页保存到指定的指定文件 --------------------编程问答-------------------- 微软会告诉你,没有任何方法可以取消那个提示,然后推荐你是用URLDownloadToFile API
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
r = URLDownloadToFile(0, "http://www.baidu.com", "c:\baidu.htm", 0, 0)
--------------------编程问答-------------------- 关注 --------------------编程问答-------------------- urldownloadtofile无法保存为mht格式。
我查询了一下资料,可以通过以下方式实现,但是尝试没有成功!
cdoURL="http://www.baidu.com"
w=CreateObject("CDO.Message")
w.CreateMHTMLBody(cdoURL,0,"","")
=w.GetStream.savetofile("c:\baidu.mht")
系统提示 OLE IDISPATCH异常代码0.....错误信息
系统环境:xp sp2+office2003
参考资料:
http://www.tek-tips.com/faqs.cfm?fid=1768 --------------------编程问答-------------------- 引用CDOSYS.DLL
--------------------编程问答-------------------- vbs运行环境是啥呢?(我以前只有在网页里嵌入过!) --------------------编程问答-------------------- 你ADO装了么 --------------------编程问答-------------------- 我用的是winxp sp2 +office2003,如何判断系统是否已经具备ado? --------------------编程问答-------------------- 你运行下面的东西看看
Private Sub Command1_Click()
Dim oMsg As CDO.Message
Set oMsg = New CDO.Message
oMsg.CreateMHTMLBody ("http://www.baidu.com")
oMsg.GetStream.SaveToFile "c:\baidu.mht"
End Sub
set stream=CreateObject("ADODB.Stream") --------------------编程问答-------------------- 基本接近目标了,就差一点了,楼上说的vbs可以用!
6楼的supergreenbean似乎对
cdoURL="http://www.baidu.com"
w=CreateObject("CDO.Message")
w.CreateMHTMLBody(cdoURL,0,"","")
=w.GetStream.savetofile("c:\baidu.mht")
有进一步的指教,我等................................. --------------------编程问答-------------------- 引用ms cdo lib..
cdoURL看MSDN要是The full path and file name of the Web page.
我保存这个文件是成功的~http://msdn.microsoft.com/en-us/library/ms527024(EXCHG.10).aspx --------------------编程问答-------------------- 没啥指教了,你把那异常代码贴来看看 --------------------编程问答-------------------- vfp中如何执行vbs呢?可以么? --------------------编程问答-------------------- == --------------------编程问答-------------------- 一般是windows/system32/cdosys.dll Misrosoft CDO for ... Library --------------------编程问答-------------------- 楼上说的这个文件我查过了,有的!cdosys.dll --------------------编程问答--------------------
cdoURL="http://www.baidu.com"
w=CreateObject("CDO.Message")
w.CreateMHTMLBody(cdoURL,31)
=w.GetStream.savetofile("c:\baidu.mht")
============================
具体错误信息如下:
OLD IDispatch 异常代码 0 出自 adodb.stream:写入文件失败
-----------------------------------------------------------
--------------------编程问答-------------------- w.GetStream.savetofile("c:\baidu.mht" , 2) 看看 --------------------编程问答-------------------- 2--adSaveCreateOverWrite,写文件失败有可能是文件已存在~ --------------------编程问答-------------------- 厉害啊,那么 2这个参数是如何查到的呢?厉害啊!
--------------------编程问答-------------------- vfp中要嵌入vbs
Set oMsg=CreateObject("CDO.Message")
oMsg.CreateMHTMLBody ("http://www.baidu.com")
oMsg.GetStream.SaveToFile "c:\baidu.mht"
有啥格式要求呢? --------------------编程问答-------------------- cdoURL="http://www.baidu.com"
w=CreateObject("CDO.Message")
w.CreateMHTMLBody(cdoURL,31)
=w.GetStream.savetofile("c:\baidu.mht",2)
==============================================
我做了一个循环,每次的url是不同的,然后当保存了9个mht之后又出现前面的错误信息了,郁闷! --------------------编程问答-------------------- 你用IE保存mht的时候也不一定每次都成功滴 --------------------编程问答-------------------- 那么savetofile有办法避免这种问题出现么?比如事先判断再具体操作? --------------------编程问答-------------------- on error goto errHandler
exit sub
errHandler:
msgbox "save mht file error" --------------------编程问答-------------------- on error goto errHandler --------------------编程问答-------------------- 我尝试一下 --------------------编程问答-------------------- tag
补充:VB , 网络编程