Функция GetValue предназначена для получения данных из закрытой книги ExcelИспользовать такой способ имеет смысл только в том случае, если из большого файла надо получить значения только нескольких ячеек (или одного диапазоная ячеек), и при этом точно известно расположение на листе интересующих нас ячеек, и имена листов Пример использования функции: Sub ПримерИспользования_GetValue() p = "C:\Documents and Settings\Бухгалтерия" ' папка с файлом f = "расход.xls" ' имя файла s = "доходы" ' название листа a = "D145" ' интересующая нас ячейка ' выполняем загрузку данных из закрытой книги Excel ЗначениеЯчейки = GetValue(p, f, s, a) Debug.Print ЗначениеЯчейки ' выводим результат в окно Immediate End Sub Посмотрите также результат использования этой функции внутри цикла Код функции GetValue: Function GetValue(path, file, sheet, ref) 'Функция GetValue получает в качестве параметров: ' path – путь к закрытому файлу (например, "d:\files"); ' file – название рабочей книги (например, "budget.xls"); ' sheet – название рабочего листа (например, "Лист1"); ' ref – ссылка на ячейку (например, "C4"). If Right(path, 1) <> "\" Then path = path & "\" ' проверяем наличие файла по заданному пути If Dir(path & file) = "" Then GetValue = "Файл не найден": Exit Function ' формируем строку запроса arg$ = "'" & path & "[" & file & "]" & sheet & "'!" & _ Range(ref).Range("A1").Address(, , xlR1C1) ' считываем значение из закрытой книги GetValue = ExecuteExcel4Macro(arg$) ' вместо ошибки возвращаем сообщение об ошибке ' к примеру, если лист не найден, или указана несуществующая ячейка If IsError(GetValue) Then GetValue = "<ошибка>" End Function
|
|||

Комментарии
Доброго времени суток. Пытаюсь "скрестить" FilenamesCollection.xls с функцией GetValue
Указываю путь к папке (С1) наименование файла В19 наименование листа в файле Sheet1 и ячейку данные с которой пытаюсь вытянуть С15 - выкидывает ошибку ЗНАЧ... Поскажите где моя ошибка?
в ДНК? )))
Отправить комментарий