设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5408|回复: 4
打印 上一主题 下一主题

【原创】Excel外接程序开发FAQ Excel外接程序开发FAQ,by寂静岭

[复制链接]
跳转到指定楼层
1#
发表于 2014-2-22 16:53:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 紫电 于 2014-2-22 16:57 编辑

Excel外接程序开发FAQ
讲师:寂静岭
Q1:C#需要像VB开发外接程序一样,创建Excel对象吗?
A1:不需要,App实例已经在插件启动的时候创建好了,可以直接使用Application访问Excel对象。


Q2:这是什么玩意儿?
A2:命名空间别名,引用,以后就可以直接使用Excel了。这样可以少写几行。


Q3:字体需要调整吗?
A3:建议大家把字体设置为Consolas,然后大小设定为12 或者 14 根据大家的显示器分辨率来。XP的同学可能没有这个Consolas字体,就用宋体也可以。宋体太锐利了,看多了容易烦躁。


Q4:如何绑定Excel对象的相关事件,能否给出例子?
A4:。


Q5:+=不是相当于在原有变量基础上,再加一个东西么?
A5:其实你说的没错但那只是默认的情况,这个就要说到C#的高级特性,操作符重载了,你只要知道+=  从形象上来看,就是堆叠,增加 就行了。给Event堆上一个处理者,你不想处理就可以不用写,一行都不用,你想处理,才写。操作符重载大家在相当长的一段时期内都不太会用到。多继承算是高级C#特性了,大家混个脸熟就行了,尽量不要让自己的类产生这样的多继承,设计模式的东西会在中级和高级班讲的。


Q6:也就是说,只要是事件处理,都要用+=来new出一个新的事件对象?
A6:不是new出一个事件对象,而是 给一个已知事件,绑定一个处理函数。函数名随便起,不一定非得按我那种起法,必须符合EventHandler的声明。


Q7:前面括号里面是什么东东?
A7:你们可以试下NewWorkbook 事件,结果会很奇特的 ,tab出来的代码会编译不通过,Application.NewWorkbook +=new Excel.AppEvents_NewWorkbookEventHandler(OnNewWorkbook); 这个和事件的性质没有关系,而是因为Application类是一个 “多继承” 类。
注意看Application有两个父类,但很不巧,这两个父类都有一个叫NewWorkbook的,所以编译器就傻掉了,他不知道你要用哪个。所以你要告诉它。这是另一个 ,可以清楚的看到这个并不是事件而是一个叫NewFile类型的东西,总之不是事件。


Q8:这个接口的内容在哪里看到的?
A8:F12可以看到定义,光标先停上去。




记录人:紫电

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-2-22 17:50:22 | 只看该作者
这个其实挺重要的,
当方法与事件重名实,
事件不能智能提示了。

再接再励,鼓励加精。

点击这里给我发消息

3#
发表于 2014-2-22 19:41:10 | 只看该作者
赞一个!
回复

使用道具 举报

4#
发表于 2014-2-22 20:58:59 | 只看该作者
先顶再慢慢消化。谢谢寂老师,谢谢紫电

点击这里给我发消息

5#
发表于 2014-2-22 22:57:14 | 只看该作者
好贴!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 06:01 , Processed in 0.095986 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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