老问题了,在DFW上找了很久也没找到(50分)

  • 主题发起人 主题发起人 119110
  • 开始时间 开始时间
1

119110

Unregistered / Unconfirmed
GUEST, unregistred user!
ole对象createobjectfromfile后,word的工具栏都显示在窗口上,有没有办法不出现
这些工具栏?
 
var
TempObj: Variant;
begin
TempObj:= OLEContainer.OleObject;
TempObj.Application.CommandBars['Standard'].Visible:= false;
TempObj.Application.CommandBars['Formatting'].Visible:= false;
OLEContainer.DoVerb(ovPrimary)
end;
 
系统报错:interface not supported.
我是这样做的:
oleCon.CreateObjectFromFile('c:/abc.doc');
tmpObj:= oleCon.OleObject;
tmpObj.Application.CommandBars['Standard'].Visible:= false;
tmpObj.Application.CommandBars['Formatting'].Visible:= false;
oleCon.DoVerb(ovPrimary);
有什么问题么?
 
更正:
oleCon.CreateObjectFromFile('c:/abc.doc');
应为:oleCon.CreateObjectFromFile('c:/abc.doc',false);
 
知道的请帮个忙啊~
 
用以下方法:
procedure TForm1.Button1Click(Sender: TObject);
begin
oleCon.CreateObjectFromFile('c:/abc.doc',false);
// tmpObj:= oleCon.OleObject;
// tmpObj.Application.CommandBars['Standard'].Visible:= false;
// tmpObj.Application.CommandBars['Formatting'].Visible:= false;
// oleCon.DoVerb(ovPrimary);
olecon.Run ;

end;
 
我的问题是:嵌入后,word的工具栏都显示在窗口上,有没有办法不出现这些工具栏?
 
上面的做法就已经没有出现这些工具栏,除非你在它上面双击
 
当然要浏览一下里面的内容了,况且不能限制用户不能双击。
 
我有个办法可以实现不过不太好,但也可以的哟。
你可以与我联系
qq:66639527
 
算了等我看看我帖出来好了。
V:=OleContainer1.OleObject;


V.Application.CommandBars['Standard'].Visible:=False;
V.Application.CommandBars['Formatting'].Visible:=False;
ComObj.pas包含了。现在可以通过。
这是操作excel的不过操作word也应该是一样的。,
 
这和第一位的回答一样啊
 
不加Application试试,用vba写一段,调试后基本可以照搬到delphi。
 
不会vba,还是没有满意的答案。
 
改成这样就可以了,请注意次序:
OleContainer.DoVerb(1);
OleContainer.OleObject.CommandBars['Standard'].Visible:=False;
OleContainer.OleObject.CommandBars['Formatting'].Visible:= false;
……
 
后退
顶部