1

何らかの理由で、次のマクロが機能しません。

Sub ExtractDataTest()


    Dim FilePath$, Row&, Column&, Address$


 'change constants & FilePath below to suit
     '***************************************
    Const FileName$ = "Dxo.xlsx"
    Const SheetName$ = "Open"
    Const NumRows& = 50
    Const NumColumns& = 20
    FilePath = ("http://enhanced1.sharepoint.hx.com/teams/")
     '***************************************


    DoEvents
    Application.ScreenUpdating = False
        If Dir(FilePath & FileName) = Empty Then
        MsgBox "The file " & FileName & " was not found", , "File Doesn't Exist"
        Exit Sub
    End If
    For Row = 1 To NumRows
        For Column = 1 To NumColumns
            Address = Cells(Row, Column).Address
            Cells(Row, Column) = GetData(FilePath, FileName, SheetName, Address)
            Columns.AutoFit
        Next Column
    Next Row
    ActiveWindow.DisplayZeros = False
End Sub




Private Function GetData(Path, File, Sheet, Address)
    Dim Data$
    Data = "'" & Path & "[" & File & "]" & Sheet & "'!" & _
    Range(Address).Range("A1").Address(, , xlR1C1)
    GetData = ExecuteExcel4Macro(Data)
End Function

行に実行時エラー「52」が表示されます (「ファイル名または番号が正しくありません」)。

If Dir(FilePath & FileName) = Empty Then

面白いことに、一度はうまくいきました。場所が「C:\」の場合は機能し、エラーは発生しません。奇妙なものたち。

どんな助けでも大歓迎です。

4

1 に答える 1

1

ファイル システムからファイルを開くことは、HTTP 経由でファイルをダウンロードすることとはまったく異なります。最も簡単な不可知論的な方法は、Workbooks.OpenHTTP URI を許可する which を単純に使用することです。

Set wb = Workbooks.Open(FilePath & FileName)

Dir()(ファイルシステムの場合のみ削除する必要があります)

于 2012-12-20T13:56:23.210 に答える