![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вставка текста в MS Word через OleContainer [D7]
Михаил © (2014-02-28 10:50:00)Вот простой пример вставки текста в Документ Word:
procedure TForm1.Button1Click(Sender: TObject);
var
Doc: Variant;
begin
if not (OleContainer1.State = osRunning) then OleContainer1.Run;
Doc := OleContainer1.OleObject;
Doc.Range.Text := '123';
end;
При вызовеDoc.Range.Text := '123';сотрется весь документ и вставится только этот текст. Еще можно создавать параграфы, но тогда новый текст будет вставляться только с новой строки(параграфа).
Можно ли вставлять текст от каретки, по нажатию кнопки (подобно копировать\вставить)
Михаил (2014-02-28 12:15:00) [1]
> clickmaker © (28.02.14 11:56) [5]
О спасибо!
Как же я смотрел, что не мог нагуглить(
clickmaker (2014-02-28 11:56:00) [2]Doc.Application.Selection.Text ?
Михаил (2014-02-28 11:55:00) [3]
> sniknik © (28.02.14 11:33) [3]
вызов - Doc.Application.Run('Макрос1');
А без макроса можно?
Ну текст вообще нужно вставлять из переменной.
Можно конечно ее пихать в буфер, но это как то не удобно.
И я, так понимаю, макрос должен быть предварительно записан вручную на каждой машине? Как в таком случае распостранять EXE? C оговоркой, что запишите его сами?
sniknik (2014-02-28 11:33:00) [4]Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 28.02.2014 ws-131
'
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Михаил (2014-02-28 11:20:00) [5]
> clickmaker © (28.02.14 11:04) [1]
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleError with message 'Method 'Selection' not supported by automation object'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
clickmaker (2014-02-28 11:04:00) [6]Doc.Selection.Text ?