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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 16:17   #1
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
Вопрос Из Word'a в Excel

Ув. форумчане всем доброго времени суток.
Макросы осваиваю сам поэтому, иногда необходима помощь людей с опытом.
Хотел у вас узнать кой какую информацию. Есть множество вордовских файлов, *.rtf,*.doc,*.docx, те весь спектр. Эти файлы забиваются автоматом (тоесть согласно введенным данным формируются автоматически). Внутри этих файлов есть некоторые переменные например:
{pass}, {emboss}, ну и много других переменных. Вопрос возможно ли указав папку сделать так чтобы эти файлы не открывая брать переменные которые неужны и вставлять в определенную ячейку.
файлов в папке каждый месяц....от 1000 до 1500 и в конце месяца нужно делать статистику наличия конткетных файлов(данных в файлах).

Такое возможно или это тяжело. Из екселя в ворд я осилил вот теперь решил разобраться в обратном.....заранее спасибо за понимание и ответы....
Grrrr вне форума Ответить с цитированием
Старый 31.03.2012, 17:55   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
чтобы эти файлы не открывая брать переменные
не открывая - не получится
другое дело, что можно быстро открыть, взять данные, и закрыть, - пользователь ничего не заметит.

Выложите пример файла Word с переменными, и пример результата (таблицу в формате Excel) - вдруг у кого будет свободное время, помогут сделать.


Цитата:
Из екселя в ворд я осилил
Немного рекламы
Если кто из читающих эту тему ещё не осилил (перенос данных из Excel в Word) -
я сделал для вас программу, при помощи которой можно перенести данные (сформировать документы) нажатием одной кнопки:
http://excelvba.ru/programmes/FillDocuments
EducatedFool вне форума Ответить с цитированием
Старый 05.04.2012, 14:47   #3
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
не открывая - не получится
другое дело, что можно быстро открыть, взять данные, и закрыть, - пользователь ничего не заметит.

Выложите пример файла Word с переменными, и пример результата (таблицу в формате Excel) - вдруг у кого будет свободное время, помогут сделать.



Немного рекламы
Если кто из читающих эту тему ещё не осилил (перенос данных из Excel в Word) -
я сделал для вас программу, при помощи которой можно перенести данные (сформировать документы) нажатием одной кнопки:
http://excelvba.ru/programmes/FillDocuments
^) Реклама это хорошо, я не против, долго не отвечал флешку забывал на работе.....

Вот собственно файлики, посмотрите пож-та......
Архив это ексель файл, ну табличка ввиде которой будт собираться данная инфа.....
Вложения
Тип файла: doc абадей.doc (135.5 Кб, 19 просмотров)
Тип файла: zip список.zip (9.4 Кб, 16 просмотров)
Grrrr вне форума Ответить с цитированием
Старый 05.04.2012, 15:40   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Содержимое полей нужно? Например
Код:
objWordDoc.FormFields("FAMILIA").Result
Примеров обработки всех файлов из папки или дерева на форуме много.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 05.04.2012, 16:13   #5
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Содержимое полей нужно? Например
Код:
objWordDoc.FormFields("FAMILIA").Result
Примеров обработки всех файлов из папки или дерева на форуме много.
ага спасибо, щас попробую отпишусь....
Grrrr вне форума Ответить с цитированием
Старый 05.04.2012, 16:43   #6
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Содержимое полей нужно? Например
Код:
objWordDoc.FormFields("FAMILIA").Result
Примеров обработки всех файлов из папки или дерева на форуме много.
Оказалось не все так просто.......если открыть документ, и 2-а раза кликнуть на фамилию откроеится информация, но вот нюанс, "текст по умолчанию" пустое поле, и FormFields("FAMILIA").Result = возвращает пустое поле....

может еще как то можно выдрать данные.....

обработка списка это не проблема ...... уже есть......
спс...
Grrrr вне форума Ответить с цитированием
Старый 05.04.2012, 17:28   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Да ну? Вот макрос для VBA Excel, книга расположена в той же папке, что вордовский файл:
Код:
Sub bb()
Dim x
With GetObject(ThisWorkbook.Path & "\абадей.doc")
    For Each x In .formfields
        Debug.Print x.Name, x.result
    Next
    .Close 0
End With
End Sub
Результат:
Код:
FAMILIA       АБАДЕЙ
IMYA          АНАТОЛИЙ
OTCHEST       ЯКОВЛЕВИЧ
INN           
CITIZEN       Россия
DOC           Паспорт гражданина РФ
SERIA         98 00
NOMER         078010
VIDAN         11.03.2001
KEM           нгувд рс я
KEMCODE       142-004
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 05.04.2012, 17:54   #8
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Да ну? Вот макрос для VBA Excel, книга расположена в той же папке, что вордовский файл:
Код:
Sub bb()
Dim x
With GetObject(ThisWorkbook.Path & "\абадей.doc")
    For Each x In .formfields
        Debug.Print x.Name, x.result
    Next
    .Close 0
End With
End Sub
Результат:
Код:
FAMILIA       АБАДЕЙ
IMYA          АНАТОЛИЙ
OTCHEST       ЯКОВЛЕВИЧ
INN           
CITIZEN       Россия
DOC           Паспорт гражданина РФ
SERIA         98 00
NOMER         078010
VIDAN         11.03.2001
KEM           нгувд рс я
KEMCODE       142-004
Огромное тебе спасибо, я как начинающий недопер.....до этого цикла....я его в другой вставлял........и немного по другому.....теперь понял ...... еще раз спс....
Grrrr вне форума Ответить с цитированием
Старый 05.04.2012, 18:26   #9
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цикл - это чтобы показать, что все поля читаются
Для получения отдельных значений цикл не нужен:
Код:
Sub bb()
With GetObject(ThisWorkbook.Path & "\абадей.doc")
    Debug.Print .formfields("FAMILIA").result
    Debug.Print .formfields("IMYA").result
    .Close 0
End With
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 05.04.2012, 19:09   #10
Grrrr
 
Регистрация: 31.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Цикл - это чтобы показать, что все поля читаются
Для получения отдельных значений цикл не нужен:
Код:
Sub bb()
With GetObject(ThisWorkbook.Path & "\абадей.doc")
    Debug.Print .formfields("FAMILIA").result
    Debug.Print .formfields("IMYA").result
    .Close 0
End With
End Sub
У меня просто в папке которую я буду обрабатывать примерно 1500 таких файлов, и вот нужно будет составить такую табличку. Ну да в принципе так оно и есть.... но я сделал может не проще. вот так
необходимые названия формы забил в ячейки по порядку фамилия, имя, отчество, паспотр и тд... и проверкой
if x.name = cells(1, i) then ......... i=i+1., делаю перебор значений и вставляю их в ячейки.

Мда если на моем компе это займет минут 5 то на работе это будет вообще жесть......

Спасибо за совет, и еще вопрос если можно.....после формирования данной таблице мне нужно будет провести проверку(сверку) с другой таблицей(лежит в другом месте). берем с ячеек (скажем) D1:D1500 по одному значению, проверяем в том файле, если истина то закрашиваем в зеленый, если ложь то в красный.....как это проще сделать?

Заранее благодарен....
Grrrr вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос текста из таблиц Word'a в txt Dr.Binom Microsoft Office Word 7 14.03.2012 04:22
Созданиние и работа с документом Word'a в Delphi DoubleTrouble Общие вопросы Delphi 2 25.07.2011 18:20
Как сделать оформление как у Word'a 2007+ TwiX Общие вопросы Delphi 15 26.12.2009 21:42
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47
Формирование из excel в ASCII, у меня он формирует по одному клиенту а в Excel нескол Askat Общие вопросы Delphi 0 18.07.2007 06:28