Страница: 1 | 2 |
Вопрос: Получение данных без открытия файла
Добавлено: 06.06.06 10:14
Автор вопроса: APS | ICQ: 234458121
Существует некоторое количество похожих файлов. Необходимо собрать данные из этих файлов в один общий файл. Т.е. необходимо в итоговом файле сделать кнопочку, при нажатии на которую выводился бы диалог выбора файла, после этого данные бы из выбранного файла попадали в активную книгу.
В общем, мне примерно понятно как это сделать, но не знаю с какой стороны подойти к тому, чтобы файл не открывался, а просто бы выбирался, и данные из него переносились в активную книгу.
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #1
Добавлено: 06.06.06 11:47
И зачем тебе писать что-то если ты прекрасно открываешь каждый файл и переносишь данные???
Короче диалоговое окно выбора файла тебе зачем???
А по сабж - читай форум - ответы есть и совсем недавно.
Номер ответа: 2
Автор ответа:
APS
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
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #4
Добавлено: 06.06.06 12:21
Ты наверное путаешь открытие файла и диалог открытия файла.
Диалог открытия вообще ничего не открывает, просто возвращает имя файла, на который ткнул пользователь. Если нужно получить имена файлов без диалога открытия, то воспользуйся функцией Dir - она перечисляет файлы в папке.
Номер ответа: 5
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #5
Добавлено: 06.06.06 12:39
Видать, что-то путаю.
Нужно именно вернуть имя файла + полный путь к нему, на который ткнул пользователь, после чего диалоговое окно закрыть.
Функция Dir не подходит, т.к. файл может быть в любом месте...
Номер ответа: 6
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #6
Добавлено: 06.06.06 13:00
Ну тогда вот (для VBA):
Номер ответа: 7
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #7
Добавлено: 06.06.06 15:08
Супер! Спасибо! Начало положено!!!
Номер ответа: 8
Автор ответа:
APS
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
Автор ответа:
APS
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
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #11
Добавлено: 07.06.06 14:17
Особый респект Незнайке. Все работает.
К сожалению, не открывая файл, получить данные можно только, если файл в формате Excel.
Из текстового файла это попросту невозможно. Если не так, поправьте меня!
И еще вопрос: реально ли получить данные в Excel из тела письма Outlook, не сохраняя это письмо отдельным файлом?
Номер ответа: 12
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #12
Добавлено: 07.06.06 22:28
Номер ответа: 13
Автор ответа:
APS
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я, дальше берешь из тела письма все что хочешь и распихиваешь по файлам.
Если есть конкретная задача - опиши - посоветуем.
Номер ответа: 15
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #15
Добавлено: 08.06.06 11:46
На сайте заполняется анкета, после этого в теле письма приходят данные.
Тема письма всегда одна и та же.
В теле письма по строкам название поля, введенные данные.
Нужны вот эти данные автоматом запихивать в Excel в ячейки, соответствующие названию поля.