这是我第一次对Excel使用VSTO,当我使用这样的代码时,我想在Ribbon_Load function.But中填充combox项:
Globals.Ribbons.Ribbon1.Combox1.Items.Add(Items);它不能工作,当我调试代码时,它的值在监视面板中显示为"Globals.Ribbons.Ribbon1 is null“。下面有一些关于Ribbon1的初始init代码:
partial class ThisRibbonCollection
{
internal GZMenu Ribbon1
{
get { return this.GetRibbon<GZMenu>(); }
}
}请给我点帮助!
发布于 2018-03-12 14:39:50
从你给我们看的代码来看,我假设你使用的是丝带设计师.
您可以通过“属性”窗口、“项”条目(静态列表)或使用代码动态地填充这些项。
如果您想使用代码,您应该在丝带类中工作。(注意:看起来您正在修改VSTO生成的内容。如果你有问题,我强烈建议你坚持VSTO生成的东西,直到你开始工作为止。)
我在类初始化器中有代码,但它也适用于Ribbon1.Load。
public partial class Ribbon1 : OfficeRibbon
{
object missing = System.Type.Missing;
static internal RibbonButton btnTest = null;
static internal Office.IRibbonUI rUI = null;
public Ribbon1()
{
InitializeComponent();
RibbonDropDownItem ddItem1 = new RibbonDropDownItem();
ddItem1.Label = "Item added at runtime";
ddList.Items.Add(ddItem1);
RibbonDropDownItem ddItem2 = new RibbonDropDownItem();
ddItem2.Label = "Second item added at runtime";
ddList.Items.Add(ddItem2);
ddList.SelectedItemIndex = 1;
}https://stackoverflow.com/questions/49231128
复制相似问题