Вопрос по связи WORD-EXCEL

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

ANG
Сообщения: 16
Зарегистрирован: 05 ноя 2006, 21:55

Здравствуйте.
Если можно, помогите с таким вопросом. Есть документ .doc, который необходимо связать с .xls. Копирую ячейку, вставляю в doc, выбираю способ вставки "Использовать форматирование конечного обьекта и связать с Excel". При этом данные, которые добавились оказываются в отдельной строке, а нужно, чтобы текст читался нормально. Вручную исправлять грустновато, т. к. в документе порядка 600 связей (рассчет в .xls, а отчет в .doc).
Подскажите пожалуйста легинький макросик в Word для поиска связи, удаления знака "Enter" до нее и после нее. Спасибо
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

Может быть использовать механизм слияния Word'а а не связывание через OLE ?
pilligrim
Сообщения: 43
Зарегистрирован: 20 июл 2007, 07:57
Откуда: UZ
Контактная информация:

А вы попробуйте таким способом:
Скопировать таблицу в ексле, Ворд, Правка-Специальная вставка-Связать-вставить объект Microsoft Excel.
Вставленный объект будет точно такимжи какк в ексле.
ANG
Сообщения: 16
Зарегистрирован: 05 ноя 2006, 21:55

Дело в том, что таблица Excel используется только для расчета и из нее необходимо данные перекидывать не все скопом, а по ячейкам, а из некоторых ячеек по несколько раз. Задача заключается в том, чтобы документ Word выглядел нормально и после обновления связей, тем более, что обновление это будет проводиться неоднократно. Поэтому и прошу: подскажите пожалуйста код для нахождения связи и удаления перед нею Enter-а если такой вариант возможен.

На счет слияния: либо я не до конца разобрался, либо это несколько не то, что нужно.

Спасибо
Vikar
Сообщения: 51
Зарегистрирован: 24 апр 2007, 14:21

По моему слияние - наиболее удобный способ. В таблице Excel в первой строке надо поместить названия данных (загловки которые будут полями слияния), а под ними - значения или формулы для вычислений. Сами данные необходимые для вычислений могут располагаться ниже или на другом листе таблицы.
При составлении шаблона слияния в Worde открыть источник данных (таблицу Excel) и указать лист с данными. Затем в нужные места шаблона добавить поля слияния. Если данные в Excel изменятся, то при слиянии они так же изменятся и в конечном документе Word'а
ANG
Сообщения: 16
Зарегистрирован: 05 ноя 2006, 21:55

Да, действительно слияние использовать можно. Но у меня возникла следующая проблема: в Excel можно использовать только 256 столбцов до "IV", т. е. всего 256 полей. А данных у меня где-то 600. Как быть ?
Пробовал на разных листах распределить, но Word обращается только к одному указанному источнику данных, на остальных местах вместо значений "Ошибка! Поле MergeField не было найдено в заголовке источника данных."
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

А этот самый отчет в Excel'e нельзя реализовать? или это принципиально должно быть именно в Word?
It's a long way to the top if you wanna rock'n'roll
ANG
Сообщения: 16
Зарегистрирован: 05 ноя 2006, 21:55

Нет, только в WORD, к сожалению. Это болванка документа на 80-90 страниц и в зависимости от результатов расчетов немного изменяется.
Вернусь к началу: может кто знает как с помощью VBA найти связи в документе .doc ?
Vikar
Сообщения: 51
Зарегистрирован: 24 апр 2007, 14:21

Тогда в Excel копируешь нужную ячейку, переходишь в Word и выполняешь команду
Правка...Специальная вставка...Текст в формате RTF и активизировать переключатель "Связать". Можно вставить 256 х "число строк" (вобщем дофига) значений. Гораздо больше 600 :p
ANG
Сообщения: 16
Зарегистрирован: 05 ноя 2006, 21:55

Годится! (а ларчик просто открывался...)
Действительно, если в RTF, то после "Обновить связь" строчки не ламаются, а все как на слиянии.

Спасибо :D I'am happy
Ответить