Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Вставить из ClipBoard в Word-таблицу


Автор: swetik1981 9.12.2012, 23:48
Имеется заранее созданная таблица в документе Word, с отформатированными нужным образом стобцами, подобранными размерами, типами и цветом шрифтов в каждои из столбцов и т.д.
Из таблицы другого приложения (скажем, MSFlexGrid или Datagrid) периодически копируются изменяемые табличные данные и вставляются в эту вордовскую таблицу. Но при этом в таблице меняется форматирование, то есть ранее выставленные форматы текста теряются.
Есть ли возможность вставить таблицу из буфера в заготовленную таблицу Word так, чтобы вставляемые данные (текст) приняли форматирование то, которые до этого были в соответствующих ячейках таблицы?

Автор: skyboy 10.12.2012, 00:18
в буфер обмена копируемое попадает в нескольких форматах — в случае с таблицами это, как минимум, "только текст", "HTML" и что-то еще.
советую начать с выяснения, в каких форматах копирует данные в буфер эта твоя сторонняя программа. потом может оказаться, что удалить все форматы кроме HTML(чтоб форсировать именно его использование Экселем) будет рациональнее. это предположение smile

Автор: swetik1981 10.12.2012, 06:47
Цитата(skyboy @ 10.12.2012,  00:18)
в буфер обмена копируемое попадает в нескольких форматах — в случае с таблицами это, как минимум, "только текст", "HTML" и что-то еще.
советую начать с выяснения, в каких форматах копирует данные в буфер эта твоя сторонняя программа. потом может оказаться, что удалить все форматы кроме HTML(чтоб форсировать именно его использование Экселем) будет рациональнее. это предположение smile

В том-то и дело, что из любой сетки данные копируются в виде разделённого специальными разделителями текста, не имея при этом никакого форматирования; а вордовскую таблицу вставляются данные с формативрованием "по умолчанию", т.е. не тем, которое существует в таблице, а тем, которое в ней существовало сразу после создания новой таблицы до применения мною к ней форматирования. Как это обойти? 


Автор: Akina 10.12.2012, 08:36
Сливать данные из клипборда в программный буфер, там парсить и раскладывать по местам.
Либо наоборот - после вставки данных проходить по ячейкам таблицы и применять к ним заранее созданные стили.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)