powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / get value из ".xlsx"
9 сообщений из 9, страница 1 из 1
get value из ".xlsx"
    #39018027
Андрей222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все доброго времени суток!

Ребят, подскажите пожалуйста, как исправить макрос, чтобы он мог не только данные считывать из книг формата ".xls", но и из книг формата ".xlsx"


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
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
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018037
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей222,

функция итак может с ними работать. Главное имя файла указать с нужным расширением.
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018039
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей222,
эта функция получает расширение файла вместе с именем:' file – название рабочей книги (например, "budget.xls")Если ваш Excel умеет открывать файлы .xlsx, эта функция должна работать.
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018044
Андрей222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, вот такая ошибка у меня почему-то при тестировании выпадает

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub fgfgfg()
    p = "E:\_ET_\Desktop\GetValue - Testing"
    f = "datafiles.xlsx"
    s = "333"
    a = "A3"
    MsgBox Get_Value_From_Close_Book(p, f, s, a)
End Sub
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018062
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей222,

объявить p явно:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Sub fgfgfg()
    Dim p as string,f as string,s as string,a as string
    p = "E:\_ET_\Desktop\GetValue - Testing"
    f = "datafiles.xlsx"
    s = "333"
    a = "A3"
    MsgBox Get_Value_From_Close_Book(p, f, s, a)
End Sub


правда, я отсюда вижу, что Вы пытаетесь вызвать не ту функцию, которую продемонстрировали, и взяли её с другого сайта, где всем переменным заданы типы:
Код: vbnet
1.
Function Get_Value_From_Close_Book(sWb As String, sShName As String, sAddress As String)
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018073
Андрей222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Да, извиняюсь, напутал я что-то все совсем... =\
Вложил документы (сам файл с макросом и файл, с которого нужно взять данные)
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018074
Андрей222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но ошибка так и выскакивает... =\
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39018090
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей222, имя листа в файле Лист1 , а не 333 .
...
Рейтинг: 0 / 0
get value из ".xlsx"
    #39019025
Андрей222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,

Оо...Нда.. Вот так ошибка позорная у меня... Зато тему тут развел))
Спасибо))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / get value из ".xlsx"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]