Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718

Как вытащить значение ячейки не открывая ексель

11.06.2013, 23:04. Показов 3890. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вытащить значение ячейки не открывая ексель с помощю ADODB ?
пробовал так, что не так делаю?
Visual Basic
1
2
3
4
5
6
7
8
Set cn = CreateObject("ADODB.Connection")
   
    t = ThisWorkbook.Path & "\in\Книга.xls"
     
     cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & t _
          & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
       Set rs1 = cn.Execute("select * from [Лист1$d1:d1]")
      Cells(1, 1) = rs1.fields(0).Name
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2013, 23:04
Ответы с готовыми решениями:

Как вытащить значение ячейки из одного документа в другой
Есть документ, который служит для расчета проектных данных и фактических. В этот документ нужно по вытаскивать данные из 2х других...

Вытащить второе значение из ячейки Эксель
Выборка из программы в эксель, два значения в одну ячейку, нужно вытащить второе значение чтоб подсчитать сумму

Вытащить значение из ячейки access, для delphi
Имеем запрос ADOQuiery1: Select From Where Место=1; Имеем задачу: Вытащить значение из ячейки. Имеем проблему: Не...

17
1703 / 190 / 19
Регистрация: 20.11.2011
Сообщений: 281
12.06.2013, 07:42
Visual Basic
1
2
    [a1].Formula = "='" & ThisWorkbook.Path & "\in\[Книга.xls]Лист1'!D1"
    [a1].Value = [a1].Value
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
12.06.2013, 09:49  [ТС]
как с решыть ето с помощю ADODB, что не так в моем коде...
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.06.2013, 12:53
Попробуй так:
Visual Basic
1
2
     cn.Open "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='" & t _
          & "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"
1
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
12.06.2013, 13:32
Лучший ответ Сообщение было отмечено как решение

Решение

Уокенбах:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub TestGetValue()
    Dim p As String, f As String
    Dim s As String, a As String
    
    p = ThisWorkbook.path
    f = "myworkbook.xlsx"
    s = "Sheet1"
    a = "C5"
    MsgBox GetValue(p, f, s, a)
End Sub
 
Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
    Dim arg As String
 
'   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
 
'   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)
 
'   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
12.06.2013, 13:58  [ТС]
нашел проблему....
даные берет только текстовые, числовые просто игнорирует...
подозрениие на то что
Цитата Сообщение от IvanOK Посмотреть сообщение
rs1.fields(0).Name
неможет быть числом....
тогда как вытащить значение
пробовал так
Visual Basic
1
rs1.fields(0).value
не получается

Добавлено через 11 минут
аналитика, ваш код работает.... , но он мне чуточку не подходит....
задачу нужно решыть с помощью ADODB
она практически решена, но проблема описана в сообщенни №6

Добавлено через 4 минуты
аналитика, ваш код очень интересный .... оригинально, но вопрос остается открытым
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.06.2013, 14:44
Вот вариант считывает и числовые данные:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub pr()
    
    Set cn = CreateObject("ADODB.Connection")
    
    t = ThisWorkbook.Path & "\çàäà÷à1.xls"
    
    cn.Open "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='" & t _
         & "';Extended Properties='Excel 8.0;HDR=No;IMEX=1';"
    Set rs1 = cn.Execute("select * from [Ëèñò1$d1:d1]")
    'Cells(1, 1) = rs1.Fields(0).Name
    Cells(1, 1).CopyFromRecordset rs1
 
End Sub
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
12.06.2013, 15:22  [ТС]
toiai, или я что то не так делаю или в чем то .....непонятки....
значение конкретной ячейки из закрытой книги в активную книгу не тянеться
вижу что книга открыта, адрес ячейки прописал...значение есть и всеравно облом

Добавлено через 45 секунд
toiai, можете виложить пример.....

Добавлено через 11 минут
как я понял оно берет первую строку как Name поля Fields
мне же нужно узнать значение конкретной ячейки
или вообще отказаться от етой технологии
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
12.06.2013, 15:35
Вот пример.В моем примере заголовки отключены (HDR=No), поэтому и считывается 1-я строка.
Вложения
Тип файла: zip Пример.zip (15.8 Кб, 16 просмотров)
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
12.06.2013, 15:55  [ТС]
toiai, какую литературу искать в етом направлении
спасибо за помощь
Цитата Сообщение от toiai Посмотреть сообщение
В моем примере заголовки отключены (HDR=No)
вся проблема в етом
0
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
13.06.2013, 20:36  [ТС]
toiai, возможно ли вытащить даные из "Раскр. список 14" или другого обьекта способом ADODB
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
14.06.2013, 18:14
Да возможно, даже из диапазонов таблиц текущего файла, как результат может быть и сводная таблица.
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
17.06.2013, 01:20  [ТС]
toiai, если да, то как сделать запрос?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
17.06.2013, 18:56
Ну вот пример формирования сводной таблицы из нескольких таблиц (справочников):
Вложения
Тип файла: zip pivot Toiai for IvanOK.zip (19.1 Кб, 17 просмотров)
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
18.06.2013, 13:09  [ТС]
toiai, спасибо вам за хорошые примеры.....но меня интересует также и возможность сделать запрос на обьект "Раск. список 1" и узнать активное занчение

Добавлено через 2 часа 15 минут
или ето не возможно етим методом....
0
 Аватар для dzug
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
18.06.2013, 16:36
Может это Вам поможет:
Вытянуть данные из закрытых книг в Excel
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
18.06.2013, 17:32  [ТС]
dzug, в етом мне помогли разобраться меня интересует
Цитата Сообщение от IvanOK Посмотреть сообщение
возможность сделать запрос на обьект "Раск. список 1" и узнать активное занчение
ето НЕ тот список который есть в Даные-проверка-список, ето обьект....."Раск. список 1" и можно ли к нему сделать sql-запрос

Добавлено через 24 секунды
dzug, спасибо за еще одну тему.....которую я не нашел
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
18.06.2013, 17:48
Цитата Сообщение от IvanOK Посмотреть сообщение
ето обьект....."Раск. список 1"
Думаю не отрывая файл извлечь такие данные невозможно, но не утверждаю...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2013, 17:48
Помогаю со студенческими работами здесь

Помогите в VB вытащить данные из таблицы не открывая ее
Помогите советом: как в макросе в одной таблице получить данные из другой, при этом ее не открывая. Вроде ссылки на другую книгу с...

Как присвоить переменной имя ячейки ексель по которой кликнул пользователь
Здравствуйте. Известно только то что пользователь обязательно кликнет по ячейке после того как msgBox попросит его об этом. Как...

Как вытащить данные из ячейки Excel
Ребята перехожу на новый уровень, то есть пересел на visual basic 2008 express Но проблем от этого стало еще больше. И так все по...

Как вытащить текст из ячейки DBGrid?
Здравствуйте!!!!!!!!!! Подскажите как Вытащить текст из ячейки DBGrid в Edit????????????

Ексель, формат ячейки в скрипте.
Всем привет. Есть страничка, где в ячейку вывожу час.день месяца. В ХТМЛ, всё ок! Если вывожу её как екселевский лист, она некоторые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru