VSTO如何选定单元格

最近在用VSTO做点小东西,一个意外的错误,让我发现了三种给单元格赋值的方法:

前两种是用Range对象,而第三种只用Cell即可。

先声明一个Range对象:

            Excel.Range xlRange = null;

一、使用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也好,还是其它类型,都可以。

我之前的项目都用的第一种方法,但第三种方法最简便直接。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值