码迷,mamicode.com
首页 > 编程语言 > 详细

20150916_001 vba 基础

时间:2015-09-14 22:28:08      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

一、什么是“宏”、“宏”有什么用

关于“宏”的详细定义,可以参考百度百科的解释(点击查看)。我给它一个简单的或许不太严谨的定义:

宏的通俗定义:宏是被某些软件所能识别、理解并执行的特定代码/脚本。

宏的作用:因为宏能被软件执行、不需要人工来操作了,从而能实现“自动、批量”的业务处理,极大提高工作效率。

 

二、“宏”不是Excel也不是Office专有

要知道,宏不是Excel特有的,Office的其他组件如PPT、Word、Outlook等也都有宏。不光Office,不少软件也带有宏功能。例如印象中PS可以将一堆图片进行批量的裁剪或添加水印等处理,这可以视为一种宏。甚至连文本编辑器EditPlus都带有宏录制功能。还有些软件就专门实现宏功能的,类似“鼠标键盘录制回放器”那样将键盘操作记录下来再重新回放,比较知名的如:按键精灵、AutoHotkey等。

 

三、“宏”长什么样

如第2部分所述,很多软件都带有宏,不同软件的宏也不一样。下面这段是AutoHotkey的脚本:

 

#z::Run www.autohotkey.com

::/note::

IfWinExist 无标题 - 记事本

WinActivate

else

Run Notepad

return 

 

而Office里的宏称为VBA(Visual Basic for Application)。不同组件(Excel/PPT/Word等)中的VBA语法一样,但所支持的对象、方法会有所不同。具体代码见后文示例。

 

四、VBA:Excel中的宏

终于讲到Excel的宏了。VBA基本上就是VB(不知道VB是啥?点此)的简化版,如果有VB功底,学VBA就不费劲了。

但毕竟VBA还是属于“开发”类工作,没有任何编程经验的人(码农)能不能学会VBA呢?答案是肯定的!只要有人带进门加以点拨,再肯下些功夫,一定可以写出一些提高工作效率的VBA工具。我在新浪工作期间,曾经有个实习生能修改我写的VBA工具,学中文的,女生。

 

五、在哪里编写VBA:Excel VBE开发环境

下面我们来制作一个带宏的Excel文档。详细步骤:

1.新建一个工作薄,文件->另存为,“文件名”输入“宏测试”,在“文件类型”中选择“Excel 启用宏的工作薄(*.xlsm)”,点击保存。

技术分享

2.按Alt+F11组合键,调出VBE窗口。右键点击“VBAProject”->插入->模块。然后,在左边的窗口中出现“模块1”。

技术分享

3.双击“模块1”,在右侧的空白区录入以下代码(此代码用于在屏幕上显示一个文字提示框),完成VBA宏的编辑。见下图:

Sub VBATest()

    MsgBox "这是我的第1个VBA程序。"

End Sub

技术分享

 

注:为了使用更多关于宏的功能,最好将Excel中的“开发工具”选项卡调出来。Excel2007和2010显示“开发工具”选项卡的设置方法分别是:

Excel2007:

点击Excel左上角的Office按钮,点击弹出的菜单底部的“Excel选项”按钮,在“常用”项里勾上“在功能区显示开发工具选项卡”,确定即可。

技术分享

Excel2010:

点文件->选项,在Excel选项对方框里找到“自定义功能区”,在右侧勾上“开发工具”,确定。

 技术分享

经过以上设置后,就能在Excel主窗口上看到“开发工具”选项卡了,点开里面有诸多关于宏开发的功能。例如点击最左边的“Visual Basic”按钮也能进入VBE开发界面,跟按Alt+F11的效果一样。

技术分享

六、如何运行VBA宏

至此,我们已经成功的编写了一个VBA宏,是不是很想看看这个宏执行的结果呀?接下来探讨如何运行宏、让宏正常工作了。通常有以下几个办法:

1.从开发环境中直接运行。将光标置于Sub/End sub之间,按菜单上的绿三角按钮,或F5键。

技术分享

2.通过形状按钮调用。在工作表,点“插入”->形状,插入一下圆角矩形,输入“调用宏”并简单设置格式:

技术分享

右键点击“调用宏”这个形状,在弹出的菜单中选择“指定宏”,在“指定宏”对话框中选择刚才编写的宏(名称是VBATest),确定。

技术分享

在工作表任一单元格点击一下(好取消按钮的选中状态),这时鼠标移到按钮上就变成了小手的形状,点击后出现本宏运行的结果:

技术分享

3.快捷键调用。可以为宏设置一个快捷键,设置正确后直接按快捷键来运行宏。方法是:

在“开发工具”选项卡,点“宏”按钮,选中“VBATest”,点击右侧的“选项”按钮,设置一个快捷键,确定。

技术分享

注意:此处设置的快捷键优先级高,如果跟软件原来的快捷键冲突,会覆盖原来的。

七、为工程设置密码保护

我们编写好的宏,为了防止被人任意修改,可以设置密码。通过后才可以进到代码编辑界面进行修改。具体操作方法:在左上角的列表树上右键点击 “VBAProject...”,在弹击的菜单中选择“VBAProject属性”打开对话框,选择“保护”选项卡,勾选“查看时锁定工程”,并设置查看工程属性的密码,单击“确定”。如下图:

技术分享

20150916_001 vba 基础

标签:

原文地址:http://www.cnblogs.com/hutie1980/p/4808275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!