Ole载入Word的问题(100分)

  • 主题发起人 主题发起人 工藤新一
  • 开始时间 开始时间

工藤新一

Unregistered / Unconfirmed
GUEST, unregistred user!
1。能不能以相对路径载入,我试的时候会出错
2。载入后,一开始是灰色的,双击进入Word状态,上面会出现那些工具栏之类的,能否不让其显示?旁边还有标尺栏之类
3。字体都挺小的,能一载入全部设定成最佳状态?
4。Word太长,如何让人下拉?
 
试试
olecontainer.DoVerb(ovOpen);
 
没用啊,还是老样子
 
相对路径的没有试过
如何隐藏工具栏可以用Delphi操作Excel的VBA,比如把常用和格式工具栏隐藏:
WordDocument1.Commandbars['standard'].Set_Enabled(false);
WordDocument1.Commandbars['formatting'].Set_Enabled(false);
把标尺隐藏:
WordDocument1.ActiveWindow.DisplayRulers:= false;
等等,其他的也都可以用VBA来处理
 
要uses什么吗?我的不行
对了,还有这个word是可以修改的,能否设成只读?
 
好象你是要显示WORD文档的吧,又何苦用OLE呢??
 
楼上的大哥,我做一个程序需要调用一些文字内容,因为内容是会变的,所以不好弄进程序,就想直接改入WORD文档,但是问题还是很多,因我做的这个程序界面美观要求非常高,所以一直没有找到比较好的方法来解决这个载入的问题……如果哪位大哥有办法,请加我QQ:9520743
 
可以实现,步骤如下:
1,窗体添加一个OleContainer容器
2,OleContainer.Visible := False;
3,用OleDraw函数画对象内容
 
要怎么画?函数怎么写呢?能给一段代码看看吗?
 
OleDraw参考windows API函数帮助
 
我的程序,您参考以下:
procedure DrawOleFace(Canvas: TCanvas; rec: TRect; olecon: TOleContainer);
var
r: TRect;
rgn: HRGN;
begin
rgn := 0;
GetClipRgn(Canvas.Handle, rgn);
IntersectClipRect(Canvas.Handle,rec.Left,rec.Top,rec.Right,rec.Bottom);
Olecon.OleObjectInterface.GetExtent(1, r.BottomRight); // 0.01mm
r.Top := rec.Top; r.Left :=rec.Left;
r.Right := rec.Left+ MulDiv(r.Right, GetDeviceCaps(Canvas.Handle, LOGPIXELSX), 2540);
r.Bottom:= rec.Top +MulDiv(r.Bottom, GetDeviceCaps(Canvas.Handle, LOGPIXELSY), 2540);
OleDraw(Olecon.OleObjectInterface,DVASPECT_CONTENT,Canvas.Handle,r);
SelectClipRgn(Canvas.Handle,rgn);
end;
 
我把WORD弄成.rtf的了
 
后退
顶部