Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MSWord Cell.Split [D7, WinXP]


VirEx ©   (2008-02-20 12:12:00) 

Есть шаблон с таблицами.
_________________________________________
|  Заголовок 1 |   Заголовок 2 |   Заголовок3    |
|_________________________________________|
|[param1.value]|[param2.value]| [param3.value]  |
|_________________________________________|

Допустим [param2.value] заменяется на 'text2'.
Если это значение многострочное, то в таблице его нужно разбить на строки.
Разбиваю: cell.Split(cell.Range.Paragraphs.Count, 1);
При этом текст находится только в первой строке ячейки.

Внимание вопрос: как распределить текст в строки разбитой ячейки?

cell.Range.Cut;
cell.Range.PasteAndFormat(wdTableInsertAsRows); <-- не работает
через WordApplication.Selection.PasteAndFormat( тоже не работает
обратиться к строкам разбитой ячейки не удается

Всё уже перепробовал. И в макросах подсматривал, и гуглил - нет результата. Притом в макросах такой метод работает а здесь ... :(


VirEx   (2008-02-20 14:33:00) [1]

есть решение, правда не ахти какое:

var
 tmp:TStrings;
...
//разбиваем-с
cell.Split(cell.Range.Paragraphs.Count, 1);
cell.Select;
tmp.Text := trim(Cell.Range);

for z := 0 to tmp.Count - 1 do begin
 WordApplication.Selection.Range := trim(tmp[z]);
 //переходим к концу строки
 WordApplication.Selection.MoveEnd(wdParagraph, 1);
 //переходим в след. ячейку
 WordApplication.Selection.MoveDown(wdLine, 1, wdMove);
end;


VirEx   (2008-02-20 14:11:00) [2]

up

неужели никто не разбивал ячейку с многострочным текстом и не рассовывал по новым строкам разбитой ячейки эти строки?


Наверх

Титульная страница Поиск, карта сайта Написать письмо