各位大哥,如何通过wordapplication让word主菜单的文件菜单项的子菜单中只保留‘保存’,’退出‘?(100分)

  • 主题发起人 主题发起人 linninbo
  • 开始时间 开始时间
L

linninbo

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,如何通过wordapplication让word主菜单的文件菜单项的子菜单中只保留‘保存’,’退出‘?
 
呵呵,真加这么多呀,好,我给你写一个吧

uses Office2000;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication1.Connect;
WordApplication1.Visible:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:Integer;
begin
if WordApplication1.CommandBars.ActiveMenuBar.Enabled then begin
with WordApplication1.CommandBars.ActiveMenuBar do begin
{ ListBox1.Clear;
for i:=1 to Controls.Count do
ListBox1.Items.Add(Controls.Caption);}//你可以把现有的菜单信息放在这个LISTBOX里看一下
Controls[5].Set_Visible(false); //删除菜单,实际是隐藏
Controls[Controls.Count].Set_Caption('我的帮助'); //改菜单项
with Controls.Add(msoControlpopup,EmptyParam,EmptyParam,EmptyParam,true) do begin //增加菜单
Set_Caption('新菜单项');
end;
end;
end;
end;

给分吧![:D]

 
如果要添加菜单:
加事件什么的得改成这样,因为要用到一些接口。
procedure TForm1.Button2Click(Sender: TObject);
var i:Integer;
b:CommandBarPopup;
c:CommandBarButton;
begin
if WordApplication1.CommandBars.ActiveMenuBar.Enabled then begin
with WordApplication1.CommandBars.ActiveMenuBar do begin
ListBox1.Clear;
for i:=1 to Controls.Count do
ListBox1.Items.Add(Controls.Caption);
Controls[5].Set_Visible(false);
Controls[Controls.Count].Set_Caption('我的帮助');
b:=Controls.Add(msoControlpopup,EmptyParam,EmptyParam,EmptyParam,true) as commandbarpopup; //创建menuitem
with b do begin
Set_Caption('a项');
c:=Controls.Add(msoControlButton,EmptyParam,EmptyParam,EmptyParam,true) as CommandBarButton;
c.Set_Caption('我的第一个菜单项');
c.Set_OnAction('MBClick2'); //将一个宏赋值给这个ITEM
end;
end;
end;
end;

 
这些东西我也不常用,主要是从MSDN和SOURCE上看出来的。
 
cwmdelpher:
非常感谢你,但是请你看清楚我的问题,你的这个回答我在大富翁上已经看到了许多了
,而且我自己对这块也很熟悉,只是目前我关心的是上述问题,希望可以解答。
例如:WordApplication1.CommandBars.ActiveMenuBar.Controls[1]代表主菜单的文件菜单,而我
想知道如何操控文件菜单下的某个子菜单项目。
 
这个问题自己解决了,斑竹把我想把分手回来阿,没分了阿,please
 
with WordApplication1.CommandBars['File'] do
Controls[1].Set_Visible(false);
 
后退
顶部