Доступ к VBA Dynamic Excel Import - PullRequest
       14

Доступ к VBA Dynamic Excel Import

0 голосов
/ 19 октября 2018

Я пытаюсь динамически импортировать электронную таблицу Excel в Access.Проблема в том, что мне нужно импортировать определенный лист (эта часть разбирается), но у меня возникают проблемы при импорте листа, имя которого меняется с месяца на месяц.

Пример кода:

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel12Xml, "MonthSales", FileName, 1, "Sales_Month!"

На "Sales_Month!" мне нужно, чтобы оно было динамичным.Я могу импортировать его напрямую, если у листа всегда одно и то же имя.Поэтому мой вопрос: могу ли я импортировать его с каким-то подстановочным знаком?

Например: "Sales_*!"

Примечание. В этой книге Excel есть несколько рабочих листов.

1 Ответ

0 голосов
/ 19 октября 2018

Это должно быть простым решением, поиск имен листов Excel в цикле for с оператором Left:

Dim xls As New Excel.Application, sht As String, Wkb As Workbook, Wksh As Worksheet
Set Wkb = xls.Workbooks.Open(FileName)

For Each Wksh In Wkb.Worksheets
  if left(Wksh.Name, 6) = "Sales_" then
      DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel12Xml, "MonthSales", FileName, 1, Wksh.Name
      Exit For
  end if
Next Wksh

Wkb.Close
xls.Quit
Set Wkb = Nothing
Set xls = Nothing
Exit Sub
...