![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В качестве переменной используется содержимое ячейки таблицы ворд:
Код:
date2:=Tbl.Cell(j, 3).Range.Text; Код:
ran2:=MSWord.ActiveDocument.Bookmarks.item('ФиналДата').range;
ran2.insertafter(date2);Проблемма в том, что в date2 после содержимого ячейки появляется знак перехода на новую строку (абзац) и строка с закладкой после выполнения команды разбивается на две. Как избавиться от этого знака? |
|
#2
|
||||
|
||||
|
Вырежи его из полученной строки и всего делов.
|
|
#3
|
||||
|
||||
|
попробуй так
Код:
ran2.insertafter(TrimRight(date2)); |
|
#4
|
|||
|
|||
|
Цитата:
Попробовал. Получилось. Спасибо. И еще два вопроса: 1. При выполнении команды вставки текста на закладке несколько раз - появляется соответствующее число вставок. Как стереть предыдущую вставку перед вставкой новой? В моих экспериментах стирается знак закладки, которым выставлен на пробеле, что не есть хорошо. 2. Как одной командой очистить содержимое ячейки в таблице, где содержится переменное число знаков? Заранее благодарю. |
|
#5
|
||||
|
||||
|
на второй вопрос такой ответ
Код:
MSWord.ActiveDocument.tables.item(2).cell(2,2).range.delete; а с первым вопросом покажи, что ты делаешь |
|
#6
|
|||
|
|||
|
Цитата:
Экспериментирую, примерно, в таком плане: Код:
ran1.insertafter(TrimRight(date1));
ran1.delete(1,4);
ran1.insertafter(TrimRight(date1));Последний раз редактировалось cadil, 16.07.2009 в 09:48. |
|
#7
|
||||
|
||||
|
У тебя есть закладка "ФиналДата1" жамкни два раза пробел и добавь еще одну закладку "ФиналДата2".
Код:
var
MSWord:OLEvariant;
begin
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := True;
MSWord.Documents.Open(ExtractFilePath(ParamStr(0))+'2.doc');
try
MSWord.Activate;
try
MSWord.Selection.GoTo(-1, unAssigned, unAssigned, 'ФиналДата1');
MSWord.Selection.Extend;
MSWord.Selection.GoTo(-1, unAssigned, unAssigned, 'ФиналДата2');
MSWord.Selection.MoveLeft(1, 1);
MSWord.Selection.text:='888'; //твой текст
except
ShowMessage('Ошибка при поиске не нашлось нужной.....');
end;
except
ShowMessage('Ошибки при активации документа!');
end;
end;Последний раз редактировалось pesi, 17.07.2009 в 09:45. |