TransferSpreadsheet - Ошибка времени выполнения 4298 - Укажите диапазон - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь импортировать вкладку из файла Excel в таблицу при доступе с помощью TransferSpreadsheet. Мой код работает нормально, пока я не попытаюсь указать диапазон на вкладке, которую хочу ввести.

Когда я включаю в код «A: AH», я получаю следующую ошибку: Ошибка времени выполнения 4298 »выражение вы ввели неправильный тип данных для одного из аргументов "

Я погуглил ошибку, однако все примеры указания диапазона имеют ее в формате ниже, поэтому я действительно не знаю, что делаю неправильно.

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Accounts_Listing", path, 1, "Summary!", "A:AH"

Любая помощь будет принята с благодарностью, так как диапазон должен быть указан, так как некоторые из загруженных файлов имеют пустые столбцы.

1 Ответ

2 голосов
/ 26 мая 2020

Согласно Документации Microsoft для TransferSpreadsheet существует no аргумент для имени листа. Вам необходимо изменить аргумент диапазона, чтобы он также включал имя листа


Параметры для TransferSpreadsheet следующие:

  1. TransferType (acImport)
  2. SpreadsheetType (12)
  3. TableName (Список_счетов)
  4. FileName (Путь)
  5. HasFieldNames (1)
  6. Range («Итог! A: AH»)

Обратите внимание, что для имени листа нет аргумента, который вы делаете. Короче говоря, имя вашего листа оценивается как диапазон, соответствующий вашей ошибке. Объединив все это вместе, у вас должно получиться

DoCmd.TransferSpreadsheet acImport, 12, "Accounts_Listing", path, 1, "Summary!A:AH"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...