wordvba,word vba教程
EXCEL VBA和WORD VBA有什么区别?
原则上是一样的语法
但是调用的类不一样,即Application,例如你调用Application那么在word里就是word的类,在Excel是excel的类。
只是名字一样而已。
比如在word的VBA里,你没有办法找到Application.ActiveSheet,因为这是excel里面的功能!
怎样在word使用VBA编写的窗体?
在Word2010文档窗口显示“开发工具”选项卡
“开发工具”功能区中包括VBA代码、宏代码、模板和控件等Word2010开发工具,默认情况下,“开发工具”选项卡并未显示在Word2010窗口中,用户需要手动设置使其显示,操作步骤如下所述:
第1步,打开Word2010文档窗口,依次单击“文件”→“选项”按钮,如图1所示。
图1?单击“选项”按钮
第2步,在打开的“Word选项”对话框中切换到“自定义功能区”选项卡,在“自定义功能区”区域的“主选项卡”列表中选中“开发工具”复选框,并单击“确定”按钮,如图2所示。
图2?选中“开发工具”复选框
第3步,返回Word2010文档窗口,可以在功能区看到“开发工具”选项卡,如图3所示。
图3?“开发工具”选项卡
使用VBA在查询WORD中表格的内容
1.实例分析
分析:的目的是将指定工作表找出来,并且将其激活为当前工作表,这里首先要找出工作表,这个操作我们可以直接通过sheets("工作表名称")来指定,这个工作表名称接收用户输入,这里用一个inputbox就可以;然后就是选中激活为当前工作表,这里有一个select关键字就可以。
2.程序设计
根据上面的实例分析,我们编写出下面这套程序:
Sub SelSht() '工作表查找
Dim Sht As String
Dim str As String
On Error Resume Next 【1】
Sht = InputBox("请输入工作表名称:") 【2】
Sheets(Sht).Select 【3】
str = Err.Description 【4】
If str "" Then 【5】
MsgBox "不存在该工作表或名称输入有误!" 【6】
End If
End Sub
3.程序分析
【1】这句代码的意思是如果下面程序有错误不报错,这样做的目的是为了防止,用户输入的工作表名称不存在而导致程序无法运行
【2】接收用户输入工作表名称,并赋给Sht这个变量
【3】如果工作表存在,那么这句代码就会选中工作表,并将其激活为当前工作表
【4】如果前面代码出现错误,这个时候str就会被赋予一个变量,该变量值为所提示的错误字符串
【5】对str进行判断,很明显如果str为空值说明前面的程序没有出错,也就是工作表找到了,但是如果不为空,说明出错了,工作表没有找到,进而进入if语句内执行
【6】提示用户不存在该工作表或名称输入有误
4.将程序制定到Excel界面按钮上
在工具栏空白处,单击右键,选择窗体,弹出一个对象框,然后选择按钮,将指定的程序连接给该按钮。