【问题标题】:Open a downloaded file in Excel VBA在 Excel VBA 中打开下载的文件
【发布时间】:2016-04-07 03:37:38
【问题描述】:

我正在使用以下代码在 Excel VBA 上从 Web 下载 .xlsx 文件。

Sub Download()
        Const MYURL = "https://www.arembepe.net/temp/COMDINHEIRO_gabrielzancheta749999241.xlsx"
        Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
        objHTTP.Open "GET", MYURL, False


    objHTTP.Send

    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write objHTTP.ResponseBody
    oStream.SaveToFile ("C:\wamp\file.xlsx")
    oStream.Close
End Sub

代码成功下载文件并保存在目录中。但我希望我可以在 Excel 上打开 xlsx 文件,而不是保存它。有可能吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    Set wb = WorkBooks.open( _
      "https://www.arembepe.net/temp/COMDINHEIRO_gabrielzancheta749999241.xlsx")
    

    【讨论】:

      【解决方案2】:

      所以经过一些研究,而不是尝试直接从内存中打开文件,我只是将它保存在用户的默认临时路径上,然后打开它。代码如下:

      Sub Download()
          Const MYURL = "https://www.arembepe.net/temp/COMDINHEIRO_gabrielzancheta749999241.xlsx"
          Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
          objHTTP.Open "GET", MYURL, False
      
          objHTTP.Send
      
          Set oStream = CreateObject("ADODB.Stream")
          oStream.Open
          oStream.Type = 1
          oStream.Write objHTTP.ResponseBody
          oStream.SaveToFile (Environ("TEMP") & ".xlsx")
          oStream.Close
      
          Workbooks.Open Environ("TEMP") & ".xlsx"
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-15
        • 1970-01-01
        • 1970-01-01
        • 2021-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多