VSTO选定单元格的三种方法
一、使用Worksheet中的get_Range()方法。
xlRange = (Excel.Range)(globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).get_Range(
(globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4],
(globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4]);
此方法没有重载,所以选定一个单元格时特别麻烦。
二、直接使用Worksheet中的Cells属性,将Cells强制转换为Range对象。
xlRange = (globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4] as Excel.Range;
xlRange.Value2 = accountname;
此种方法就比较简单了,用的方法还都是Range中的方法。
三、直接给Worksheet中的Cells赋值。
(globals.MyAddin.Application.ActiveSheet as Excel.Worksheet).Cells[row, col + 4] = accountname;
由于Cells是一个object类型,因此,不能得到Cells相关的属性和方法,我没有找到基于这个对象的具体的类型,但通过ActiveCells可以看出,肯定有这个类型的。但是可以直接给对象赋值,不管是String也好,还是其它类型,都可以。
我之前的项目都用的第一种方法,但第三种方法最简便直接。