正在写一份给初学者(非程序员)用的 VBA 参考手册,计划主体有四部分:
现在已经写完了,第一部分语法说明
。
欢迎大家提下对文档的意见。 另外,不知道要怎么写才能让新手更快入门,欢迎各位大佬斧正。
文档地址: 简明 Excel VBA
ps:我不是做 VBA 的,也是一边看别人资料,一边整理。
文档的问题或者感兴趣的内容,欢迎大家提 Issue
有提交的欢迎提交pull request
1
ajan 2017-09-19 10:52:02 +08:00
棒棒哒
|
2
jydeng 2017-09-19 10:58:16 +08:00
赞一个
|
3
meisky6666 2017-09-19 10:58:58 +08:00
推荐给身边的会计
|
4
laycher 2017-09-19 11:08:20 +08:00
整理总比不整理好。
|
5
vlean OP @meisky6666 好的 可以让他看看有什么需要补充的 或者他需要哪一块的
|
7
depress 2017-09-19 11:38:26 +08:00 5
我觉得啊,你要是写一个面对非程序员的手册,我给你两条建议:第一,VBA 市场里 office 版本混乱,高版本编写的在低版本里可能运行有问题,最好说清楚你的教程是用哪个版本写的。第二,程序员类描述语言尽量别出现,非程序员可不知道冒泡排序是什么东西,更重要的是这个排序能解决什么问题。
但是你要是为了让人更快入门,手册性质的教学不是好办法,手册是用来查的,不是用来学的。学习 VBA 的人不是因为要找 VBA 开发的职位,而是有个现成的问题需要解决,他们需要的教程是①VBA 是什么②从哪进入开发③怎么看开发结果④基础开发知识⑤实际问题解决,对应起来我更愿意①录制一个宏,查看宏源码,告诉他们这就是 VBA,②然后告诉他们怎么在界面调出开发工具进入编码窗口,③然后编写一个简单的例子拉出一个按钮设置按钮宏,让他们知道点一下按钮就能看到代码结果,④结合刚才编写的例子讲解基础知识,⑤最后判断目前的问题是哪一类的,找对应类的例子加以修改扩充。以我学习 VBA 的路来看,最重要的还是例子,所以把常见的问题从简到难列出来进行讲解是很不错的方式,像数据库连接这种偏难的知识就不要放基础知识讲解里了,直接在对应的例子里说明就好。其实现在 VBA 开发的视频教程、书籍都有,都挺不错的,所以感觉你也不用像我说的似的写这么详细,还是写个手册更靠谱。 |
8
vlean OP @depress 多谢了, 版本这个确实要注意下 ,我再查找资料的时候也碰到了会说到版本的问题,尤其是 MSDN 官方文档里的。
最开始写目的是想给朋友提供一个简要说明 VBA 各个相关知识点的速查手册。了解了基础之后哪部分忘了就可以通过这个快速检查下了。 给新手直接讲例子这个可以有。后面我注意下多增加些例子。 VBA 开发的视频教程,我也收集下放到参考资料里把。 |
9
sss3600123 2017-09-19 13:03:54 +08:00 via iPhone
多谢
|
10
LokiSharp 2017-09-19 14:09:22 +08:00
有啥办法能替换 Office 里面的 VBA 编辑器么?
|
11
vlean OP @LokiSharp 这个好像没有,其实我想让他学的是用 python 操作 excel 获取数据 然后再输出 -_- 但是他们公司内部用的都是 vba 所以才写了这份文档
|
12
Alexhex 2017-09-19 15:40:35 +08:00 2
|
14
showjim 2017-09-19 16:15:17 +08:00
加油 LZ,以后有空的话来帮忙
|
15
kumitom 2017-09-19 16:19:19 +08:00 1
例如 sum(10,9)结果就是 10 了?
|
16
huage 2017-09-19 16:34:39 +08:00
亚马逊上有相关 vba 的书箱,你看一下就知道怎么写目录了
|
19
fangbei 2017-09-19 16:59:58 +08:00
挺好的,这样边整理边写,也能增强自己的逻辑和叙事能力。即使有其他资料,我觉得你写出来也肯定与其他人的不一样,因为每个人的逻辑能力和描述能力都不同。
前面 depress 的方法就挺好,入门新手就应该一步一步(不要嫌麻烦)详细列出来。 |
20
xiandao7997 2017-09-19 17:24:13 +08:00
粗略看了下 一开始没讲怎么进入 vba 开发环境?一般对于初学者来说先有环境才能继续在上面折腾。。
|
22
vlean OP @xiandao7997 恩 那写完界面说明之后 把这章放前面 就可以了
|
23
dsg005 2017-09-19 17:55:05 +08:00
是雅正
|
25
happy8109 2017-09-19 22:59:18 +08:00
更想看 Word VBA,excel VBA 网上手册教程比较多,但关于 Word 的确很少
|
26
vlean OP @happy8109 office vba 的基础语法差不多
应该不会写 word vba 的 不过可以参考下 MSDN 的官方文档 [office VBA]( https://msdn.microsoft.com/zh-cn/library/office/ff604039(v=office.14).aspx) [word vba 参考]( https://msdn.microsoft.com/ZH-CN/library/office/ee861527.aspx) |
27
Mavious 2017-09-20 15:08:53 +08:00 1
嗯,作为一个非程序猿,写过 vbs,写过极其简单的 py,十分赞同 @depress 的回答。
别的不说,就以我的立场来谈谈非程序猿遇到问题的时候,是怎么思考的吧。 非程序猿为什么要写代码?还不是强需求造成的。 我不太可能去读基础知识,但是我要解决目前的困难呀。 于是我先百度一堆能解决类似需求的代码,然后努力读懂它。 读懂了再改造成我要的样子。 如果我的需求很难很难,我不会自己研究了,直接聘一个专业的来写。 艰深的东西不是非程序猿需要的。 遇到困难,我一般直接百度: if __name__ == '__main__'毛意思?能不能删了? 为什么有的函数后面是个空括号“()”,有的括号里有内容? 这行代码要加在哪一行呢?不小心放错了位置就死循环了。 数组毛意思?能解决我遇到的分割问题吗? list index out of range 报错咋解决? 用 py 打开网页怎么写? 发出警报声怎么写? 如何遇到网络错误就原地复活,而不是自动自发的挂了? 如何 print 当前时间? 只选定数字的正则怎么写?(速速翻阅巨硬的语法手册就知道啦) 我查 requests 模块的文档时,我只是想知道 timeout 会不会影响程序运行时间,而不是从头读起。 所以,丰富的实例(尤其是恰好能套入我需求的实例);用简单易读的语言描述这句话到底能实现啥(不是解释这句代码的前世今生)。才是非程序猿需要读的内容。 |
28
vlean OP |
29
wisefree 2017-11-12 16:00:05 +08:00
so good!
|