首页  编辑  

控制Word的菜单

Tags: /超级猛料/Office.OA自动化/Word/   Date Created:

请问:怎样用wordapplication增、删、改WORD菜单?需要示范代码,谢谢!

来自:menxin, 时间:2001-11-1 12:37:00, ID:700137

呵呵,真加这么多呀,好,我给你写一个吧

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[i].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]

来自:tzahz, 时间:2001-11-1 15:08:00, ID:700421

兄弟:

  谢谢,你已经得到了一百分,如果你告诉我如何在'新菜单项下面'加上子菜单,60分

将事件处理与新的子菜单项联系起来,100分。

 我实在找不到这方面的帮助,有的也是十分简单,许多用法都没有,如果你告诉我如何去取得

OFFICE开发的DELPHI的帮助,100~300送上。我还有700分。

                                            谢谢!!!

来自:yexiaofeng, 时间:2001-11-1 23:32:00, ID:701479

我告訴你delphi中的server控件頁上的幫助哪裡找的到。

server頁上的控件實際上是office提供的ocx控件,delphi隻是把它們封裝(抱歉,不知道該不

該叫封裝)後放入server控件頁中。

所以,它們的完整幫助隻有microsoft有,在msdn中可以找的到,vb的幫助也有。隻許做很少

的改動就可以把MS的代碼直接拿來使用

来自:menxin, 时间:2001-11-2 2:42:00, ID:701577

加事件什么的得改成这样,因为要用到一些接口。

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[i].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;

来自:menxin, 时间:2001-11-3 23:06:00, ID:704988

下面给出加入宏的代码:

var

 vc:_VBComponents;

begin

 vc:=WordApplication1.VBE.ActiveVBProject.VBComponents;

 with vc.Item(2).CodeModule do begin

   InsertLines(1,'Sub MyMacro');

   InsertLines(2,'msgbox "this is a test"');

   InsertLines(3,'End Sub ');

 end;

end;

权限问题就得你自己考虑了,我想宏和其他的代码应该有同样的权限吧

为编这些宏,你得用些VB了,嘿嘿,我是不会了,只能给个MSGBOX了。哈哈~~~

我又想了一下,由于WORD提示是宏没找到,我想应该是一定要用宏的。

过程的方法可以继续试一下。