|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
15.10.2008, 18:30 | #1 |
Регистрация: 15.10.2008
Сообщений: 8
|
Получение пользовательской функцией данных с закрытой книги
Возможно ли получение пользовательской функцией данных с закрытой книги. (Если диапазон ячеек закрытой книги не передается как параметр) ?
|
16.10.2008, 05:02 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Т.е. Вы сами не знаете, какие данные (путь к файлу, имя файла, лист, диапазон ячеек) Вам нужны?
Чем шире угол зрения, тем он тупее.
|
16.10.2008, 06:50 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Тоже хотелось бы узнать...
К примеру, есть файл Excel (имя и путь известны, например "c:\data.xls"), надо перенести в массив значения известного диапазона (например, "a1:e20") Как это лучше сделать, не открывая файл "c:\data.xls"? Понимаю, что можно создать временную книгу, прописать в ней ссылки на ячейки "a1:e20" файла "c:\data.xls", принудительно обновить ссылки, после чего считать в массив диапазон уже из временной книги. Может, есть более простой \ эффективный способ? |
16.10.2008, 07:27 | #4 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
В VBA Excel нет возможности получить данные из закрытой рабочей книги. Но эту проблему можно решить с помощью макроса XLM. Это позволит присвоить данные переменной, не создавая и удаляя ссылки, т.е. без использования ячеек листа. Например, решить задачу, поставленную EducatedFool (только не указан рабочий лист), можно так:
Код:
Чем шире угол зрения, тем он тупее.
|
16.10.2008, 08:17 | #5 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
SAS888, спасибо большое! Буду пользоваться.
Вот только вопрос: файл "c:\data.xls" состоит из нескольких листов, и с каждого надо считывать около 1000 ячеек (диапазон "a1:e200") Что будет быстрее: не открывая файл, читать по одному значению в цикле Вашей функцией, или всё-таки открыть файл, одной строкой скинуть диапазон в массив, и закрыть файл? |
16.10.2008, 08:32 | #6 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
16.10.2008, 11:31 | #7 |
Регистрация: 15.10.2008
Сообщений: 8
|
Именно. Заранее это неизвесно (До использования функции). Для простоты можно считать что нужно чтобы пользовательская функция выводила значение одной ячейки из закрытой книги, заранее неизвесно из какой.
|
16.10.2008, 11:41 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Не понятно, а когда становится известно? Можно по-подробнее? У меня на компе их тысячи. Из всех получать?
Чем шире угол зрения, тем он тупее.
|
16.10.2008, 11:44 | #9 |
Регистрация: 15.10.2008
Сообщений: 8
|
|
16.10.2008, 11:46 | #10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Какую из "кучи" книг выбирать? Есть критерии?
Чем шире угол зрения, тем он тупее.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение/Отправка данных в интернет | sklazer | Работа с сетью в Delphi | 13 | 11.01.2009 16:26 |
Получение типа данных | Proof | БД в Delphi | 2 | 14.05.2008 20:38 |
Получение данных из blob поля | vvviperrr | БД в Delphi | 1 | 28.04.2008 00:05 |
Получение данных от php скрипта.. | Sanich | Работа с сетью в Delphi | 5 | 20.12.2007 16:41 |
форма отправки данных с функцией прикрепления файлов | zetrix | PHP | 0 | 29.10.2006 20:24 |