Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2015, 15:22   #1
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию Перенос данных из закрытой таблице (макрос)

Уважаемые участники форума!
На удаленном компьютере в расшаренной папке находиться 3 таблицы скажем (P_t.xls, P_s.xls, _P_R.xls) которые обновляются каждый час. Необходимо сохранить данные в массиве (2 и 3 столбец, количество записей <40) для дальнейшей обработке не открывая названные таблицу.
Вопрос простой но я не нашел была ли такая тема. Если была подскажите ссылку
Loshara вне форума Ответить с цитированием
Старый 19.03.2015, 18:06   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..прочитать файл, не открыв его??? Эт что-то новенькое..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 19.03.2015, 18:25   #3
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Именно не открывая. И здесь ничего новенького нет. Мне кажется такое можно сделать с помощью ADODB, но как не "?"
Loshara вне форума Ответить с цитированием
Старый 19.03.2015, 18:47   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Можно с помощью ADODB, здесь были примеры.
Но можно и открыть файлы только для чтения, это не помешает обновлению, если обновление случится в те доли секунды, пока происходит считывание данных макросом.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 19.03.2015, 19:07   #5
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Можно с помощью ADODB, здесь были примеры.
Но можно и открыть файлы только для чтения, это не помешает обновлению, если обновление случится в те доли секунды, пока происходит считывание данных макросом.
К сожалению я не нашел примеры. Хотя добросовестно перерыл на данном форуме (как мне казалось) все.
И если возможно укажете где пример открытие файла Read-only макросом.
Loshara вне форума Ответить с цитированием
Старый 19.03.2015, 19:44   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от Loshara Посмотреть сообщение
К сожалению я не нашел примеры
Да ну? В шапке страницы слово "Поиск", клик - adodb - и вот например
http://programmersforum.ru/showpost....6&postcount=10
Цитата:
Сообщение от Loshara Посмотреть сообщение
И если возможно укажете где пример открытие файла Read-only макросом.
Спросите у своего Excel'я
Включите запись макроса, Ctrl+O, выберите файл, в выпадающей кнопке Открыть выберите "Открыть для чтения", ОК. Остановите запись и посмотрите, что получится.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 19.03.2015, 19:51   #7
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Да ну? В шапке страницы слово "Поиск", клик - adodb - и вот например
http://programmersforum.ru/showpost....6&postcount=10
Спросите у своего Excel'я
Включите запись макроса, Ctrl+O, выберите файл, в выпадающей кнопке Открыть выберите "Открыть для чтения", ОК. Остановите запись и посмотрите, что получится.
То что нужно.
А что касается рекодера в 13 он у меня как-то хр***во работает
Loshara вне форума Ответить с цитированием
Старый 22.03.2015, 09:37   #8
diop
Пользователь
 
Регистрация: 09.01.2015
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Loshara Посмотреть сообщение
Уважаемые участники форума!
На удаленном компьютере в расшаренной папке находиться 3 таблицы скажем (P_t.xls, P_s.xls, _P_R.xls) которые обновляются каждый час. Необходимо сохранить данные в массиве (2 и 3 столбец, количество записей <40) для дальнейшей обработке не открывая названные таблицу.
Вопрос простой но я не нашел была ли такая тема. Если была подскажите ссылку
что-то типа того
использовать такое обращение к файлу
f = Path & file
[G9:BA58].Value = GetObject(f).Worksheets("list1").[G9:BA58].Value
GetObject(f).Close False
diop вне форума Ответить с цитированием
Старый 22.03.2015, 11:14   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

А как-же в случае readonly сделать перенос? Или значение слова "перенос" за последние годы изменилось?
Хотя помню недавно его применяли по назначению один раз...

Вообще-то формулы отлично отображают значения из другого закрытого файла.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 22.03.2015 в 11:17.
Hugo121 вне форума Ответить с цитированием
Старый 22.03.2015, 18:06   #10
Djeki
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 136
По умолчанию

Если название листов во всех закрытых книгах одинаковое или лист в книге один (тогда лист может называться по разному), и известны адреса ячеек из которых надо взять данные не открывая файл - то можно..Книгу Main.xls откройте, кнопку нажмите и из папки Base берём данные , не открывая файлы
Вложения
Тип файла: zip Не открывая файл.zip (41.5 Кб, 21 просмотров)
Djeki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
маленький макрос обработки прайсов дисков, перенос данных из kolesa2000 Фриланс 2 30.05.2014 12:02
Перенос данных из закрытой книги по условию strannick Microsoft Office Excel 14 14.12.2013 16:29
макрос.Чтение данных из 1 табл и результат действия в 2 таблице. igsxor Microsoft Office Excel 50 19.03.2011 23:25
Данные из закрытой книги. Подправить макрос maragva Microsoft Office Excel 0 30.01.2011 14:51
Макрос группировки данных в таблице magana Microsoft Office Excel 1 28.01.2011 23:52