Вопрос: Получение данных без открытия файла | Добавлено: 06.06.06 10:14 |
Автор вопроса: ![]() |
Существует некоторое количество похожих файлов. Необходимо собрать данные из этих файлов в один общий файл. Т.е. необходимо в итоговом файле сделать кнопочку, при нажатии на которую выводился бы диалог выбора файла, после этого данные бы из выбранного файла попадали в активную книгу.
В общем, мне примерно понятно как это сделать, но не знаю с какой стороны подойти к тому, чтобы файл не открывался, а просто бы выбирался, и данные из него переносились в активную книгу. |
Ответы | Всего ответов: 19 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #1 | Добавлено: 06.06.06 11:47 |
Существует некоторое количество похожих файлов. Необходимо собрать данные из этих файлов в один общий файл.
выводился бы диалог выбора файла, после этого данные бы из выбранного файла попадали в активную книгу
И зачем тебе писать что-то если ты прекрасно открываешь каждый файл и переносишь данные??? Короче диалоговое окно выбора файла тебе зачем??? А по сабж - читай форум - ответы есть и совсем недавно. |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #2 | Добавлено: 06.06.06 12:06 |
Мне примерно понятно как получить данные, не открывая файл. Но непонятно как указать имя файла, его не открывая. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #3 | Добавлено: 06.06.06 12:21 |
Опачки! А разве нужно открывать файл, чтоб узнать его имя????????????????????
Попробуй перебирать файлы в заданном каталоге: http://www.vbnet.ru/forum/show.aspx?id=110918 |
Номер ответа: 4 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #4 | Добавлено: 06.06.06 12:21 |
Ты наверное путаешь открытие файла и диалог открытия файла.
Диалог открытия вообще ничего не открывает, просто возвращает имя файла, на который ткнул пользователь. Если нужно получить имена файлов без диалога открытия, то воспользуйся функцией Dir - она перечисляет файлы в папке. |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #5 | Добавлено: 06.06.06 12:39 |
Видать, что-то путаю.
Нужно именно вернуть имя файла + полный путь к нему, на который ткнул пользователь, после чего диалоговое окно закрыть. Функция Dir не подходит, т.к. файл может быть в любом месте... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #6 | Добавлено: 06.06.06 13:00 |
Ну тогда вот (для VBA):
mFileName = Application.GetOpenFilename()
|
Номер ответа: 7 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #7 | Добавлено: 06.06.06 15:08 |
Супер! Спасибо! Начало положено!!! |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #8 | Добавлено: 06.06.06 18:17 |
Че-то я совсем торможу.
oFileName = Application.GetOpenFilename(Title:="Выберите файл для экспорта данных" ![]() oModels = Application.Workbooks(oFileName).Worksheets(1).Range("Models" ![]() Выдает ошибку: Subscript out of range (Error 9) |
Номер ответа: 9 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #9 | Добавлено: 06.06.06 18:54 |
В общем, имя книги известно. Как получить значение определенной ячейки, не открывая книгу.
Что-то простое чувствую, но найти не могу... |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #10 | Добавлено: 06.06.06 20:05 |
http://j-walk.com/ss/excel/tips/tip82.htm |
Номер ответа: 11 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #11 | Добавлено: 07.06.06 14:17 |
Особый респект Незнайке. Все работает.
К сожалению, не открывая файл, получить данные можно только, если файл в формате Excel. Из текстового файла это попросту невозможно. Если не так, поправьте меня! И еще вопрос: реально ли получить данные в Excel из тела письма Outlook, не сохраняя это письмо отдельным файлом? |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #12 | Добавлено: 07.06.06 22:28 |
К сожалению, не открывая файл, получить данные можно только, если файл в формате Excel. Сожалеть не нужно - с текстовыми еще проще:http://www.vbzero.narod.ru/chapter1/page_7.htm И еще вопрос: реально ли получить данные в Excel из тела письма Outlook, не сохраняя это письмо отдельным файлом? Конечно можно, для начала изучи это (и другие примеры там же - поможет):http://www.microsoft.ru/offext/developers/advices/advice.aspx?id=48
|
Номер ответа: 13 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #13 | Добавлено: 08.06.06 10:15 |
И опять респект Незнайке.
Сожалеть не нужно - с текстовыми еще проще: http://www.vbzero.narod.ru/chapter1/page_7.htm Но тут описано не для VBA, а для VB, хотя все и похоже. А файл опять же открывается... Конечно можно, для начала изучи это (и другие примеры там же - поможет): http://www.microsoft.ru/offext/developers/advices/advice.aspx?id=48 Весьма полезная вещичка. Теперь надо понять, как сделать, чтобы при приходе нового письма с определенными реквизитами данные из него автоматом попадали в определенный файл Excel. Еще раз спасибо за помощь в изучении VBA. |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 188 |
Профиль | Цитата | #14 | Добавлено: 08.06.06 10:43 |
как сделать, чтобы при приходе нового письма с определенными реквизитами данные из него автоматом попадали в определенный файл Excel
Типа порядка действий: Пишешь в аутлуке при событии получения нового письма создаешь экземпляр Excelя, дальше берешь из тела письма все что хочешь и распихиваешь по файлам. Если есть конкретная задача - опиши - посоветуем. |
Номер ответа: 15 Автор ответа: ![]() ![]() ICQ: 234458121 Вопросов: 38 Ответов: 107 |
Профиль | Цитата | #15 | Добавлено: 08.06.06 11:46 |
На сайте заполняется анкета, после этого в теле письма приходят данные.
Тема письма всегда одна и та же. В теле письма по строкам название поля, введенные данные. Нужны вот эти данные автоматом запихивать в Excel в ячейки, соответствующие названию поля. |
|