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


Автор: Vorona 3.1.2005, 18:24
Вся суть вопроса вместилась в название темы smile

Автор: Pakshin A. S. 3.1.2005, 19:00
ПРОСТО! smile
Код

var
Word: Variant;
begin
try
  Word := CreateOleObject('Word.Application');
  Word.Visible := False;
  Word.Visible := True;
finally
  Word := Unassigned;
  Word := nil;
end;
end;

Вроде так... smile Можно и добавить документ...

Код

var
Word, Document: Variant;
begin
try
  Word := CreateOleObject('Word.Application');
  Word.Visible := False;
  Document := Word.Documents.Add;
  Word.Visible := True;
finally
  Word := Unassigned;
  Word := nil;
end;
end;

Добавлено @ 19:02
Добавть в uses:
ComObj, ActiveX

Автор: NiJazz 3.1.2005, 21:01
Зачем так сложно?
Код

WinExec('winword', 0);

Автор: Vorona 3.1.2005, 21:27
NiJazz

Написала, ничего не происходит smile


Pakshin A. S.

Пишет:
Код

Word := nil;
- Incompatible types: 'Variant' and 'Pointer'
Это какая-то переменная? Что ты имеешь в виду?

Автор: Satana 3.1.2005, 22:02
Цитата
NiJazz

Написала, ничего не происходит smile


Pakshin A. S.

Пишет:
Код

Word := nil;
- Incompatible types: 'Variant' and 'Pointer'
Это какая-то переменная? Что ты имеешь в виду?

тогда попробуй просто 0 туда поставить должно все пахать, в этом участке он освобождает память от созданного объекта

Автор: Pakshin A. S. 3.1.2005, 22:19
Попробуй null...
Код

Word := null;

И еще:
добавь модуль variants

Автор: Vorona 3.1.2005, 22:56
Спасибо всем, все отлично работает!!!! smile smile

Автор: Pakshin A. S. 3.1.2005, 23:24
Цитата(NiJazz @ 3.1.2005, 22:01)
Зачем так сложно?

Чтобы можно было открывать пустой Word, с новым документом, с открытым документом, со сгенерированным документом, без его сохранения на диск. и т. п...


Люба Не за что... smile

Автор: Vorona 4.1.2005, 20:09
Pakshin A. S.
А что, можно еще и с сохранением? Как? Было бы здорово еще и сохранять этот документ в заранее определенном месте на диске под заранее определенным именем!! smile

Автор: Pakshin A. S. 4.1.2005, 20:29
А черт его занет... не могу сказать... smile

Автор: Jey_k 4.1.2005, 21:04
Цитата
А что, можно еще и с сохранением? Как? Было бы здорово еще и сохранять этот документ в заранее определенном месте на диске под заранее определенным именем!!


В этом случае
Код
Word, Document: Variant;
begin
try
  Word := CreateOleObject('Word.Application');
  Word.Visible := False;
  Document := Word.Documents.Add;
  Word.Visible := True;
finally
  Word := Unassigned;
  Word := nil;
end;
end;


так
Код

Document.SaveAs(путь);





Автор: Vorona 5.1.2005, 00:43
Jey_k

Большое спасибо, все работает!! smile

Автор: Vorona 5.1.2005, 14:30
Jey_k

А если надо сохранять как Web-страницу? Через SaveAs она выходит не пустая, а с какими-то значками....
А можно еще по кнопке открывать сущствующий файл и как? У меня не вышло smile

Автор: <Spawn> 5.1.2005, 14:49
Цитата
Jey_k

А если надо сохранять как Web-страницу? Через SaveAs она выходит не пустая, а с какими-то значками....
А можно еще по кнопке открывать сущствующий файл и как? У меня не вышло smile

Открыть существующий файл можно методом Open:

Код

 Word.Open('FileName');


Сохранить в HTML:

Код

   Word.SaveAs('FileName', wdFormatHTML); //wdFormatHTML лежит в WordXP.pas

Добавлено @ 14:51
Модератор: Пожалуйста, один топик - один вопрос.

И вообще этой теме место в ActiveX\Com\Corba

Автор: Vorona 5.1.2005, 16:30
<Spawn>

выдает ошибку на
Код

Word.Open('FileName');

Говорит, что нет такого метода. Может я его не там пишу? Где в этом коде нужно написать эту строчку?

Код


Word, Document: Variant;
begin
try
 Word := CreateOleObject('Word.Application');
 Word.Visible := False;
 Document := Word.Documents.Add;
 Word.Visible := True;
finally
 Word := Unassigned;
 Word := nil;
end;
end;


Про SaveAs пишет тоже самое, что нет такого метода


Модератор: Постараюсь больше так не делать

Автор: <Spawn> 5.1.2005, 20:09
Люба Попробуй для открытия
Код

Word.Documents.Open();


а для сохранения

Код

Document.SaveAs();

Автор: Vorona 5.1.2005, 21:08
<Spawn>

Супер! Open отлично работает, спасибо! smile

Сохранение работает, но оно не сохраняет документ как веб-страницу, точнее сохраняет, но она с какими-то левыми значками в итоге выходит smile

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