Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Связать Excel и Word.  [new]
jsand
Member

Откуда: Санкт-Петербург
Сообщений: 50
Привет народ.
Если будут у кого какие мысли - буду очень признателен.
У меня есть файл в Excel 2003 на несколько сот строк, вида
"Номер, Фамилия, Имя, Отчество". А также есть документ Word 2003, в котором есть текст, куда должны вставляться эти самые данные (номер, фамилия, имя, отчество). Вручную копипастить из excel в word совсем не улыбает.
Каким образом лучше всего осуществить перенос? В идеале, я бы хотел написать макрос, при нажатии на который выводился бы запрос "Из какой строчки брать данные?" и по вводу номера строки он бы и подставлял в ворд те данные из нужной строки.
Заранее всем огромное спасибо.
21 июн 11, 14:33    [10847104]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19768
Нужен пример вордовского файла.
И где должен быть макрос - в ворде или в экселе.
21 июн 11, 14:35    [10847118]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
jsand
Member

Откуда: Санкт-Петербург
Сообщений: 50
А да всё равно где. Данные вносятся в эксель. Удобнее в экселе.
Пример строки в экселе:
001 Иванов Иван Иванович
002 Петров Петр Петрович
003 Сидоров Сидор Сидорович

Нажимаю на кнопку макроса, вылезает табличка - "Введите номер строки:"
Ввожу "1" и нажимаю "ОК" - открывается ворд с файлом вида:

Примерный вид листа в ворде:
Порядковый номер: 001
Фамилия: Иванов
Имя: Иван
Отчество: Иванович
21 июн 11, 14:47    [10847277]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19768
Еще раз

Если файл ворда создает эксель с нуля - это одно
Если в ворде есть шаблон - это другое, тогда нужен пример
21 июн 11, 14:52    [10847334]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19768
Опять же - речь идет о том, чтобы в один файл вставлять несколько фамилий, или это разные файлы будут

А еще в ворде есть "Слияние" - посмотрите, там за вас это уже сделали - заполнение форм изз источников данных
21 июн 11, 14:54    [10847347]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
jsand
Member

Откуда: Санкт-Петербург
Сообщений: 50
Понял, сейчас ознакомлюсь со слиянием.
Спасибо большое Shocker.Pro.
21 июн 11, 14:57    [10847378]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
jsand
Member

Откуда: Санкт-Петербург
Сообщений: 50
Shocker.Pro не, слияние не подходит, их экселя он мегакриво заливает.

Образец вордовского файла, при условии что я выбрал строку номер 2, имеет вид:


Порядковый номер: [значение из ячейки А2]
Фамилия: [Значение из ячейки B2]
Имя: [Значение из ячейки C2]
Отчество: [Значение из ячейки D2]

Вот и вроде всё.

Это вкратце, на самом деле шаблон уже есть, удобнее было бы вставлять в существующую книгу, в определённые места текста, например, personal.doc.
21 июн 11, 15:39    [10847863]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
DUDALS
Member

Откуда: Минск
Сообщений: 53
jsand,

Нормально заливает. Часто использую
21 июн 11, 15:52    [10848030]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
jsand
Member

Откуда: Санкт-Петербург
Сообщений: 50
Функционал требуется следующий:

Приходит Сидор Сидоров и говорит: "Распечатай мне справку".
Я ищу его по номеру строки, тыкаю на кнопку, ввожу его номер и получаю вордовский документ с его данными. Всё.

Слияние есть хорошо, но немного не то, что мне надо.
21 июн 11, 16:00    [10848112]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
DUDALS
Member

Откуда: Минск
Сообщений: 53
jsand,

Выложите файлы. Попробую что нибудь сделать
21 июн 11, 16:54    [10848807]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6905
jsand
Функционал требуется следующий:

Приходит Сидор Сидоров и говорит: "Распечатай мне справку".
Я ищу его по номеру строки, тыкаю на кнопку, ввожу его номер и получаю вордовский документ с его данными.

Поиск у нас не работает? 9630015
21 июн 11, 18:09    [10849602]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19768
jsand,

Ну вот работающий прототип на VBA без слияния
Не сделано никаких проверок на ввод номера и на установку соединения с вордом.

По хорошему, надо было делать через закладки или поля, но лень разбираться, я как десять лет назад использовал такие шаблоны, так и использую

К сообщению приложен файл (zip.zip - 8Kb) cкачать
21 июн 11, 21:59    [10850554]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19768
Shocker.Pro
Не сделано никаких проверок на ввод номера и на установку соединения с вордом.
в смысле - обработку ошибок надо добавить
21 июн 11, 22:00    [10850561]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
EducatedFool
Member

Откуда: Россия, Урал
Сообщений: 36
Вдруг ещё актуально, или кому другому понадобится...

Сделал программу для заполнения документов данными из таблицы Excel (из Excel в Word)

--------------------
Надстройка предназначена для формирования (подготовки) документов по шаблонам, с заполнением созданных файлов данными из текущей книги Excel.

В качестве шаблонов могут выступать следующие типы файлов:
- документы Word (расширения DOC, DOCX, DOCM)
- шаблоны Word (расширения DOT, DOTX, DOTM)
- книги Excel (расширения XLS, XLSX, XLSM, XLSB)
- шаблоны Excel (расширения XLT, XLTX, XLTM)
- текстовые документы (расширения TXT, DAT, XML и т.д.)

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

Количество шаблонов документов не ограничено
--------------------------------
В каких случаях вам может пригодиться эта надстройка:

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

- если в вашей таблице Excel хранятся паспортные данные сотрудников, и вам необходимо быстро сформировать по шаблону приказы или прочие документы в формате Word, заполнив созданные документы данными сотрудников

- подготовить письма, уведомления, грамоты в формате PDF или Word, заполнив созданные файлы информацией с листа Excel

- и т.д. и т.п. - надстройку можно применять для создания любых документов на основе данных из Excel
--------------------------------

Скачать надстройку можно здесь:
http://excelvba.ru/programmes/FillDocuments
28 мар 12, 10:47    [12325305]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 119
А если мне нужен не один документ?

Ситуация такая:
В Excel хранится база данных изделий, порядка 2000 записей. В каждой записи по 5 позиций.

Надо:
На каждое изделие сделать паспорт в формате Word. То есть, чтоб получился вордовский файл на 2000 страниц с данными по каждому отдельному изделию.

Подскажите как это можно сделать?

Спасибо.
16 май 12, 15:49    [12563925]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4403
VistaSV30,
--шаблон паспорта
--и 10 строк екселя

в слепую советовать сложно невозможно
16 май 12, 16:01    [12564045]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6905
VistaSV30, сделать-то можно... но зачем вам 2000 паспортов одновременно?
Не проще ли - сделать выборку нужных для распечатки паспортов (тут фантазируйте, как хотите - хоть отдельный лист со списком, хоть форма с комбо/листбоксами, хоть...), отобрать/отметить нужные, сформировать документы...
16 май 12, 16:01    [12564060]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 119
AndreTM,

Нужно именно 2000, и именно в Word, ну вот так заказчику хочется.

Пробовал делать отчет в Access и потом сохранять его в формате rtf, но не получилось сверстать саму форму, а данные вставляются.

Сейчас пока план действий такой:
1. Сверстать шаблон в Word, в нужных местах вставить поля {DocVariable}
2. Макросом из Excel копировать шаблон и вставлять на новую страницу
3. Полям {DocVariable} на новой странице присваивать соответствующие значения.

Только пока не получается написать код и еще боюсь у компьютера памяти не хватит и будет виснуть.

Исходные файлы прилагаю.

К сообщению приложен файл (Fire.rar - 26Kb) cкачать
17 май 12, 15:13    [12570731]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4403
VistaSV30,

меня больше заинтересовала табличная часть

--1 лист --1 огнетушитель
--у вас в екселе -одно ТО, а если несколько
--зачем ворд ---- вбивать туда новые ремонты
--700 листов --не хило
-------как удалить списанный
-------добавить новый
-------как наити огнетушители медпункта
-------или кому пора мозги промывать
17 май 12, 16:46    [12571681]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4403
VistaSV30,

даже не 700, а 2000

ворд не потянет одним файлом(особенно в табличном виде)
придется дробить по конторам, поиск еще более усложнится
17 май 12, 16:48    [12571708]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
VistaSV30
Member

Откуда: Балашиха
Сообщений: 119
ПЕНСИОНЕРКА,
Пока предполагается, что все будет только так. Эти листы заказчик хочет распечатать и сброшуровать, а остальные записи уже будут от руки делать.
17 май 12, 18:04    [12572462]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
Konst_One
Member

Откуда:
Сообщений: 11055
полный бред.

таблицу с даными ведите в Excel, там хоть 65тыс записей делайте.
а в ворде сделайте шаблон со слиянием с Excel-страницей данных по критерию (фильтру)
17 май 12, 18:15    [12572545]     Ответить | Цитировать Сообщить модератору
 Re: Связать Excel и Word.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4403
VistaSV30,

  • считаю, что необходима база в ACCESS
    --таб1--перечень огнетушителей
    --таб2--проведенные ТО
    --справочники

  • реализуемые функции
    --поиск по частичному полю(место, дата, тип, ответственный)
    --ТО за прошлый период
    --ТО будущего периода(по типу и межремонтному циклу, периоду)
    --отчеты по конторам, типам, периодам,.....
    --причина отбраковки, ведомость по-инвентарно и итоги
    .....................

  • это только экспресс - взгляд на задачу
    --корректировки в ACCESS
    --отчеты для удобства печати можно формировать под WORD
    --более грубые отчеты можно печатать ACCESS-средствами
  • 17 май 12, 21:20    [12573220]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    VistaSV30
    Member

    Откуда: Балашиха
    Сообщений: 119
    Konst_One, спасибо!

    Cлияние - это именно, то что нужно!
    Проблема решена. Освоил еще одну полезную функцию Word и Excel, молодцы инженеры Microsoft!

    Вот ссылка на хорошую статью с примером слияния.
    18 май 12, 09:16    [12574326]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    1ochka
    Member

    Откуда:
    Сообщений: 1
    jsand
    Привет народ.
    Если будут у кого какие мысли - буду очень признателен.
    У меня есть файл в Excel 2003 на несколько сот строк, вида
    "Номер, Фамилия, Имя, Отчество". А также есть документ Word 2003, в котором есть текст, куда должны вставляться эти самые данные (номер, фамилия, имя, отчество). Вручную копипастить из excel в word совсем не улыбает.
    Каким образом лучше всего осуществить перенос? В идеале, я бы хотел написать макрос, при нажатии на который выводился бы запрос "Из какой строчки брать данные?" и по вводу номера строки он бы и подставлял в ворд те данные из нужной строки.
    Заранее всем огромное спасибо.

    Привет,
    У меня была такая же проблема.
    Решил её так (правда уже 2007-м офисе):
    В Excel два листа.
    1-й "Основа"
    2-й "База_клиентов"

    На 2-м листе как можно догадаться база клиентов по колонкам "№ п/п", "наименование", "Адрес", "ФИО 1-го руководителя", и др. данные.
    На 1-м листе в ячейку В3 ввожу порядковый номер клиента.
    В ячейке В5 ввожу формулу "=ДВССЫЛ(СЦЕПИТЬ("База_клиентов!";"B";B3))", после чего в ней выводится наименование клиента.
    Если в ячейке В6 вписать формулу =ДВССЫЛ(СЦЕПИТЬ("База_клиентов!";"С";B3)), то выйдет адрес клиента.
    Так скопировав формулу, и поменяв имена колонок, получим данные только выбранного клиента.

    Далее в шаблоне Word-овского документа в нужных местах вставляем связи ячейками 1-го листа Excel-я (в excel-е копируем ячейку, в word-е, через Вставить - специальная вставка - связать - текст в формате rtf - ок).
    Сохраняем шаблон.

    Ву аля.

    При необходимости сохраняем файл под другим именем, выделяем весь текст, клик ПКМ, выбрать пункт "Связанный объект Worksheet", подпункт "Связи ...", нажать кнопку "Разорвать связь", подтвердить разрыв связей кнопкой "Да" (после этого все автоматически обновляемые данные перейдут в значение "просто текст", и при следующем открытии этого файла связи обновляться не будут.

    Единственным камнем преткновения стал разрыв связей при перемещении файлов Excel-я и Word-овских шаблонов.
    Вышел из положения таким образом: выделить весь текст шаблона (тройной клик ЛКМ по левому полю), нажать кнопку Microsoft Office (левый верхний угол); меню "Подготовить", пункт "Изменить ссылки на файлы"; в открывшемся окне "Связи" (должны быть выделены все строки) нажать кнопку "Сменить источник ..."; найти и выбрать файл "... .xlsm" столько раз, сколько запросит программа; удостоверится что в колонке "Обновление" все значения поменялись на "----" вместо "Авто"; нажать "ОК" (все данные автоматически обновятся в соответствии с данными на 1-м листе; сохранить.

    Там я ещё наворочал с выпадающими списками ФИО руководителей (ведь подписать документ может не только директор, но и ген.директор, и зам.директор).
    Если будет нужно распишу.
    30 апр 13, 14:56    [14249710]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    ggor007
    Member

    Откуда:
    Сообщений: 2
    DUDALS, А Вы не могли бы подобный макрос в Excel написать? За символическую оплату? Мне нужно чтобы Excel был, как своя простенькая система управления и учета - вводится база клиентов с порядковыми номерами. Далее, при нажании на одну кнопочку-макрос выводится на печать договор с вбитыми данными ФИО и тел. из этой таблички.
    ggor собака mail.ru
    или тел. +7 девятьсот пять 206 пять тысяч
    25 июл 13, 16:28    [14617352]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    ggor007
    Member

    Откуда:
    Сообщений: 2
    Shocker.Pro, А Вы не могли бы подобный макрос в Excel написать? За разумную оплату? Мне нужно чтобы Excel был, как своя простенькая система управления и учета - вводится база клиентов с порядковыми номерами. Далее, при нажании на одну кнопочку-макрос выводится на печать договор с вбитыми данными ФИО и тел. из этой таблички.
    ggor собака mail.ru
    или тел. +7 девятьсот пять 206 пять тысяч
    25 июл 13, 16:38    [14617439]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    Shocker.Pro
    Member

    Откуда: ->|<- :адуктО
    Сообщений: 19768
    Так я же его уже написал, см. выше. Вы справитесь в его адаптацией и самостоятельно, если будут вопросы - задавайте
    25 июл 13, 16:56    [14617577]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    deblogger
    Member

    Откуда:
    Сообщений: 825
    VistaSV30
    Cлияние - это именно, то что нужно!
    Проблема решена. Освоил еще одну полезную функцию Word и Excel, молодцы инженеры Microsoft!


    Хотите сказать екзель не в состоянии сформировать самый простой отчет?

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

    Короче красоту навести, которая сама - данные, которые следовательно могут храниться в бд, которая типа в екзеле и лежит. Круг замкнулся.

    Молодцы инженеры микрософт, ничего не скажешь!
    28 июл 13, 22:01    [14629579]     Ответить | Цитировать Сообщить модератору
     Re: Связать Excel и Word.  [new]
    AndreyMp
    Member

    Откуда: Майкоп
    Сообщений: 592
    автор
    роль ворда - это всего лишь текстовый процессор
    Тогда ексель - всего лишь электронная таблица.
    28 июл 13, 23:41    [14629735]     Ответить | Цитировать Сообщить модератору
    Между сообщениями интервал более 1 года.
     Re: Связать Excel и Word.  [new]
    Rambler68
    Member

    Откуда: Татарстан
    Сообщений: 2
    1ochka,

    Давнишняя запись, но актуальности не теряет...

    Майкрософт нам конечно большую свинью подложил, что не даёт возможности в полях слияния Word устанавливать относительные ссылки на соответствующие поля (ячейки) файла Excel. Приходится заниматься мазохизмом в виде замены связей на файл. Бррррр.....
    10 дек 18, 08:59    [21758784]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: 1 2      [все]
    Все форумы / Visual Basic Ответить