怎样避免CommandBarButton越来越多?
引用的Excel类库说明:Microsoft Excel 14.0 Object Library,应该是对应的office 2010的类库版本:1.7.0.0
问题如下:
在vs 2005里调式程序,目的想在Excel里面动态生成Microsoft.Office.Core.CommandBarButton,如果用以下语句:
oCommandBar = myExcel.CommandBars .Add ("CommandBarName", oMissing ,oMissing, true);
oCommandBar.Visible = true;
oCommandBarButton = (Office.CommandBarButton)oCommandBar.Controls.Add(Office.MsoControlType.msoControlButton,
oMissing, oMissing, oMissing, oMissing);
oCommandBarButton.OnAction = "MiBarCall";
oCommandBarButton.Caption = "Call MiBarCall()";
oCommandBarButton.FaceId = 2151;
则有异常,信息如下:
System.ArgumentException: 值不在预期的范围内。
在 Microsoft.Office.Core.CommandBarsClass.Add(Object Name, Object Position, Object MenuBar, Object Temporary)
在 ......(Object sender, EventArgs e) 位置 ......
如果第一句改成以下这句:
oCommandBar = myExcel.CommandBars.Add(oMissing, oMissing, oMissing, true);
则没有异常,但会多一个CommandBarButton,经常运行程序的话,CommandBarButton会越来越多。
而且我发现如果客户端用的是office 2010,且Excel还没有动态生成过CommandBarButton,则CommandBarButton不会增多,如果已经动态生成过CommandBarButton,则CommandBarButton会越来越多。而如果换成了office 2007,则不管怎样CommandBarButton都会越来越多。
怎么解决不让CommandBarButton越来越多的问题呢?希望碰到过此类问题的朋友能帮帮忙,多谢!
补充:企业软件 , 其他