Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用VBA宏从网站下载URL,但它不';我没有分机_Javascript_Excel_Vba - Fatal编程技术网

Javascript 使用VBA宏从网站下载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

我一直在试图找到一个解决方案,但一直空手而归……可能是因为我自己缺乏经验。我正在尝试从Excel自动执行一个过程,该过程将进入网站(需要我的用户名和密码),下载Excel导出文件(通常在表旁边有一个按钮,上面写着“导出到Excel”),并将该电子表格保存到我的C:驱动器上的一个位置。我遇到的问题是,如果我将鼠标悬停在“导出到Excel”按钮上,我可以看到URL,但它不会以.CSV或.XLS结尾。链接是websitename.com/name/#,而不是websitename.com/name.csv。是否有一种方法可以找到Excel导出文件的URL,以便在下面代码中的myURL变量中使用该URL

如果屏幕截图或其他东西对这里有帮助,请告诉我。多谢各位

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中所做的操作-它不会捕获其他应用程序中的操作。