Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2013, 23:33   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Таблицы из *.doc в Trichedit

Здравствуйте, у меня появился такой вопрос: возможно ли импортировать данные из файлов ворд в ричедит? Вопрос не такой легкий, так как такст импортируется в любом случае, а мне нужно импортировать все, что есть в документе: картинки и таблицы. Допустим возможно ли как-нибудь перебрать циклом весь файл ворд, и все какие есть картинки отобразить допустим в timage, текст в ричедит, а таблицы тоже в ричедит?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 17.10.2013, 09:13   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

TMemo попробуйте, только не могу точно сказать можно ли это всё туда засунуть...
Dozent вне форума Ответить с цитированием
Старый 17.10.2013, 09:32   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
возможно ли как-нибудь перебрать циклом весь файл ворд
Угу, открывая как OLE-объект и используя его методы
Цитата:
все какие есть картинки отобразить допустим в timage, текст в ричедит, а таблицы тоже в ричедит
Нужен более продвинутый чем RichEdit. Типа RichView или RxRichEdit, они и картинки позволяют отображать
Цитата:
TMemo попробуйте
Вообще не при делах - только текст, да и то не форматированный

ADD Если WORD-документ преобразовать в rtf-формат, то загрузить можно в рич одним методом LoadFromFile
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.10.2013 в 09:44.
Аватар вне форума Ответить с цитированием
Старый 19.10.2013, 18:56   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

прочитал про rxrichedit почти у всех проблемы с загрузкой картинок, даже у нас на форуме, и если не ошибаюсь, то компонент идет в сборке с rxlib, а как открыть doc/docx как OLE -файл? И еще, раз тема так или иначе относится к ППП, то может быть знаете, возможно ли средствами делфи 7 lite найти на пк ms office power point, и запустить презентацию через повер поинт,но без возможности редактирования? Поиск организовывать только через реестр? По-другому нельзя никак найти?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.10.2013, 21:12   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

скачал компонент и установил. Пытаюсь загрузить файл таким образом
Код:
RxRichEdit1.Lines.LoadFromFile('C:\Users\Алексей\Desktop\реферат.doc');
рхричедит выдает какие-то иероглифы. в чем может быть дело? Файл сохранен в MS OFFICE 2010
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.10.2013, 22:40   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
рхричедит выдает какие-то иероглифы. в чем может быть дело?
Цитата:
Если WORD-документ преобразовать в rtf-формат, то загрузить можно в рич одним методом LoadFromFile
rtf-формат о чем-то говорит?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.10.2013, 22:45   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 oWord: OleVariant;
 oDoc: OleVariant;
begin
if Form1.OpenDialog1.Execute then begin
 Caption := ExtractFileName(Form1.OpenDialog1.FileName);
 If Copy(Form1.OpenDialog1.FileName, Length(Form1.OpenDialog1.FileName)-2, 3)='doc' then begin
   try
   oWord := GetActiveOleObject('Word.Application');
 except
   oWord := CreateOleObject('Word.Application');
 end;
 oWord.Documents.Open(Form1.OpenDialog1.FileName);
 oDoc  := oWord.ActiveDocument;
 Form1.OpenDialog1.FileName := ChangeFileExt(Form1.OpenDialog1.FileName, '.rtf');
 oDoc.SaveAs(OpenDialog1.FileName, wdFormatRTF);
 oWord.ActiveDocument.Close(0, EmptyParam, EmptyParam);
 oWord.Quit(EmptyParam, EmptyParam, EmptyParam);
 oDoc := VarNull;
 oWord := VarNull;
   end;
 with Form1.RichEdit1 do
 begin
   Lines.LoadFromFile(Form1.OpenDialog1.FileName);
   SelStart := 0;
   Modified := False;
 end;
end;
end;
Нагуглил код, ругается на строку

Код:
 oDoc.SaveAs(OpenDialog1.FileName, wdFormatRTF);
вот что пишет компилятор:
Цитата:
[Error] Unit1.pas(44): Undeclared identifier: 'wdFormatRTF'
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.10.2013, 22:49   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Попробуйте константу добавить
Код:
const wdFormatRTF = $00000006;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.10.2013, 22:59   #9
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

добавил, компиляция программы прошла без проблем, но при вызове данного обработчика события возникает ошибка, которая на скрине
Изображения
Тип файла: jpg 19-10-2013 22-55-20.jpg (14.0 Кб, 46 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.10.2013, 23:03   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Офис точно установлен?
2. Ошибка есть, когда не из под дельфи прога вызывается?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблицы из Word (doc) в (txt) shadowbeast Microsoft Office Word 33 13.07.2015 00:26
Создание таблицы xls из множества файлов doc. Master_shmell Помощь студентам 0 04.06.2013 21:50
Использовани компонента TRichEdit. Использовать компонент TRichEdit. Лелич Компоненты Delphi 4 05.03.2011 18:25
TRichEdit DeCoder Компоненты Delphi 7 15.05.2008 14:44
При открытие в OpenDialog .doc-вский файл должен отображаться в RichEdit. doc to rtf Lemon Компоненты Delphi 9 07.06.2007 19:19