Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Загрузка Word в делфи


Автор: Norfonzor 21.4.2010, 16:30
необходимо загрузить в форму  делфи документ word 97-2007 для его просмотра. (чтобы было с картинками, с таблицами со всем)
Редактирование пока не понадобится.

Выложите пожалуйста пример такой программы. Думаю по коду попробую сам разобраться. 
Перерыл весь инет, столько разной информации и ничего не понятно/не работает.

по статьям:

http://www.codenet.ru/progr/delphi/stat/Word.php
при добавлении Project, Import Type Library, Add -> msword12.olb при компиляции вылазит ошибка в word_tlb и все

здесь
http://forum.vingrad.ru/forum/topic-84634.html

при открытии ошибка вылазит и все

OleContainer
http://forum.vingrad.ru/faq/topic-156847/unread-1.html

в uses вставляется а что делать дальше???


http://forum.vingrad.ru/forum/topic-144492.html
выдает ошибку на IWordApplication;

ПОМОГИТЕ!!!!!!

Автор: Norfonzor 22.4.2010, 07:17
скиньте кто-нибудь мне ,Office_Tlb, word_tlb; (11 или 12)

Автор: Albinos_x 22.4.2010, 10:20
Цитата(Norfonzor @  21.4.2010,  16:30 Найти цитируемый пост)
здесь
http://forum.vingrad.ru/forum/topic-84634.html

при открытии ошибка вылазит и все

какой оффис стоит на компе? и какая ошибка вылазиет?

Добавлено через 2 минуты и 29 секунд
Цитата(Norfonzor @  21.4.2010,  16:30 Найти цитируемый пост)
OleContainer
http://forum.vingrad.ru/faq/topic-156847/unread-1.html

в uses вставляется а что делать дальше???

OleContainer  - это стандартный компанент Delphi, когда его вставишь, модульавтоматически вставится в uses, пример кода по загрузке документа в него по указанной тобой ссылке

Автор: Norfonzor 22.4.2010, 11:09
тестировал на 2х разных машинах, офис 2007 им 2003, ошибка однообразная:
фотка: http://pixs.ru/showimage/WWJPG_6066473_601246.jpg

Автор: Albinos_x 25.4.2010, 14:59
версия делфи какая, потому что у меня таких модулей нет (delphi 7)?

Автор: Norfonzor 25.4.2010, 16:57
user posted image

Автор: Albinos_x 26.4.2010, 09:19
все понял... это импортированная тобой библиотека.... по ней ничего сказать не могу... можешь попробовать повторить импорт, может решит проблему...
предлагаю использовать 3-й вариант из перечисленных тобой... как наиболее простой...
если все же хочешь его открывать, то можешь использовать статью из 2-го варианта...

Автор: Norfonzor 3.5.2010, 18:36
Albinos_x, можешь дать пример программы?

Автор: Albinos_x 4.5.2010, 13:10
по второму или третьему варианту?

Автор: Norfonzor 11.5.2010, 20:10
Вордовский документ должен открываться в МОЕЙ программе и отображаться в таком же виде в каком он делает это в ворде. (с форматированием с картинками с объектами) OLE это позволяет? нужен пример такой программы, мне будет легче по нему разобраться.

если использовать информацию статьи http://www.codenet.ru/progr/delphi/stat/Word.php документы ведь будут отображаться в форме делфи?
Если да, то только у меня ошибка вылазит при компиляции word_tlb ? мб у меня делфи кривой или чего в нем не хватает ???
ссылка на созданую моим делфи библиотеку: http://depositfiles.com/files/yomfagdtl 
ошибка: 
user posted image
( http://pixs.ru/showimage/WWJPG_6066473_601246.jpg )


Автор: Norfonzor 12.5.2010, 18:47
Мне посоветовали конвертировать Word в веб-страницу (в формате .mht) мб кто-нибудь знает как это сделать программно?

Автор: Albinos_x 13.5.2010, 16:54
а зачем программно делать, сконвертируй какой-нибудь программой, если не ошибаюсь, можно даже 2007 вордом... и открывай в браузере...

Автор: Данкинг 13.5.2010, 17:26
Цитата(Norfonzor @  12.5.2010,  19:47 Найти цитируемый пост)
Мне посоветовали конвертировать Word в веб-страницу (в формате .mht)

А в PDF не логичней? smile 

Автор: Norfonzor 14.5.2010, 06:43
Мне необходимо сделать чтобы пользователь ткнул пальцем на MS Office и все работало.
Отрыл код для конвента в .mht усе работает прекрасно и быстро без глюков.
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComObj, ActiveX, WordXP;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  WordApp: OleVariant;
begin

WordApp:=CreateOleObject('Word.Application');
  try
WordApp.Visible:=False;
WordApp.DisplayAlerts:=False;

WordApp.Documents.Open('C:\123.doc', ReadOnly:=True);
WordApp.ActiveDocument.SaveAs('C:\123.mht', wdFormatWebArchive);
  finally
WordApp.Quit;
WordApp:=Unassigned;
  end;

end;


end.


и открываю в браузере
Код

WB.Navigate(z);


user posted image

Автор: Albinos_x 14.5.2010, 09:13
Цитата(Norfonzor @  14.5.2010,  06:43 Найти цитируемый пост)
Мне необходимо сделать чтобы пользователь ткнул пальцем на MS Office и все работало.

в смысле, ткнул в твою кнопку MS Office и он открывался для редактирования?
ты писал, что вроде редактирование не требуется...

Автор: Norfonzor 15.5.2010, 10:33
Редактирование не требуется, но если потребуется то существует такая возможность. Также WB позволяет обходить отсутствие MS Office на ПК где происходит просмотр файлов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)