首页 新闻 搜索 专区 学院

Excel 编程,添加按纽动作失效

0
悬赏园豆:50 [已关闭问题] 关闭于 2008-06-02 18:34
<P>代码如下:</P> <P>我在EXCEL中添加了一个菜单按纽,但动作有时失效,经常性不能弹出我想要的窗口.</P> <P>请高手帮忙看下,在此谢过!!!&nbsp;</P> <P>public Form1()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InitializeComponent();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void button1_Click(object sender, EventArgs e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Excel.Application app = new Excel.Application();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; app.Visible = true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; app.UserControl = true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Excel.Workbook wookBook = app.Workbooks.Add(Type.Missing);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Office.CommandBar cmd = app.CommandBars.ActiveMenuBar;</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Office.CommandBarControl ctrl = cmd.Controls.Add(Office.MsoControlType.msoControlPopup, Type.Missing, Type.Missing, Type.Missing, true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ctrl.Caption = "测试菜单";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Office.CommandBarButton ctrl1 = ((Office.CommandBarPopup)ctrl).Controls.Add(Office.MsoControlType.msoControlButton, Type.Missing, Type.Missing, Type.Missing, true) as Office.CommandBarButton;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ctrl1.Caption = "测试菜单11";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ctrl1.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(ctrl1_Click);</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void ctrl1_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form2 f = new Form2();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.ShowDialog();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //MessageBox.Show(CancelDefault.ToString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
问题补充: 1,通过一个Windowapplication打开一个EXCEL 2,如果弹出的EXCEL在windowapplication的上层,(当前活动的窗体为EXCEL),则EXCEL的自定义菜单弹出窗体没有问题 , 3,如果相反 弹出的EXCEL在windowapplication的下层,(当前活动的窗体为windowapplication),点击EXCEL,切换当前活动窗体为EXCEL。此时EXCEL的自定义菜单弹出窗体失效。
jizh的主页 jizh | 初学一级 | 园豆:104
提问于:2008-05-23 21:12
< >
分享
所有回答(1)
0
能说一下什么时候失效吗?
Colin Han | 园豆:3041 (老鸟四级) | 2008-05-24 13:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册