学习VSTO感受之一:VSTO不是一切

来源:互联网 发布:淘宝回收显卡可信吗 编辑:程序博客网 时间:2024/04/30 01:09

曾经用VSTO2003编过一个小程序,感觉从VBA转过来真的挺费劲。

终于得到VSTO2005了,正好有个活,就又开始了。

原以为有了VSTO,就得到操纵EXCEL的法宝了。

可是,在经过一番痛苦的探索后,感觉:不一定。

比如,在一个列表中,有不同日期录入的数据,想进行某一天的数据汇总和核对,绞尽脑汁,最后还是用EXCEL自己的AdvancedFilter加条件格式才解决。

//把列表中的数据通过高级筛选复制到另一个表中;高级筛选条件已经在目标Sheet的单元格中。

Globals.Sheet2.YiJiMingXi.AdvancedFilter(
                Excel.XlFilterAction.xlFilterCopy,
                Globals.Sheet4.Range["$B$4", "$B$5"],
                Globals.Sheet4.Range["$B$8", Type.Missing],
                false);

//设置条件格式显示核对结果。

Excel.FormatCondition condition2 =
                        Globals.Sheet4.Range[strDaiHaoDiZhi, Type.Missing].get_Offset(0, 6).FormatConditions.Add(
                        Excel.XlFormatConditionType.xlCellValue,
                        Excel.XlFormatConditionOperator.xlNotEqual,
                        Globals.Sheet4.Range[strDaiHaoDiZhi, Type.Missing].get_Offset(0, 3),
                        Type.Missing);
                  condition2.Font.Bold = true;
                  condition2.Interior.ColorIndex = 3;

另外一点,VBA的宏录制还是那么有用,原来以为可以抛开它了,顺便也抛掉依靠宏录制编程的帽子。其实,遇到不会的地方,录制一段宏,会带来意想不到的启发。

初步的理解,VSTO终究是Tools,是与EXCEL的COM交互的工具,并不是说,有了VSTO,EXCEL也跟着进入.Net时代了。