如何在网页上下载一个excel文件

348 2005-02-14 11:34:35
我想用VB实现自动去一个网页上面下载一个excel文件。
网页上有一个链接,只要点击它,就会出现一个对话框,问是否是保存文件,还是打开文件,我需要选择确定,然后就会弹出一个要求选择“另存为”的保存文件路径的对话框,选择就会下载到本地。
开始,我使用句柄的API函数来选择对话框的按钮,但是不行,因为它的确定有一个快捷键样式:确定(o),o下面有一个下划线,我在VB里面没法表示这个下划线。
而且弹出另存为那个文件路径的对话框里我不知道怎么样自动选择路径。
...全文
489 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
online 2005-02-14
  • 打赏
  • 举报
回复
这样表示
确定(&o)

而且弹出另存为那个文件路径的对话框里我不知道怎么样自动选择路径。
网页中
Response.Buffer = TRUE
Response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=c:\123.xls"


online 2005-02-14
  • 打赏
  • 举报
回复
'把指定给定一个网络文件(任何类型,可以是图像文件)的地址,然后用程序把其保存为本机器的文件


Public 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

'保存网上的图片到硬盘
'URL是图版的网址
'LocalFilename 是保存到本地的文件名及目录
'使用例子:DownloadFile "http://www.21cn.com/aa.jpg","c:\aa.jpg"

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function


online 2005-02-14
  • 打赏
  • 举报
回复
或者直接下载

用IE来下载
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long


Private Sub Command1_Click()

Dim sDownload As String

sDownload = StrConv(Text1.Text, vbUnicode)
Call DoFileDownload(sDownload)

End Sub

Private Sub Form_Load()
Text1.Text = "http://www.chat.ru/~softdaily/fo-ag162.zip"
Form1.Caption = "Audiograbber 1.62 Full"
Text2.Text = "http://www6.50megs.com/audiograbber/demos/cr-ag161.zip"
End Sub
viena 2005-02-14
  • 打赏
  • 举报
回复
下载文件可以用Inet控件

菜单,工程-部件
选上
Microsoft Internet Transfer Control 6.0
在窗体上放一个Inet控件Inet1

Private Sub Command1_Click()
Dim b() As Byte
Dim strURL As String
Dim blnRunning As Boolean

strURL = "http://www.xxx.com/fff/test.xls"

b() = Inet1.OpenURL(strURL, icByteArray)
blnRunning = Inet1.StillExecuting
Do While blnRunning
blnRunning = Inet1.StillExecuting
DoEvents
Loop
Open "c:\test.xls" For Binary Access _
Write As #1
Put #1, , b()
Close #1
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧