Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программо получить RTF из OLE-automated Word'a


Andrew Dovgal ©   (2005-09-30 17:15:00) 

Может кому приходилось делать? Подкиньте пример или ссылочку.

Речь идет именно о OLE-automated Word. С обычной автоматизацией проблем возникать не должно.


YurikGL   (2005-10-05 18:03:00) [1]

Iconik:=true

Если надо и менюшки убать, то работаем через
OleContainer1.OleObject.CommandBars.Item['Standard'].параметр....
там есть и visible и много чего...


Andrew Dovgal   (2005-10-05 13:13:00) [2]

Спасибо.

Еще такой вопрос. При активации WordDocument пожирает все окно и перекрывает собой все другие контролы на форме. Как его загнать в рамки?


Adder   (2005-10-04 22:34:00) [3]

не работала с OleContainer, но эксперимент показал:
1)AutoActivate :=aaGetFocus (вполне возможно, есть более правильное решение)
2)OleContainer1.OleObject.SaveAs('D:\My.rtf',$00000006);


Andrew Dovgal   (2005-10-04 21:57:00) [4]

//MsWord := CreateOleObject('Word.Application');

Это не тот случай. У меня TOleContainer в котором содержиться WordDocument. Вопросы

1) Можно ли сделать так чтобы при запуске embeded document был уже открыт без необходимости двойного щелчка

2) Как из него выдрать RTF


Adder   (2005-09-30 21:25:00) [5]

uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
MSWord: Variant;
begin
  MsWord := CreateOleObject('Word.Application');
  try
      MsWord.Visible:=False;
      MsWord.Documents.Open('D:\My.doc');
      //wdFormatHTML=$00000008;
      //  wdFormatRTF = $00000006;
      MSWord.ActiveDocument.SaveAs('D:\My.rtf',$00000006);
  finally
      MSWord.Quit;
      MSWord := Unassigned;
  end;
end;


YurikGL   (2005-09-30 20:41:00) [6]


> Речь идет именно о OLE-automated Word. С обычной автоматизацией
> проблем возникать не должно.

А что есть в данном контексте обычная автоматизация?

Если через OLE, макрос будет выглядить так:

   ActiveDocument.SaveAs FileName:="Doc1.doc", FileFormat:=100, LockComments _
       :=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
       ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
       SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
       False

Соответсвенно на делфи это будет выглядить примерно так:

   ActiveDocument.SaveAs('Doc1.doc',100,False,'',True,'',False, False,False,False,False

Заместо false-в можно Emptyparam написать... Или вообще опустить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо