ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Excel 2010 VBA 教育   VBA (Visual Basic For Application) 是一门由微软开发,嵌入在桌面应用程序中执行自动化任务的脚本语言。微软 Office 办公软件自然集成了 VBA 语言,使用VBA编写的程序就叫“宏”。英文是 macro,日文念「マクロ」。 ![教学大纲](http://upload-images.jianshu.io/upload_images/2822338-c4706db8a115646b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) [TOC] ## 一、客户对接 ### 1.1 应用场景   日本人对“整齐”有很高的追求,所以经常是用 Excel 来完成各种报告书的排版。   另一方面,日本存在大量需要在客户会社中开展工作的场合,而客户会社提供的电脑,出于正版习惯和保密需要等原因,是不允许我们随意安装使用额外软件的。这就导致我们无法使用需要安装的程序,也无法使用 Java、Python 等语言开发的程序,因为需要安装额外的运行时环境(虽然可以使用绿色版配置)。但尽管是客户会社的电脑,也会提供 Excel 等办公软件,这就使得 VBA 有了用武之地。你甚至会发现,日本人在用 VBA 开发一些超越 VBA 作为一门简单语言设计初衷的惊艳工具,尽管在我们看来可以使用高级语言更好地实现,他们也不厌其烦。这里面也有日本人主张守旧、排斥新技术的原因在。   所以,Excel 就是天然的开发环境。Alt + F11 即可进入内置的 VBE (Visual Basic Editor) 编辑器。普遍采用的是 2010 版本。 ### 1.2 项目周期 >[info] 仕様 - 見積 - 開発 - 納品   我方收到客户发来的「仕様書」。有必要的话,客户会同我方窗口者进行式样说明。   我方在准确理解客户需求之后,迅速研究工时预算,制作并向客户提出「見積書」,等待客户确认。   客户确认之后,我方开始组织「開発」工作。期间有不明之处,需要向客户确认。   按照约定时间开发完成后,提交成果物,即「納品」。   「見積書」的内容包括开发该项目的“业内平均预计工时”、“实际工作预计用时”和“纳期”三部分。真正的見積書其实只有“业内平均预计工时”一部分,详见[链接](http://msystm.co.jp/excel_estimate.html)。由于我们是初创企业,又是转包,所以提供后两者征得理解。同时,纳期下方要附一张当月日历,用于直观展示工期。   「纳品」包括:存有 VBA 代码的指定格式 Excel 文件、测试数据(ダミーデータ) 和 测试报告(検証書)。如客户需要,还应提交一份「時間フィードバック」,用以说明我方的实际用时。   成果物备妥后,如果客户需要,可以邀请客户观看我方现场演示该软件的使用,满意之后,再提交成果物。或者,直接提交即可。 ### 1.3 注意事项   软件外包项目的开发遵循“瀑布模型”,本质上是一锤子买卖,很少有二次维护的可能。开发时尽管是为了维护考虑、但当下无用处的代码一定不要写,做了反而落埋怨,而且拖慢开发进度。「仕様書」要求之外的尽管是可以提升用户体验的代码一定不要写,做了反而落埋怨,而且拖慢开发进度。若「仕様書」注明了某些操作流程和实现方法,需 **严格按照「仕様書」的要求完成开发**,不可因为结果没差就变更实现。   “项目”毕竟有别于“产品”,项目经理与产品经理的角色也是不同的。   还有,无论什么程度的实际变更,都 **不可独断** 专行,**一定** 要向客户汇报、**确认**。对日外包有一个好处是,他们的「仕様書」极尽清晰之能事,我们根本不需要做需求分析,只需要理解「仕様書」即可;麻烦的是,我们本质上属于“军机大臣跪受笔录”,没有自由发挥的空间。 ## 二、技术入门 ### 2.1 变量和常量 - 基本数据类型 ``` Dim ace As 数据类型 ace = value Const ACE As 数据类型 = value ``` ### 2.2 对象 #### 2.2.1 内置对象 #### 2.2.2 自定义(类模块) 数组还是作为对象看比较好,声明的时候使用 Variant 类型。 ### 2.3 函数    ### 2.4 GUI    ### 2.5 其他    #### 2.5.1 VBE 及其配置    #### 2.5.2 代码注释    #### 2.5.3 优化小项    #### 2.5.4 文件格式 > xl = Excel - .xl**sx**: - .xl**sm**: - .xl**tm**: ## 三、推荐材料 ### 3.2 相关网站 - [ExcelHome](http://club.excelhome.net/forum-2-1.html) - 谷歌搜索 + 百度/必应快照 - MSDN官方文档(VBE中F1键盘) - [Office TANAKA](http://officetanaka.net) ### 3.1 出版书籍 追风赶月,快速通读。 - [《别怕,Excel VBA其实很简单》](http://vdisk.weibo.com/s/zHkefYQCJVOUx) 宜查不宜学。 - [《Excel VBA 程序开发自学宝典》](http://www.jb51.net/books/110151.html) - [《Excel VBA 编程实战宝典》](http://www.jb51.net/books/432306.html) ### 3.2 视频教程 - [兰色幻想VBA从入门到进阶80集完整版](http://pan.baidu.com/s/1i37XOBb) 密码: 6rkz - [ExcelHome](http://www.excelhome.net/video/excel/vba/list_81_1.html) ## 四、项目练习 ### 4.1 词频统计    > 关键字:`Word 对象`   待续。 ### 4.2 模板生成 > 关键字:`Access 数据库`   待续。 ### 4.3 扫描目录 > 关键字:`递归`   待续。 ## 五、拓展学习   除了 VBA 宏,VBS 脚本(类似于服务器脚本,可在Windows上直接解释运行)和 VB.NET 程序也经常收到开发需求。因为后两者同样不需要安装即可运行。一般,VB.NET 程序开发完成后是不允许进行打包的,那样就需要先安装才能使用了,与「1.1 应用场景」不符。 - [VBS](http://www.jb51.net/shouce/vbs/vtoriVBScript.htm) - VB.NET