ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5519|回复: 14

[分享] 你早该玩玩VSTO啦

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-8 11:25 | 显示全部楼层 |阅读模式
本帖最后由 HHAAMM 于 2012-11-8 15:10 编辑

.net是微软提供的一个新型平台,这个平台上几乎可以用任何语言开发任何程序。
所以,在这个平台上也可以搞office开发。
C#是这个平台上的主要开发语言
VB.NET也是这个平台上的开发语言,可以理解为VB6.0的升级版语言。
VB.NET是面向对象的语言,这点有别于VB、VBA
面向对象是一种思想,VB.ENT语言很好的支持了这种思想  
面向对象思想 主要的意义在于代码的重用性,目的是代码好写好维护。
VB、VBA 转入VB.NET 并不是很困难,主要是要建立面向对象的思想
下面用一个例子大致描述下面向对象、面向过程思想的区别
任务:派人去北京拍摄一张天安门的照片回来
面向过程实现上述任务的大致方式 是:
找个人告诉他怎么买票,怎么上火车、到什么地方下车,怎么找到天安门,怎么拍照片,怎么保存好照片,怎么回来
面向对象实现上述任务的大致方式 是:
找个会出行会拍照的人来,只是告诉他两件事,我要 天安门 照片

面向对象中有三个重要的概念,封装、继承、多态
封装 vba中也有这个概念
封装的好处之一:还用上面的例子加以说明
当你用面向过程的方式写了无数段派人出去完成某任务的代码后,你突然发现,各地都在查户口身份证,你派出去的人不知道何为身份证,你需要一段段的去修改添加应对身份证的代码。
面向对象处理这个就简单多了,只需要在封装的会出行的人这个类里加上处理身份证的代码,所有通过这个类产生的这个人就都会处理身份证问题了
继承 沿用上面例子
你的任务不仅仅是派人去天安门拍照片,还的去买北京特产烤鸭
这样,你可以先创造这么个类,一个会出行的人的类,我们暂且将这个类命名为 A
再创建一个类(暂且命名为B),这个类继承于A类,那么这个类天生的就有了出行的本事。我们再给他加上拍照、买烤鸭的本事,这个类是不是就可以完成我们的任务了呢。
如果你又领到一个任务,还的去阳澄湖买大闸蟹
再创建一个类,这个类继承于A类,那么这个类天生的就有了出行的本事。我们再给他加上怎么买大闸蟹
任务又来了,你还的派人去北京卖你的产品,当然这个人也的拍照+买烤鸭
这时,你只要创建这么一个类,这个类继承于B,这里注意是继承的B,再给这个类添加上卖产品的本事,这个是不是完成好几项不同任务了。
多态
你手下有了这么一帮子会干着会干那有的还会多个本事的兄弟,你是不是可以包打天下了。

开始接触VB.NET时,可以先不理会继承、多态 。你完全可以延续面向过程的方式写代码,但是你必须习惯于封装,习惯于类以及类的实例化-对象这些vba中就有的概念。

注:以上描述不够严谨、科学,望多多包涵!


该贴已经同步到 HHAAMM的微博












TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-8 12:25 | 显示全部楼层
本帖最后由 HHAAMM 于 2012-11-8 15:38 编辑

据说微软将身家性命都压在了.NET上,是微软想一统江湖式的一个平台
VSTO Microsoft Visual Studio Tools for the Microsoft Office System.
是一个在Visual Studio里开发office应用的工具包。
Visual Studio一般简写为VS
本人目前使用的是Visual Studio2010,百度上找...

白话说,就是在VS上开发OFFICE

新技术当然有新特点,体验一下或许会让你"惊讶不已"

TA的精华主题

TA的得分主题

发表于 2012-11-8 13:40 | 显示全部楼层
啥时开的板块?今天才发现,以后在这里安家了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-8 13:54 | 显示全部楼层
lipton 发表于 2012-11-8 13:40
啥时开的板块?今天才发现,以后在这里安家了。

2小时前{:soso_e113:}

TA的精华主题

TA的得分主题

发表于 2012-11-8 15:36 | 显示全部楼层
封装是不是有点类似将过程中的各个环节分拆成一个个的函数,需要用的时候调用 就可以了?

TA的精华主题

TA的得分主题

发表于 2012-11-8 15:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
和用VB6.0没有太大的差别,就是ribbon上面很简单
有些语法还是有差别的
在数组中存放数组是可以的,并且还可以改变里面数组的大小,在6.0里面是不可以的

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-8 15:43 | 显示全部楼层
本帖最后由 HHAAMM 于 2012-11-8 15:46 编辑
zm0115 发表于 2012-11-8 15:36
封装是不是有点类似将过程中的各个环节分拆成一个个的函数,需要用的时候调用 就可以了?

封装是将属性、过程等写在类里。对外的只是这个类实例化后的对象,这个对象有你写的属性、方法。
在使用时你不用管这些是怎么实现的,只用知道他可以干什么
http://club.excelhome.net/forum.php?mod=viewthread&tid=927379

TA的精华主题

TA的得分主题

发表于 2012-11-8 17:50 | 显示全部楼层
HHAAMM 发表于 2012-11-8 12:25
据说微软将身家性命都压在了.NET上,是微软想一统江湖式的一个平台
VSTO Microsoft Visual Studio Tools f ...

我晕。。原来是这样。。这vs可是大型软件啊。玩不转

TA的精华主题

TA的得分主题

发表于 2012-11-8 22:19 | 显示全部楼层
不看老虎,不要太看好VSTO,关键是兼容性这个问题不解决,就很难啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-8 22:25 | 显示全部楼层
Tony_Lin 发表于 2012-11-8 22:19
不看老虎,不要太看好VSTO,关键是兼容性这个问题不解决,就很难啊

您是哪位啊,肯定是熟人,没想起来谁性林{:soso_e132:}
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-1 09:14 , Processed in 0.038721 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表