我想向图表添加用户控件。
我不会用
ch.Shapes.AddFormControl
因为我想添加一个用户控件。
我在 2013 年使用 VS 2012 .NET 4.5 和 Excell 插件。
我尝试使用以下代码:
Microsoft.Office.Interop.Excel.Chart ch = (Excel.Chart)wb.Sheets[1];
ch.Activate();
ch.Select();
ch.ChartArea.Select();
ch.Shapes.SelectAll();
Excel.Range selection = Globals.ThisAddIn.Application.Selection as Excel.Range;
worksheet.Controls.AddControl(new UserControl2(), selection, "fnis");
Ch 是图表,我想在图表顶部插入 UserControl2。
在上面的代码中,我得到了选择为空的错误。
当然,我已经检查过所有变量都不为空并且有效等
这是一个老问题,OP 可能不再需要答案,但为了后代:
您可以通过使用
ControlSite AddControl(Control control, double left, double top, double width, double height, string name);
重载来指定图表位置/大小来解决这个问题,而不必担心选择。
如果所选区域很重要,您可以先验证它是否解析为某些内容,然后使用上面提到的重载作为后备。