
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.26] |
![]() |
|
Сообщ.
#1
,
|
|
|
Народ!!!
Пишу на Delphi программу которая по шаблону будит генерить страници в Word'е. Вроде все получаеться, мне осталось скопировать страницу и размножить ее(програмно естественно). Но я не могу выделить весь текст,что бы его потом скопировать. Сам вопрос: как выделить весь текст? |
Сообщ.
#2
,
|
|
|
![]() ![]() Var Word:Variant; begin Word:=CreateOleObject('Word.Application'); Word.Documents.Open('c:\myfile.doc',emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,1251); Word.Selection.WholeStory; Word.Visible:=true; end; |
![]() |
Сообщ.
#3
,
|
|
![]() ![]() unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; W: Variant; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin W := CreateOleObject('Word.Application'); W.Documents.Open(FileName := 'c:\tmp.doc', ReadOnly:=False); W.Visible := True; W.ActiveDocument.Range(Start := 10, End := 40).Select; end; procedure TForm1.FormDestroy(Sender: TObject); begin W.Quit(SaveChanges:=True); end; end. |
Сообщ.
#4
,
|
|
|
Посибки
![]() |
![]() |
|
|
Извините, а как скопировать, допустим, с третьей по шестую строку текста, содержащего 10 строк и вставить скопированный текст после десятой строки?
Спасибо заранее. |
![]() |
Сообщ.
#6
,
|
|
Цитата Shaden @ Извините, а как скопировать, допустим, с третьей по шестую строку текста, содержащего 10 строк и вставить скопированный текст после десятой строки? ![]() ![]() const wdGoToLine=3; wdGoToAbsolute=1; wdLine = 5; wdExtend=1; wdGoToLast=-1; var W,Sel: Variant; procedure TForm1.Button1Click(Sender: TObject); begin W := CreateOleObject('Word.Application'); W.Documents.Open(FileName := 'c:\tmp.doc', ReadOnly:=False); W.Visible := True; Sel:=W.Selection; Sel.GoTo(What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=3); Sel.MoveDown(Unit:=wdLine, Count:=3, Extend:=wdExtend); Sel.Copy; Sel.GoTo(What:=wdGoToLine, Which:=wdGoToLast); Sel.EndKey( Unit:=wdLine); Sel.TypeParagraph; Sel.Paste; Sel:=Unassigned; end; |
Сообщ.
#7
,
|
|
|
А можно ли выделить весь текст БЕЗ открытия
Ворда и отобразить все это, скажем, в Мемо? |
Сообщ.
#8
,
|
|
|
Открывать-то придется, но если его не делать видимым, то никто ничего и не узнает
![]() ![]() ![]() var Word: variant; begin Word := CreateOleObject('Word.Application'); Word.Documents.Open('C:\666.doc'); Word.Selection.WholeStory; Word.Selection.Copy; Memo.PasteFromClipboard; Word.Quit; Word := Unassigned; end; Вообще-то узнает, так как будет задержка на открытие документа |
Сообщ.
#9
,
|
|
|
yurant
можно так ![]() ![]() var word:variant; begin Word := CreateOleObject('Word.Application'); Word.Documents.Open('C:\333.doc'); RichEdit1.Text := word.ActiveDocument.Range.Text; word.Quit; это без буфера обмена... |
Сообщ.
#10
,
|
|
|
Здравствуйте. Вопрос таков - в документе порядка 100 страниц, на каждой странице есть информация о человеке, эта информация - переменная величина (для каждого человека), так вот как выделить эти строки (информацию о человеке)
|
Сообщ.
#11
,
|
|
|
Имхо лучше всего делать вот так:
Берем весь текст из ворда и пихаем его к примеру в RichEdit Цитата dron-s @ yurant можно так ![]() ![]() var word:variant; begin Word := CreateOleObject('Word.Application'); Word.Documents.Open('C:\333.doc'); RichEdit1.Text := word.ActiveDocument.Range.Text; word.Quit; а потом парсим текст в этом RichEdit`е с помощью Pos, PosEx и иже с ними Сообщения были разделены в тему "Вставка текста в середину страницы. Word" |
Сообщ.
#12
,
|
|
|
Добрый вечер. Подскажите пожалуйста. Для удобства решил написать программу, но не получается.
Идея в следующем. Открыт какойто текст в Word. При прочтении текста появляется необходимость у некоторых слов изменить заливку (именно заливку, а не цвет букв). Хочется чтобы было так: читаю книгу в WORD, выделяю мышкой текст в Wordе (удерживая определенную клавишу), отпускаю мышку и заливка текста меняется. Нашел в иннете что заливка текста меняется функцией WordTextBox.Fill, но чтото не работает, может нужно подключить какойто модуль в раздел uses Ну хотябы пока научится по нажатию кнопки менять заливку выделенного слова в книге? |