Javascript 使用VBA宏从网站下载URL,但它不';我没有分机
我一直在试图找到一个解决方案,但一直空手而归……可能是因为我自己缺乏经验。我正在尝试从Excel自动执行一个过程,该过程将进入网站(需要我的用户名和密码),下载Excel导出文件(通常在表旁边有一个按钮,上面写着“导出到Excel”),并将该电子表格保存到我的C:驱动器上的一个位置。我遇到的问题是,如果我将鼠标悬停在“导出到Excel”按钮上,我可以看到URL,但它不会以.CSV或.XLS结尾。链接是websitename.com/name/#,而不是websitename.com/name.csv。是否有一种方法可以找到Excel导出文件的URL,以便在下面代码中的myURL变量中使用该URL 如果屏幕截图或其他东西对这里有帮助,请告诉我。多谢各位Javascript 使用VBA宏从网站下载URL,但它不';我没有分机,javascript,excel,vba,Javascript,Excel,Vba,我一直在试图找到一个解决方案,但一直空手而归……可能是因为我自己缺乏经验。我正在尝试从Excel自动执行一个过程,该过程将进入网站(需要我的用户名和密码),下载Excel导出文件(通常在表旁边有一个按钮,上面写着“导出到Excel”),并将该电子表格保存到我的C:驱动器上的一个位置。我遇到的问题是,如果我将鼠标悬停在“导出到Excel”按钮上,我可以看到URL,但它不会以.CSV或.XLS结尾。链接是websitename.com/name/#,而不是websitename.com/name.c
Sub DownloadFile()
Dim myURL As String
myURL = "Insert URL with file extension"
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "MyUserName", "MyPassword"
WinHttpReq.send
Dim oStream As Variant
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "C:\Users\Me\File.csv", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Sub
欢迎来到SO!当你提出一个问题时,试着添加一个最小的内容:输入样本、预期输出样本、你尝试了什么、研究以及你在哪里。因此,无论你能带来什么来澄清你的问题都是受欢迎的。你试过宏记录器吗?有时,取决于网页,即使数据来自CSV数据,它们也不是为了下载而设计的,只是为了显示。正如我在之前的评论中提到的,你能给我们一个例子吗?你在按钮上方看到的“URL”可能与Excel的生成或下载方式没有任何联系-按钮可能只是用来触发脚本。我添加了浏览器的屏幕截图,这样你就可以大致了解我在说什么。我可以使用Excel中的宏记录器来处理此任务吗?录音机能否在浏览器中捕获我正在做的事情?(提前道歉。我还是VBA的新手。)谢谢!99%的可能性是,您看到的不是一个真正的工作URL,而是菜单在浏览器中如何实现的产物。您需要查看HTML源代码以了解实际情况。宏记录器仅记录您在Excel中所做的操作-它不会捕获其他应用程序中的操作。