Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
15-1167835238
oldman
2007-01-03 17:40
2007.01.28
Новогодний опрос.


15-1168296903
Cyrax
2007-01-09 01:55
2007.01.28
Выскакивает обычное виндовое окошко с открытой папкой...


2-1168332596
aleko
2007-01-09 11:49
2007.01.28
bmp 2 jpeg


2-1168090790
Volfram
2007-01-06 16:39
2007.01.28
WriteBuffer в InDy 10


15-1168341757
Александр Иванов
2007-01-09 14:22
2007.01.28
Как вам такое тестовое задание?




   Наверх