Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
НИКО
1 / 1 / 0
Регистрация: 20.12.2009
Сообщений: 36
Завершенные тесты: 1
#1

Просмотр Word документов - Delphi

23.05.2011, 16:26. Просмотров 1375. Ответов 4
Метки нет (Все метки)

Как просматривать word файлы(документы) на форме(к примеру в поле Memo)???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2011, 16:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Просмотр Word документов (Delphi):

Просмотр документов MS Word в программе на Delphi
Как сделать просмотр в delphi word документов??? скиньте исходники...

Просмотр Word документов, не используя TRichEdit
как промотреть word-документ(.doc) не используя TRichEdit т.е. без конвертации...

Просмотр документов Word без конвертации их в Rtf
нужен компонент типа TRichEdit для просмотра документов Word (doc) без...

OLE объект MS Word 2000: нет строки состояния, не доступны предварительный просмотр и печать с диалогом выбора принтера.
Создаю OLE - объект для MS Word, Отоброжаю его. Проблема: В контейнере нет...

Добавление документов
Как лучше сделать в Delphi, чтобы был список названий документов Word, при...

Интеграция документов в форму
Ребят, возможно ли сделать так, чтобы документ открывался внутри формы, то есть...

4
Edelweiz
6 / 6 / 2
Регистрация: 22.05.2011
Сообщений: 19
23.05.2011, 17:11 #2
Цитата Сообщение от НИКО Посмотреть сообщение
Как просматривать word файлы(документы) на форме(к примеру в поле Memo)???
Использование Com-интерфейс (OLE-автоматизацию).... Иными словами подключаемся к серверу автоматизации читаем документ и пишим в Memo.. Как раз по умолчанию он будет visible :=false

Примерно так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
      var
            Office: Variant; //Сам оле-активX-объект
            R : Variant; //Вордовский Range- секция документа
begin
      Office := CreateOleObject('Word.Application'); //Создадим объект
      Office.Documents.Open('C:\123.docx'); //Откроим нужный документ
      R:=Office.ActiveDocument.Range; //Пометим секцию (в данном случае весь объект)
      ShowMessage(R.Text); // Выведим сообщение
//Ну или в мемо пишим
//Memo1.Lines.Add(R.Text);
      Office.Quit; //Обязательно адекватно закроим документ, иначе инвизибл апликация Wordа будет висеть в памяти
end;
1
НИКО
1 / 1 / 0
Регистрация: 20.12.2009
Сообщений: 36
Завершенные тесты: 1
23.05.2011, 17:53  [ТС] #3
Цитата Сообщение от Edelweiz Посмотреть сообщение
ShowMessage(R.Text); // Выведим сообщение
//Ну или в мемо пишим
//Memo1.Lines.Add(R.Text);
Office.Quit; //Обязательно адекватно закроим документ, иначе инвизибл апликация Wordа будет висеть в памяти
end;[/DELPHI]
Текст появляется в отдельном окне ShowMessage, у этого окна как изменить название формы????
0
Edelweiz
6 / 6 / 2
Регистрация: 22.05.2011
Сообщений: 19
24.05.2011, 02:28 #4
Цитата Сообщение от НИКО Посмотреть сообщение
Текст появляется в отдельном окне ShowMessage, у этого окна как изменить название формы????
Я ShowMessage засунул только для примера, сами текстовые данные как вы уже поняли храняться в Ole-объектной переменной R, метод Text которой как раз и возвращает эти данные...

Но если же все же вариант метода ShowMessage вам понравился, то что бы более менее получить гибкость и минимальное управление диалоговым окном, то нужно использовать Api-Функцию
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button1Click(Sender: TObject);
    var
        str : AnsiString; //Т.к. параметр функции это указатель нульзавершающую строку
                              //То введем эту переменную
            Office: Variant; //Сам оле-активX-объект
            R : Variant; //Вордовский Range- секция документа
 
begin
      Office := CreateOleObject('Word.Application'); //Создадим объект
      Office.Documents.Open('C:\123.docx'); //Откроим нужный документ
      R:=Office.ActiveDocument.Range; //Пометим секцию (в данном случае весь объект)
      str := R.Text + #0;
      Office.Quit;
    MessageBox(Application.Handle,@str[1],'Название окошка',MB_OK);
end;
1
НИКО
1 / 1 / 0
Регистрация: 20.12.2009
Сообщений: 36
Завершенные тесты: 1
31.05.2011, 22:46  [ТС] #5
А как сделать так, что бы вместе с текстом просматривались и рисунки(картинки)?????
0
31.05.2011, 22:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 22:46
Привет! Вот еще темы с решениями:

Предварительный просмотр печати
Здравствуйте. Подскажите пожалуйста, как правильно организовать предварительный...

Просмотр дисков в TreeView
Как сделать просмотр дисков в виде дерева (TreeView)? Есть ли готовые...

Отображение документов EXСEL в приложении
Собственно как реализовать сабж ? Какие стандартные компаненты необходимо...

Загрузки документов и установки прог
Я какобычно думаю что мне "связывацца не предстоит", ога = ))) Можт кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru