0

この優れたリソースに感謝します。これは私にとって非常に役に立ちましたが、Excel VBA を使用してリモート サーバーから Excel ファイルをダウンロードする際に問題が発生しています。私のコードに欠けているのは明らかなことだと思います。

私が抱えている問題は、元のファイルのサイズやコンテンツに関係なく、ダウンロードされたすべてのファイルのサイズが常に 15KB であり、すべてが同じコンテンツを持ち、ファイルではなくホスト Web サイトから単にコピーされたテキストのように見えることです。ダウンロードしようとしています。CSV を含むさまざまなファイル拡張子を使用してみましたが、結果は同じです。

ダウンロードしたファイルを開くと、Excel でファイル形式と拡張子が一致しないと表示され、読み込み中の問題により、ファイルに「ファイル C:\remote\css\logon.css がありません」および「ファイル C がありません」と表示されます。 :\remote\javascript\ramjsfx.menu.css"、これはギリシャ語です。

    Sub DownloadFilefromWeb()

Const E_OUTOFMEMORY As Long = &H8007000E
Const E_DOWNLOAD_FAILURE As Long = &H800C0002

Dim InitialName As String
Dim Msg As String
Dim RegExp As Object
Dim RetVal As Long
Dim SaveName As String
Dim SavePath As String
Dim URL As String

URL = InputBox("Enter the download URL below.", "Download from Internet")
If URL = "" Then Exit Sub

Set RegExp = CreateObject("VBScript.RegExp")
RegExp.IgnoreCase = True
RegExp.Pattern = "^(.*\/)(.+)$"
InitialName = RegExp.Replace(URL, "$2")
Set RegExp = Nothing

If InitialName = "" Or InitialName = URL Then
MsgBox ("Error - Missing File Name")
Exit Sub
End If

SavePath = Application.GetSaveAsFilename(InitialName)
If SavePath = "" Then Exit Sub
'SavePath = "C:\Users\Rob's Laptop\Documents\Test\Test3.xls"
'URL = "https://remote.picosting.co.uk/Remote/fs/files.aspx?path=%5c%5cPISBS2011%5cfiles%5cRob%  20Shaw%27s%20test%20folder%5cTest1"

RetVal = URLDownloadToFile(0&, URL, SavePath, 0&, 0&)

Select Case RetVal
Case 0
Msg = "Download Successful"
Case E_OUTOFMEMORY
Msg = "Error - Out of Mmemory"
Case E_DOWNLOAD_FAILURE
Msg = "Error - Bad URL or Connection Interrupted"
Case Else
Msg = "Unknown Error - " & RetVal
End Select

MsgBox Msg

End Sub

敬具

ロブ

4

1 に答える 1