控制Word的菜单

I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:怎样用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.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.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提示是宏没找到,我想应该是一定要用宏的。
过程的方法可以继续试一下。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
864
DelphiTeacher的专栏
D
S
回复
0
查看
925
SUNSTONE的Delphi笔记
S
顶部