![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Товарищи ! подскажите как прочитать из Дэлфи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
|
|||
|
|||
|
ок , пасиба , ща попробую !
|