VBA: получить / загрузить файл Excel с сервера и скопировать содержимое в новый рабочий лист

По какой-то причине следующий макрос не будет работать:

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: \» работает, и я не получаю сообщение об ошибке. Странные ребята.

Любая помощь будет принята с благодарностью.

Открытие файла из файловой системы полностью отличается от загрузки через HTTP. Простейшим агностическим способом является простое использование Workbooks.Open которое разрешает HTTP URI;

 Set wb = Workbooks.Open(FilePath & FileName) 

(Вам нужно будет удалить Dir() только для файловых систем)

  • Ошибки с листом Excel
  • Excel VBA workheet.select (false) перестает работать таинственно
  • Как автоматизировать удаление нескольких строк, которые не являются смежными
  • Рабочий лист не удаляется - добавление нового вызывает ошибку столкновения имен
  • Активный рабочий лист и рабочий лист вызова
  • Публичный / глобальный диапазон, похоже, не доступен постоянно
  • Как принять участие в файлах excel
  • Как получить лист Excel из листов, когда имя листа имеет программные возможности
  • Скопируйте содержимое фрейма в лист (vba)
  • Получение ошибки «Недопустимый брэкетинг имени» при попытке запуска запроса на листе excel
  • VBA. Скомпилируйте несколько книг в основную книгу на основе критериев имени файла.
  • Давайте будем гением компьютера.