Excel催化剂-VSTO开发一些虽简单但不知道时还是很难受的知识点(Excel催化剂-VSTO开发一些虽简单但不知道时还是很难受的知识点)
Excel催化剂-VSTO开发一些虽简单但不知道时还是很难受的知识点(Excel催化剂-VSTO开发一些虽简单但不知道时还是很难受的知识点).HorizontalAlignment = xlCenter With Selection在录制宏中,得到的代码,虽然绝大部分是很容易改写成VB.Net或C#代码的,但有一个小问题是当录制出来的代码有枚举类型时,在VBA里的枚举是不带命名空间的,在VSTO里,是需要补全此命名空间的,怎样可以补全这些命名空间不报错?以下为VBA代码,通过录制宏即可得到,将单元格内容居中显示。Sub 宏1()
通常许多的知识都是在知与不知之间,不一定非要很深奥,特别是Excel这样的应用工具层面,明明已经摆在那里,你不知道时,永远地不知道,知道了,简单学习下就已经实现出最终的功能效果。
在程序猿世界里,也是一样,很多工具类的功能,可以在代码里复用,当不知道时,自己从头造轮子,也是一件吃力不讨好麻烦事。
此篇提供一些简单的知识点,部分有代码段,部分只是操作界面即可得到,供VSTO新手们学习。
查找枚举型的完整命名空间
在录制宏中,得到的代码,虽然绝大部分是很容易改写成VB.Net或C#代码的,但有一个小问题是当录制出来的代码有枚举类型时,在VBA里的枚举是不带命名空间的,在VSTO里,是需要补全此命名空间的,怎样可以补全这些命名空间不报错?
以下为VBA代码,通过录制宏即可得到,将单元格内容居中显示。
Sub 宏1()
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
参数提示也不能知道哪个命名空间
参数提示可以知道哪个命名空间
在不能知道时,有个很简单的方法,通过查找对象浏览器即可得到
对象浏览器入口
搜索结果简单识别下即可找到答案
颜色的转换
在这个ColorTranslator工具类中,有我们日常所要用到的颜色转换现成功能,颜色有以下四种分类 Win32颜色、Html颜色、OLE颜色和标准的.Net颜色。
对于我们OFFICE使用的颜色,就是Ole颜色,对应于VBA接口的Color属性值
一般来说在VSTO的.Net环境下,引用的颜色是标准.Net颜色,需要和OFFICE的颜色进行转换,转换的代码也异常简单,只需调用一个方法即可。
Color转换
日期的转换
同样地,在日期转换上,也直接有OLE的日期格式,这个方法也是后来偶然知道的,在Excel自定义函数里还傻傻地写过一个转换函数。
OLE日期转换1
OLE日期转换2