Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.05.2012, 23:33
alex_rR alex_rR вне форума
Прохожий
 
Регистрация: 09.04.2012
Сообщения: 26
Репутация: 156
По умолчанию Создание ворд документа из-под Delphi :)

Вот, что я делаю. Выдает ошибку на последней строчке где save.
Код:
procedure TfrmMDIParent.N11Click(Sender: TObject);
var
  MSWord: Variant;
  ext: String;
begin

with SaveDialog do
  if Execute then
      ext:=SaveDialog.FileName;

  try
    MsWord := GetActiveOleObject('Word.Application');
  except
    try
      MsWord := CreateOleObject('Word.Application');
      MsWord.Visible := True;
    except
      Exception.Create('Error');
    end;
  end;
  MSWord.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
  //MSWord.ActiveDocument.Save(ext+'.doc');
end;
Ответить с цитированием
  #2  
Старый 20.05.2012, 05:08
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

А у меня проще
Код:
procedure TForm1.OpenWordClick(Sender: TObject);
var
  NameWordDoc: OleVariant;
begin
  if SaveDialog.Execute then
    NameWordDoc := SaveDialog.FileName + '.doc';
  if NameWordDoc <> '' then
    begin
      WordApp.Connect;
      WordApp.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
      WordDoc.ConnectTo(WordApp.ActiveDocument);
      WordDoc.SaveAs(NameWordDoc);
      WordApp.Visible := True;
      WordApp.Disconnect;
    end;
end;

P.S.: компоненты WordApp (WordApplication), WordDoc (WordDocument) с закладки Servers
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Этот пользователь сказал Спасибо Kailon за это полезное сообщение:
alex_rR (20.05.2012)
  #3  
Старый 20.05.2012, 08:55
alex_rR alex_rR вне форума
Прохожий
 
Регистрация: 09.04.2012
Сообщения: 26
Репутация: 156
По умолчанию

Если делать так
Код:
WordApp.Visible := True;
то не работает, а желательно чтоб открывалось окно ворда.
Если false то сохраняет без зависания и проблем, а при попытке открыть документ ругается, но все равно открывает.

Последний раз редактировалось alex_rR, 20.05.2012 в 09:31.
Ответить с цитированием
  #4  
Старый 20.05.2012, 10:42
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

На что ругается при открытии?
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #5  
Старый 20.05.2012, 11:23
alex_rR alex_rR вне форума
Прохожий
 
Регистрация: 09.04.2012
Сообщения: 26
Репутация: 156
По умолчанию

не верно указана единица измерения
Ответить с цитированием
  #6  
Старый 20.05.2012, 11:42
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Вот твой же код все работает отлично. Коннектиться к открытому вордовскому документу и сохраняет его куда укажешь.
Код:
var
  MSWord: OleVariant;
begin

  SaveDialog.Execute;

  try
    MsWord := GetActiveOleObject('Word.Application');
  except
    try
      MsWord := CreateOleObject('Word.Application');
      //мне кажется это здесь должно быть    
      MSWord.Documents.Add(); //не надо ничего указывать
      MsWord.Visible := True;
    except
      Exception.Create('Error');
    end;
  end;
  MSWord.ActiveDocument.SaveAs(SaveDialog.FileName+'.doc');
__________________
Google в помощь
Ответить с цитированием
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение:
alex_rR (20.05.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025