Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с таблицами MS Word. Извлечь ячейку таблицы. 
:(
    Опции темы
slnes
Дата 4.12.2009, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Имеем таблице 5 * n
Как извлечь 2 столбец и перенести его в новый документ, в новом документе каждая ячейка будет в отдельной строке?



PM MAIL   Вверх
ViterAlex
Дата 4.12.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Код
Sub test()
  Dim oRng As Range
  'Задаём диапазон от начала первой ячейки второго столбца первой таблицы до последней ячейки второго столбца
  Set oRng = ActiveDocument.Range(ActiveDocument.Tables(1).Columns(2).Cells(1).Range.Start, _
    ActiveDocument.Tables(1).Columns(2).Cells(ActiveDocument.Tables(1).Columns(2).Cells.Count).Range.End)
  Dim newdoc As New Document
  oRng.Copy
  newdoc.Range.Paste
End Sub

PM MAIL WWW ICQ   Вверх
slnes
Дата 18.12.2009, 05:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Спасибо, 
Одно усовершенствование, теперь нужно вставить текст извлеченный из таблицы в шаблон.
Например:

Участник: ФИО
Что нибудь состоится когда нибудь.
Количество приглашений = количеству строк, ФИО менять в каждом приглашении (брать из второго столбца таблицы).

???Как извлечь например из массива 1,2 и тд ФИО для вставки в шаблон? (может это  плохая идея, посоветуйте получше)

PM MAIL   Вверх
ViterAlex
Дата 18.12.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Это плохая идея. Для этого нужно использовать слияние.
PM MAIL WWW ICQ   Вверх
slnes
Дата 22.12.2009, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Цитата(ViterAlex @ 18.12.2009,  10:37)
Это плохая идея. Для этого нужно использовать слияние.

Подробне пожалуйста, что за слияние? как сделать?
PM MAIL   Вверх
ViterAlex
Дата 22.12.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



К сожалению, не видя файла Excel я не могу сказать точно, но в общем случае слияние работает так:
  1. Создаётся файл Excel. Простая таблица, первая строка содержит заголовки полей. Каждая последующая строка — запись.
  2. В документе нужно выбрать «Сервис»→«Письма и рассылки»→«Слияние…». Появится боковая панель «Слияние».
  3. Дальше нужно выбрать таблицу Excel, которую будем использовать в качестве источника данных, Word сам определит названия полей и записи в таблице.
  4. В нужные места документа вставить идентификаторы полей и завершить слияние распечатав документ либо отправив по почте. Адреса тоже можно брать из таблицы, если они там есть.
  5. Можно выбрать какие записи таблицы выводить, на основе чего делать слияние и прочее. Там всё достаточно доступно расписано.
Если Word 2007, то все необходимые инструменты расположены на вкладке «Рассылки». 
Вся проблема только в таблице, из которой можно брать данные. Я не знаю, сможет ли Word разобрать твою конкретную таблицу, как источник данных
Смотри пример

Это сообщение отредактировал(а) ViterAlex - 22.12.2009, 09:38

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ______________.rar 17,51 Kb
PM MAIL WWW ICQ   Вверх
slnes
Дата 23.12.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



В примере в Word вставляется только ФИО №1,
Хотелось бы доставать данные из Word, Word не дал возможность выбрать источник данных - таблица в Word.
Скажите как из oRing извлечь n-ю ФИО?


Это сообщение отредактировал(а) slnes - 23.12.2009, 10:38
PM MAIL   Вверх
ViterAlex
Дата 23.12.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



В примере вставляется всё, что нужно. Просто показывает по одному, а не все сразу.
Дай пример документа с исходными данными и пример того, что нужно получить.
PM MAIL WWW ICQ   Вверх
slnes
Дата 23.12.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Исходный файл: список.
Результат в файле: приглашения (меняется фамилия остальное остается)

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  p.rar 11,18 Kb
PM MAIL   Вверх
ViterAlex
Дата 23.12.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Ну! Остался один шаг. Таблицу из Word копируем и вставляем в Excel. Сохраняем, делаем слияние и отсылаем или печатаем. Дела на 2 минуты. Результат в приложенном pdf. Четыре страницы с персональным обращением к каждому из списка. Ну и списочек составил excel'евский. Всё это заняло меньше минуты.
Я поздравления уже отправилsmile

А если в табличку ещё  добавить поле, указывающее пол адресата, то можно будет избавиться от Уважаемый (-ая), а подставлять правильный род.

Что непонятно — пиши. Сделаем.
В какой версии офиса работаешь?


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  mergeexample.rar 30,86 Kb
PM MAIL WWW ICQ   Вверх
slnes
Дата 24.12.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



 Делаю в 2007, пользоваться буду в 2003
спасибо, со слиянием разобрался.
Как то же самое сделать програмно, нажимаешь кнопочку в Exel, открывается новый файл ворд и заполняются прогласительные.


Это сообщение отредактировал(а) slnes - 24.12.2009, 13:30
PM MAIL   Вверх
ViterAlex
Дата 24.12.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Тоже не сложно. Насколько глубоко ты знаком с программированием на VBA?
PM MAIL WWW ICQ   Вверх
slnes
Дата 25.12.2009, 04:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Цитата(ViterAlex @  24.12.2009,  21:54 Найти цитируемый пост)
Тоже не сложно. Насколько глубоко ты знаком с программированием на VBA? 

Сделать кнопку при нажатии которой выполняется процедура смогу, с операторами, объектами и методами сложнее.
PM MAIL   Вверх
ViterAlex
Дата 25.12.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Что ж, сделать можно, но это уже за плату. Полдня уйдёт на отладку. Если хочешь, пиши в личку, договоримся. 
PM MAIL WWW ICQ   Вверх
slnes
Дата 28.12.2009, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005

Репутация: нет
Всего: нет



Может есть бесплатный пример

Это исходный файл в MS Excel
№ п/п Фамилия Имя Отчество Должность Организация
1 Малахов Андрей Иванович Директор ООО «Центр»
2 Сидоркина Нина Михайловна Главный Бухгалтер ООО «Центр»
3 Козликов Николай Андреевич Генеральный директор ООО «Сапфир»
4 Мартемьянов Игорь Александрович Главный инженер ООО «Сапфир» 
 
Хочу нажав там кнопку получить то что ниже, хотельсь бы в word, но и Excel подойдет
 
Уважаемый(-ая) Малахов Андрей Иванович
Приглашаем вас на празднование нового года, которое состоится н часов в н-ске.
-----------------------------------------------------------------------------
Уважаемый(-ая) Сидоркина Нина Михайловна
Приглашаем вас на празднование нового года, которое состоится н часов в н-ске.
-------------------------------------------------------------------------------
Уважаемый(-ая) Козликов Николай Андреевич
Приглашаем вас на празднование нового года, которое состоится н часов в н-ске.
----------------------------------------------------------------------------
Уважаемый(-ая) Мартемьянов Игорь Александрович
Приглашаем вас на празднование нового года, которое состоится н часов в н-ске.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0937 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.