mail mail

Получение данных из закрытой книги Excel

Функция 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 - выкидывает ошибку ЗНАЧ... Поскажите где моя ошибка?
в ДНК? )))

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
2 + 10 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.