如何把在WORD上自己添加的菜单和自定义事件关联? ( 积分: 100 )

  • 主题发起人 主题发起人 netcore
  • 开始时间 开始时间
N

netcore

Unregistered / Unconfirmed
GUEST, unregistred user!
用如下方法添加菜单成功:
……
wa1: TWordApplication;
wd1: TWordDocument;
……
procedure testclick;
……
var
myMenuBar: CommandBar;
newMenu,
ctrl1:OleVariant;
begin

myMenuBar :=Wa1.CommandBars.ActiveMenuBar;
newMenu := myMenuBar.Controls.Add(10,1,1,1,true);
newMenu.Caption := 'test';
ctrl1 := newMenu.CommandBar.Controls.Add(1,1,0,1,false);
ctrl1.Caption := 'Import';
ctrl1.TooltipText := 'Import';
ctrl1.Style := 2;
//ctrl1.Click := testclick;///////本句错,不能使用
end;

但是如果想把这个添加的菜单项和事件关联则出错,即最后一句代码不能加上。求解决方法!
要求:
1、新建的菜单 'Import'项要能响应自定义事件testclick。
2、如果为了达到要求1而不使用上面的方法新建菜单,那么,新建的菜单项必须和上面的代码一样是建立一个和WORD默认的菜单项:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助这些并列的菜单项,而不是只能在某个已有的菜单项下加入。
 
用如下方法添加菜单成功:
……
wa1: TWordApplication;
wd1: TWordDocument;
……
procedure testclick;
……
var
myMenuBar: CommandBar;
newMenu,
ctrl1:OleVariant;
begin

myMenuBar :=Wa1.CommandBars.ActiveMenuBar;
newMenu := myMenuBar.Controls.Add(10,1,1,1,true);
newMenu.Caption := 'test';
ctrl1 := newMenu.CommandBar.Controls.Add(1,1,0,1,false);
ctrl1.Caption := 'Import';
ctrl1.TooltipText := 'Import';
ctrl1.Style := 2;
//ctrl1.Click := testclick;///////本句错,不能使用
end;

但是如果想把这个添加的菜单项和事件关联则出错,即最后一句代码不能加上。求解决方法!
要求:
1、新建的菜单 'Import'项要能响应自定义事件testclick。
2、如果为了达到要求1而不使用上面的方法新建菜单,那么,新建的菜单项必须和上面的代码一样是建立一个和WORD默认的菜单项:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助这些并列的菜单项,而不是只能在某个已有的菜单项下加入。
 
菜单的Click必须是Word里面的宏
 
错误提示是:Method 'Click' not supported by automation object
应该和你说的无关哦~~~~
 
这个问题我也正在研究当中,不好意思,如果你知道,通知我一声东击西
 
这个问题我也挺关注的
 
必须先在word中建一个宏,然后在ole中调用这个宏
 
怎么调用?
 
说直接点吧,我想自己添加一个菜单项到WORD的主菜单,这个菜单项的每个子项都和我的一个程序关联,即点击我自己添加的菜单中的任意子项,都会运行对应的程序。但是现在菜单是添加上去了,我却无法对这些菜单子项附加事件。

如果调用用宏可以实现,请给出一个菜单项关联任意宏的例子和一个用宏实现调用外部程序的例子。
 
问题解决,可以设置自己的事件而不需要调用宏。

但是我很郁闷啊~~~~~~~~~~~~~~~~~
为什么每次我提的问题总是没人解决呢???????

不仅郁闷我的分数白白扔掉了
更加郁闷大富翁的高手,高手都到哪里去了。
本帖结,不散分,因为郁闷。
 
这有什么好郁闷的,
因为你自己就是高手,所以才会发出“高手都到哪里去了”的感叹。
读过武侠小说的人都知道这个道理的。[:D]
 
能不能告诉我们怎么解决的?谢谢啊!
 
netcore, 不知道你是怎么解决的,公布出来学习一下哦
 
没有所谓高手,只有知道的不贴出来!
 
楼主,把你解决的方法说一下好吗?照福一下还不知道的人。
 
后退
顶部