您将立马获得<font color="#ff0000">450分</font>(300分)

  • 主题发起人 主题发起人 茶叶蛋
  • 开始时间 开始时间
对于第2个问题大概和word安装有关, 大概108或101是WOrd中转化器的索引
号, 我安装的HTML转化器的编号就是108(可以通过word的宏录制功能来找).

至于对话框问题, 我也没有好办法. 待我再查查看.

 
Hi,SeaSky:
又有麻烦了.下面是我的程序:
procedure TMainForm.NewButtonClick(Sender: TObject);
begin
PageControl.ActivePage := TabEdit;
MyWord := CreateOleObject('Word.application');
//MyWord.visible:=true ;
//&lt;font color="#0000ff"&gt;我希望能把word嵌进我的界面里,但是如果把MyWord.visible置为true的话,&lt;/font&gt;
//&lt;font color="#0000ff"&gt;就会又蹦出来一个word窗口,所以我不得不把它屏蔽掉,这样做的话,有时对话&lt;/font&gt;
//&lt;font color="#0000ff"&gt;框能够响应,有时又不能响应.&lt;/font&gt;
MyWord.Documents.add;
CanClose := false
Ole.DoVerb( ovShow );
end;

procedure TMainForm.SaveButtonClick(Sender: TObject);
var
Olestream : TMemoryStream;
ll : TStringList;
Counter : Integer;
begin
if not canclose then
begin
canclose := true;
Ole.DoVerb( ovshow );
end;
OleStream := TMemoryStream.Create;
Ole.SaveToStream( OleStream );
if ComboStyle.ItemIndex &lt; 0then
ComboStyle.ItemIndex := 0;
if ComboPoint.ItemIndex &lt; 0 then
ComboPoint.ItemIndex := 0;
if ComboLevel.ItemIndex &lt; 0 then
ComboLevel.ItemIndex := 0;
MyWOrd.activeDocument.saveas('D:/TTT.Html',101);
//MyWord.ActiveDocument
//.close(wdSaveChanges,wdOriginalDocumentFormat,variant(false));
//&lt;font color="#0000ff"&gt;用不起来&lt;/font&gt;
//MyWord.Documents['TTT.Html'].Close;
//&lt;font color="#0000ff"&gt;还是用不起来&lt;/font&gt;
//MyWord.Quit(wdSaveChanges,wdOriginalDocumentFormat,variant(false));
//&lt;font color="#0000ff"&gt;用不起来,为什么呢?&lt;/font&gt;
//MyWord:= null;

CanClose := false;
Ole.Close;
showmessage('WORD 释放了');//需要等待一下, Word释放文件需要时间;
ll := TStringList.Create;
ll.LoadFromFile('D:/ttt.html');
//.............
ll.free;
OleStream.free;
Ole.Close;
CanClose := false;
end;

WordBasic和OleContainer搅在一起,很多函数都用不起来,
SeaSky给我的程序单独用,用得好好的.但是一旦嵌进我的程序里头,立马出问题.
有机会的话,真想好好的把它们之间的关系搞搞清楚.
不过,现在的这个问题真是棘手.
我愿意再加100分.

to wuyi:
你的邮箱够不够大?
我的程序还包括了数据库,单独用的话,恐怕用不起来.一共大概有2M.
 
My mailbox is big enough.
 
再写一个例子, 用了OleContainer 满足你

&gt; 希望能把word嵌进我的界面里;

可惜我不会控制界面. 总会有这样或那样的问题.

procedure TForm1.Button3Click(Sender: TObject);
begin
OleContainer1.CreateObject('Word.Document',false); (* Create the Automation object *)
OleContainer1.DoVerb( ovShow );
OleContainer1.OleObject.saveas('D:/TTT.Html',108);
OleContainer1.Close;
Memo1.Lines.LoadFromFile('D:/ttt.html');
end;

再不行打Call机给我吧. (025)127-2086596
 
茶:这么都不行?干脆教你找绝的
不是用 VB 可以吗?那么写个 ACTIVEX 在 DELPHI 中调用
论文中可以写到 多语言开发ACTIVEX合成技术了
 
谢谢SeaSky,谢谢各位大虾.

在下感激不尽.
 

Similar threads

后退
顶部