|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Товарищи подскажите ! Delphi Word !!!
Товарищи ! подскажите как прочитать из Дэлфи7 документ Word , и скопировать только текст , например в мemo ?
И еще одно , как найти в тексте вордовского документа , количество нужного слова . например мне нужно найти сколько раз в документе повторяеться слово "яблоко" или т.п. заранее огромное благодарен за ответы ! |
#2
|
|||
|
|||
Код:
function MyReadFile(f:string):string; var Streaml: TStream; s:string; begin try streaml := TFileStream.Create(f, fmOpenRead); SetLength(s,Streaml.Size); Streaml.ReadBuffer(s[1], Streaml.Size); finally Streaml.Free; end; result:=s; end; f - путь к файлу для нахождения нужного слова используй стандалртную функцию PosEx Последний раз редактировалось ViLkiN, 08.02.2008 в 16:50. |
#3
|
|||
|
|||
БЛАГОДАРЮ ЗА ОТВЕТ. Только таким методом читаються только текстовые файлы , вы не подскажете как можно прочитать
документ Word . |
#4
|
|||
|
|||
Тебе из какого документа? При открытом Word? Или просто из файла?
|
#5
|
|||
|
|||
Цитата:
Конечно лучше просто из файла Word ! не открывая приложение . |
#6
|
|||
|
|||
Надо работать через Ole-объекты.
На новую форму кидаешь кнопку и мемо, затем пишешь код: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, clipbrd, OleServer, Word2000; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var WordApp,SaveChs,L,E:OLEVariant; begin WordApp := CreateOleObject('Word.Application'); //создаем ole-объект Word WordApp.Documents.Open('d:\test.doc'); //открываем документ WordApp.Visible:=false; //делаем ворд невидимым E:=wdExtend; L:=wdStory; WordApp.Selection.EndKey(L,E); //выделяем текст Clipboard.asText:=WordApp.Selection.Text; //копируем в буфер обмена Memo1.text:=Clipboard.asText; //помещаем текст в мемо WordApp.ActiveDocument.Close; закрываем документ end; end. |
#7
|
|||
|
|||
ок , пасиба , ща попробую !
|