请问如何在Delphi中控制Word中的工具栏?(高分)(70分)

  • 主题发起人 主题发起人 p_jz
  • 开始时间 开始时间
P

p_jz

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何在Delphi中控制Word中的工具栏:
1,能够将Word中的工具栏全部隐藏,但保留Menu bar.(除了
用WordApplication.commandbars.items.set_enabled(false));
2,能恢复工具栏的原始状态(如:Standard);
 
你看看Word里面的VB是否有这个命令,如果可以,那就可以通过在Delphi中使用相同的命令进行。
 
To:CJF, 如何在Delphi中使用相同的命令进行,两者不完全
匹配吧,请具体指点,多谢了。
 
命令是一致的,Delphi只是通过COM进行调用罢了,按照命令格式就可以进行调用的了。
 
> WordApplication.commandbars.items.set_enabled(false)
不用这个,你用什么来隐藏?不过我试了一下,Menu bar 的
.CommandBars.Item.Type_ 是等于 1 的, 其它的都是0或者2,暂时还
不是很明白有什么含义,推荐你到microsoft.public.officedev 新闻组
去问问,高手如云,这种Office COM Add-in那还不是小菜一碟。



> 能恢复工具栏的原始状态(如:Standard);
是不是WordApplication.CommandBars.Item[1].Reset();
 
感谢两位的热情帮助,参与者有分。请别嫌少。
 
我的源码:
with OleContainer do
if State <> osEmpty then
begin
DoVerb (-1) ;
//不显示“标准”工具栏
OleObject.Application.CommandBars['Standard'].Visible := False;
//不显示“格式”工具栏
OleObject.Application.CommandBars['Formatting'].Visible := False;
//不显示标尺
OleObject.Application.ActiveWindow.ActivePane.DisplayRulers := false;
DoVerb (-1) ;//刷新
end;
 
附:
我的是在OleContainer中显示*.Doc的源码。
其它的工具栏名可在Word中用宏录制得到。

至于恢复,我想可以用一个数组保存工具栏的原来状态,最后恢复。
 

Similar threads

D
回复
0
查看
930
DelphiTeacher的专栏
D
D
回复
0
查看
871
DelphiTeacher的专栏
D
D
回复
0
查看
944
DelphiTeacher的专栏
D
D
回复
0
查看
777
DelphiTeacher的专栏
D
后退
顶部