Вы всегда можете записать макрос в MS Excel, и он даст вам хорошее представление о том, что нужно сделать с объектом Excel, чтобы чего-то достичь.Например, при записи макроса для вашей проблемы он получил следующий код:
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=65.25, Top:=24, Width:=108, Height:=21). _
Select
Я надеюсь, что отсюда вы можете увидеть, что нужно сделать, чтобы установить флажок на активном листе.
Вот более подробное объяснение (Visual Studio 2010 и C #): 1. Запустите Visual Studio и создайте новый проект (приложение для Windows или консольное приложение) 2. Щелкните правой кнопкой мыши на References и выберите «Добавить ссылку» 3. Выберите COMссылки и добавить библиотеку объектов Microsoft Excel xx.x (в моем случае xx.x - это 14.0, то есть Excel 2010).4. Куда-нибудь в вашем коде (некоторые функции, такие как Main или щелчок на кнопке) добавьте этот код:
// Start excel
Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = true;
// Get a sheet
Microsoft.Office.Interop.Excel._Workbook oWB = (Microsoft.Office.Interop.Excel._Workbook)oXL.Workbooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel._Worksheet oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
// Get ole objects and add new one
Microsoft.Office.Interop.Excel.OLEObjects objs = oSheet.OLEObjects();
// Here is the method that is posted in the answer
Microsoft.Office.Interop.Excel.OLEObject obj = objs.Add("Forms.CheckBox.1",
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
false,
false,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
65.25,
24,
108,
21);
// Here, you are making it checked. obj.Object is dynamic, so you will not get help from visual studio, but you know what properties CheckBox can have, right?
obj.Object.Value = true;
Надеюсь, это поможет.