我正在将图表添加到c#中,如下所示
Excel.Worksheet ws =
(Excel.Worksheet) Globals.ThisAddIn.GetActiveWorksheet();
Excel.Shape chart =
(Excel.Shape) ws.Shapes.AddChart(Type.Missing,100,100,100,100);
现在可以在上面的图表上添加让我们说Rectangle,例如
chart.Add(msoRectangle,100,100,100,100); // smth of this kind
这样当我拖动图表时,图表对象(例如矩形上方)将与图表一起移动......是否可以使其不可编辑?非常感谢!
答案 0 :(得分:0)
您必须转到 Chart.Shapes 集合并添加新的矩形形状。 VSTO上没有很多文档,所以你只需要玩游戏。
Excel.Shape rectangle = (Excel.Shape)chart.Chart.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeRectangle, 5, 5, 50, 50);
现在,关于那个只读......我不确定你是否可以只保护图表,但你当然可以保护图表所在的整个工作表。
以下是如何使用密码保护您的工作表,这是一个完整的保护。
//
this.ProtectWorkSheet(ws);
//helper method
private void ProtectWorkSheet(Excel.Worksheet workSheet)
{
//protect sheet
workSheet.Protect("yourpassword", true, true, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}