импорт таблиц

nikolam
Дата: 13.11.2009 13:07:27
Уважаемые знатоки! Помогите решить проблему.

существует список таблиц вида:
\\район 01 (название района).xls
\\район 02 (название района).xls
\\район 03 (название района).xls
...
\\район N (название района).xls

Эти таблицы импортируются (должны импортироваться) в базу access по циклу командой:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "таблица", ___
path & "район " & DistNum(i), False

Вопрос: возможно ли вытащить из названия файлов только часть "район хх"?
Или в команде написать что-то вроде: "... path & "район " & DistNum(i) & *, ...",
где * обозначает произвольный набор символов?
Или может есть другое решение?

Заранее благодарен.
Владимир Саныч
Дата: 13.11.2009 13:11:10
nikolam
Вопрос: возможно ли вытащить из названия файлов только часть "район хх"?

i=instr(s," (") 'находим позицию сочетания пробела со скобкой
t=left(s, i-1) 'берем начало строки
так можна
Дата: 13.11.2009 13:17:05
nikolam
...
возможно ли вытащить из названия файлов только часть "район хх"?
Или в команде написать что-то вроде: "... path & "район " & DistNum(i) & *, ...",
где * обозначает произвольный набор символов?
Или может есть другое решение?

Заранее благодарен.


FileName = Dir(path & "район *.xls")
Do While FileName <> ""
  DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "таблица", path & FileName, False
  FileName = Dir
Loop
nikolam
Дата: 17.11.2009 15:07:29
Спасибо за помощь! Быстрота ответов просто поражает!
Попробовал оба варианта, все отлично работает. Но второй мне показался удобнее.

Есть еще один вопрос. Использую команду:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "table 01", _
path & filename, False, "List1!A10:H1000"

Возможно ли в данной команде обратиться к листу в книге не по имени листа, как указано выше (List1), а по его индексу?
qwrqwr
Дата: 17.11.2009 15:16:31
nikolam
Использую команду:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "table 01", _
path & filename, False, "List1!A10:H1000"

Возможно ли в данной команде обратиться к листу в книге не по имени листа, как указано выше (List1), а по его индексу?
нет, нельзя.
Анатолий ( Киев )
Дата: 17.11.2009 23:21:16
nikolam
Возможно ли в данной команде обратиться к листу в книге не по имени листа, как указано выше (List1), а по его индексу?
Если имеется ввиду лист с индексом 1, то вместо
"List1$A10:H1000" или "Sheet$A10:H1000" можно просто указать "A10:H1000".
А еще надежнее - присвоить диапазону имя и использовать его.