ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[推荐] 十五分钟搞定VBA基础知识

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-6-5 20:39 | 显示全部楼层 |阅读模式
偶然的机会,看到这篇文章,很受启发。总体感觉该文通俗易懂,指出了学习word VBA的入门方法,不敢独享,摘来与想学习VBA的朋友们共同学习。适合和我一样的菜鸟学习,老手请绕道。


http://word.mvps.org/FAQs/MacrosVBA/VBABasicsIn15Mins.htm

原文为英文,如果有朋友需要,改天翻译成中文上传。

先翻译了一部分,祝各位端午节快乐!

15分钟学会VBA基础知识
原著:Bill Coan
翻译:EH_laoliu
首先声明,我不可能一下子把你变成VBA的专家,但是我可以向你介绍学习VBA的有用方法。下面列出的22个步骤,通常能在15分钟内完成——前提是要有一位足够耐心的人在旁边将这些步骤读给你听,而你专心坐在电脑前实践——如果没有人来帮你读,也没关系,只是你可能要花半个小时或更多一点的时间来完成这些步骤。总之,通过以下步骤,你将获得在Word环境下编程的初步体验。
在开始之前,先启动Word,然后按Alt+F11打开VBA编辑器并让窗口最大化。
准备好了吗?让我们开始吧:
1.在VBA编辑器窗口,点击“工具”-“选项”菜单,将以下复选框选中:
自动列出成员
自动显示快速信息
2.如果代码窗口没有显示出来,按F7调出代码窗口。然后输入“Sub Test”,按回车键。VBA编辑器会自动产生一个子程序,如下图:

注意光标应该在子程序中间闪烁,表示你可以继续输入代码。
3.继续在代码窗口输入以下内容,特别注意表达式后面的点号:
ActiveDocument.
4.如果要对当前活动文档进行操作,只能从这里开始(Think Jesus: No one gets to the father except through me!---好象是说:“耶稣说:必须先信仰耶稣才能见到天父”,为了说明“要对当前活动文档进行操作,必须通过“ActiveDocument.”----译者注。)在表达式后面输入点号“.”以后,会弹出一个下拉列表,这个列表是你所能想到的最让人惊奇的事情——表中所列出条目要么是ActiveDocument的方法,要么是其属性,再不就是其子对象。我们先从“方法”开始讲起。在下文,还将谈到针对除“当前活动文档”以外的其它对象的操作。
ActiveDocument的方法是指你能够对ActiveDocument所进行的“操作”,例如“打印文档”。思路是这样的:“如果我试图对整个活动文档进行某种操作,例如打印出来,那么只要我足够耐心地滚动这个下拉列表,几乎可以肯定能够从中找到我想要的方法(method)”。刚开始的时候,“方法(method)”这个词就像鱼刺一样卡在你的喉咙里,慢慢地,会感觉象烤硬的面包片,随着深入理解,你会感觉它变成甜味的糖了。事实上,在此例中,只要你够耐心,将列表一直向下翻,的确能够找到一个叫“PrintOut”的方法!找到以后,你马上就知道它是一个“方法(method)”而不是一个“属性(property),因为在它旁边有一个象绿色的砖块飞过的图标。在此阶段,你对“方法(method)”一词的全部概念就像扔砖块,是不是很有用的联想记忆,嗯?
来,让我们试一下。之前你已经滚动列表并找到了“PrintOut”项,可以按“Tab”或双击它来输入该条目。输入之后,表达式应该是下面的样子:

前面几步很简单,大多数人可能轻松完成,下一步要做什么呢?这取决于你想做什么。
如果你愿意让word将当前活动文档按它默认的方式打印出来而已,那么你已经做到了,因为你已按自己的想法,为特定的对象(当前活动文档)指定了特定的方法—PrintOut。
如果你还想对打印选项进行一些设置,那么就要提供相应的“参数”(一开始,这也是个难点),不过别担心,想要输入一个或更多的参数,你所要做的全部事情就是在刚才的表达式后面输入一个空格,剩下的事交给VBA编辑器完成吧。其实,要输入的参数和你在“打印”对话框进行了设置是一样的。输入空格之前,VBA代码窗口应该是下面的样子:

注意了!在输入空格之后,VBA编辑器再一次展现了它的强大,会闪出下图所示的情况:

哈哈,这些就是PrintOut的参数了,要是你曾注意过“打印设置”对话框的话,马上应能认出其中的大多数参数。如果对其中的某些参数还有疑问的话,只要把光标放在上面并按F1,就能调出关于它的帮助主题。
现在我们看到了所有参数,根据需要,可为它们赋值了。
赋值的方法是输入参数名称和值,中间用“:=”连接,每组参数和值之间用逗号分隔,示例如下:
ActiveDocument.PrintOut Background:=False, Copies:= 2
比较笨的办法是为每个参数赋值——尽管不需要输入所有参数名称,示例如下:
ActiveDocument.PrintOut False, , , , , , 2, , , , , , ,
让我们试一下另外的方式:

ActiveDocument.PrintOut Background:=False, Copies:= 2
也不是很麻烦,对不对?然后按F5就可以运行这个子程序了,也可回到Word窗口从“工具”-“宏”-“宏”菜单进行运行(还是按F5方便)。
在开始学习属性(properties)之前回顾一下刚才的内容……(略去约50字)
做个深呼吸吧,我们要开始研究奇妙的“属性”了

[ 本帖最后由 EH_laoliu 于 2011-6-6 10:25 编辑 ]

VBABasicsIn15Mins.rar

27.28 KB, 下载次数: 1241

网页文件

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-6-5 20:48 | 显示全部楼层
期待早日译成中文,则我辈有福矣。

TA的精华主题

TA的得分主题

发表于 2011-6-5 20:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
期待中文版。

TA的精华主题

TA的得分主题

发表于 2011-6-5 21:09 | 显示全部楼层
楼主这是想让我学习英语吧!

TA的精华主题

TA的得分主题

发表于 2011-6-5 21:25 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-6-5 21:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-6-7 08:04 | 显示全部楼层
感谢楼主。
小看了一下,注意“子程序”翻译为“过程”更恰当,也更符合VBA“精神”,呵呵。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-7 19:20 | 显示全部楼层

回复 7楼 守柔 的帖子

感谢守斑主指点!后续翻译中一并改过来。

TA的精华主题

TA的得分主题

发表于 2011-6-8 11:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-6-9 08:49 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 18:27 , Processed in 0.050465 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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