Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Программо получить RTF из OLE-automated Word a   Найти похожие ветки 

 
Andrew Dovgal   (2005-09-30 17:15) [0]

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

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


 
YurikGL ©   (2005-09-30 20:41) [1]


> Речь идет именно о 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 написать... Или вообще опустить.


 
Adder ©   (2005-09-30 21:25) [2]

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;


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

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

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

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

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


 
Adder ©   (2005-10-04 22:34) [4]

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


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

Спасибо.

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


 
YurikGL ©   (2005-10-05 18:03) [6]

Iconik:=true

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



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
15-1168525384
Prohodil Mimo
2007-01-11 17:23
2007.01.28
Есть ли какой редактор для MySQL ?


15-1168486866
Slider007
2007-01-11 06:41
2007.01.28
С днем рождения ! 11 января


1-1164787681
*Ray*
2006-11-29 11:08
2007.01.28
перерисовка DBGrid


2-1168124906
koha
2007-01-07 02:08
2007.01.28
Изменение в MassageDlg надписей на русские под Delphi2006


2-1167883767
Vopros
2007-01-04 07:09
2007.01.28
iif в Запросе