Word VBA高级应用案例.docx
《Word VBA高级应用案例.docx》由会员分享,可在线阅读,更多相关《Word VBA高级应用案例.docx(27页珍藏版)》请在冰豆网上搜索。
WordVBA高级应用案例
案例2:
Word中媒体的简单控制与应用
目 录
(说明:
用鼠标单击下列目录项,即调用相应内容。
)
一、Word中的媒体及其简单控制的思路
二、VisualBasic编辑器简单介绍
三、Word中基于控件的音频与视频对象的插入与简单控制
四、Word中“控件(Flash动画)”对象的插入与简单控制
五、Word中“控件(Image)”对象的插入与简单控制
六、Word中“控件(TextBox)”和“控件(Label)”的插入与简单控制
七、多媒体小报的编制
八、初步了解宏、控件与VBA
一、Word中的媒体及其简单控制的思路 返回目录
大家一般都知道在Word文档中可以插入文本、图像、艺术字、自选图形,但很少有人知道还可以在其中插入音频、视频、动画,以及对它们进行交互控制。
本案例将介绍基于“控件”的音频、视频、动画、图像、文本的简单控制,以及它们的应用。
由于艺术字、自选图形不是“控件”,而是“Shapes对象”,控制原理和方法不同,将在后续案例中介绍。
㈠Word提供的媒体“控件”对象
默认对象控件名称
媒体文件格式
WindowsMediaPlayer1
音频:
wav、mp3、wma
视频:
avi、mpg、wmv
ShockwaveFlash1
Swf
Image1
jpg、bmp等
TextBox1
交互文本
Label
文本、图像
在Word中可以使用WindowsMediaPlayer、ShockwaveFlashObject、Image、TextBox、Lable等“控件”对象实现对各自对相应的音频、视频、Flash动画、图像、文本的播放或显示控制。
“媒体控件”各自适用的常用“媒体格式”见右表。
㈡准备工作
与图像通常被嵌入Word文档不同,多媒体“控件”对象通常是以独立文件的形式被引用。
为简化路径,本案例假设Word文档和其引用的多媒体文件存于同一个文件夹中。
㈢简单控制的思路
利用“控件(命令按钮)”、VBA程序(事件、属性、方法)进行简单控制。
二、VisualBasic编辑器简单介绍 返回目录
在Word窗口执行“命令(工具/宏/VisualBasic编辑器)”,将弹出简化的“窗口(VisualBasic编辑器)”。
㈠“VisualBasic编辑器”窗口界面及各部分的基本作用
⒈“VisualBasic编辑器”窗口界面结构组成
简化的“窗口(VisualBasic编辑器)”(见上图)分为以下三个区域:
①上部区域:
一般用于放置标题栏、菜单栏和工具按钮栏。
②中部左侧区域:
一般用于放置“窗口(工程资源管理器)”等。
③中部右侧区域:
一般用于放置“窗口(代码)”等。
从上图中可以看出,上述窗口都是嵌入“窗口(编辑器)”中的“窗格”,称为“窗口”的原因是用鼠标可以把它们中的某些拖出“窗口(编辑器)”,而形成独立显示的“窗口”。
⒉简化的“窗口(VisualBasic编辑器)”各部分的基本作用
⑴“窗口(工程资源管理器)”
显示一个或多个工程的分层结构列表,其中包含各工程引用的的全部工程(以Word中的工程为例,包括:
相关“文档(Document)”、“用户窗体(UserForm)”、“模块”、“类别模块”、“ActiveX设计器”、“引用”等,本课程只简单介绍“模块”和ThisDocument两种工程对象。
如果打开“窗口(VisualBasic编辑器)”时其左侧没有显示“窗格(工程资源管理器)”,可执行“命令(视图/工程资源管理器)”。
⑵“窗口(代码)”
显示与编辑指定“模块”中的“宏代码”或指定文档中的VBA程序代码,这是程序编制者的主要工作“窗口”。
如果打开“窗口(VisualBasic编辑器)”时其右侧没有显示“窗格(代码)”,可用鼠标单击“窗口”左侧“窗格(工程资源管理器)”中的“模块(NewMacros)”,或“ThisDocument项“。
㈡“VisualBasic编辑器”的基本使用
⒈插入“模块”与编写“宏代码”
在“窗口(VisualBasic编辑器)”中执行“命令(插入/模块)”,可在“窗口“左侧的“窗格(工程资源管理器)”当前文档名对应的“Project项“下面插入“模块1”(用户可根据需要继续插入新的“模块”)。
单击新插入的“模块1”,即可在“窗口”右侧的“窗格(代码)”中编写“宏代码”。
注意:
用户录制“宏”时,将自动插入相应“模块”,并在其中自动输入相应“宏代码”。
⒉编制VBA代码
基本方法:
在“窗口(VisualBasic编辑器)”左侧的“窗格(工程资源管理器)”中用鼠标单击当前文档名对应的“Project项”下面的“thisDocument项”,即可在“窗口”右侧的“窗格(代码)”中编写VBA代码。
快捷方法:
在Word处于“设计模式”时,双击要编写其单击事件的“控件”,则直接输入“单击(Click)”事件的首、尾语句代码,并可进一步输入其中的代码。
⒊查看与设置“属性”参数
查看“属性”参数的简单方法:
在Word文档“窗口”处于“设计模式”时,用鼠标右击“控件”,再在弹出的菜单中选择“命令(属性)”,即可在弹出的“对话框(属性)”中查看“属性”参数。
设置“属性”参数有两种方法:
其一是人工设置,即在上面介绍的查看“属性”参数时进行设置;
其二是通过“宏代码”或VBA代码的赋值语句设置。
三、Word中基于控件的音频与视频对象的插入与简单控制 返回目录
㈠插入“控件对象”
执行“命令(插入/对象)”,在“对话框(新建)”中选择“WindowsMediaPlayer”,按插入的先后自动顺序命名为“WindowsMediaPlayer1、2…”。
㈡交互界面设置
鼠标右击播放器,选择“命令(属性)”,弹出“对话框(属性)”(见右图)。
直接在“uiMode”栏中根据需要设置交互界面:
Full:
含“视频窗口”和“控制区”全部控制。
Mini:
含“视频窗口”和“控制区”部分控制。
None:
只含“视频窗口”(需采用“控件(命令按钮)”等和VBA程序控制)。
Invisible:
对象消隐(可用做背景音频,视频一般不采用消隐)。
初学者也可以单击“对话框(属性)”的“自定义”栏右侧“按钮(
)”,再在继续弹出的“对话框(WindowsMediaPlayer属性)”的“下拉列表框(选择模式)”中选择设置。
㈢播放器尺寸设置
对于音频,可以通过“属性(Height和Width)”设置播放器的尺寸。
对于视频,播放器尺寸通常将自适应视频尺寸,人工设置参数无效。
㈣最简控制:
属性参数设置法
与播放控制右击“播放器”,选择“命令(属性)”,在“URL”栏(见右图)输入相应音频或视频文件的URL地址。
说明:
该地址可以是本机硬盘上的媒体文件地址,对于本机文件,一般最好将之与文档存放于同一文件夹中,此时只须简单输入文件全名,如果相应音频或视频不能播放,请改用绝对路径或借助VBA语句;该地址也可以是网上媒体文件的URL地址。
点击“工具栏(控件工具箱)”最左侧的“按钮(
退出设计模式)”,引用的音频或视频文件应自动播放。
播放器下侧的“控制区”可用于控制播放,如要修改播放器的“属性”参数,可再单击“按钮(
设计模式)”切回“设计模式”。
几个典型的URL地址:
本机绝对地址
http:
//202.112.81.34/Media/11-music.mp3
ftp:
//202.112.81.34/pub/Media/14-swan.wmv
mms:
//
mms:
//61.136.113.41/nytv_1
㈤基本控制:
VBA程序法
以插入一个“控件(WindowsMediaPlayer)”对象和四个“控件(按钮)”,并通过后者选择和控制两个音频(Music1.wav和Music2.wav)分别在同一播放器中的播放为例。
⒈调出“控件工具箱(工具栏)”
右击“工具栏”空白区,在弹出的“工具栏”列表中选用“控件工具箱”,对应的工具栏见右图。
⒉插入“控件(按钮)”
先单击文档中要插入“按钮”的位置,再双击“命令按钮(
)”,连续插入4个按钮。
右击插入的按钮,选择“属性”命令,分别修改4个按钮的“Caption”属性为“音频1”、“音频2”、“暂停”和“停止”。
⒊编写VBA程序
双击插入的“命令按钮(音频1)”,或执行“命令(工具/宏/VisualBasic编辑器)”选择“左框架”的ThisDocument,
在“右框架”中输入下列代码(CommandButton1、CommandButton2、CommandButton3和CommandButton4,分别用于音频的播放“音频1”、播放“音频2”、“暂停”与“停止”控制)。
⑴打开文档时停止播放
PrivateSubDocument_Open()
WindowsMediaPlayer1.Controls.stop '播放器控件停止音频播放
EndSub
⑵播放“音频1”
PrivateSubCommandButton1_Click() '音频1
WindowsMediaPlayer1.Controls.stop
WindowsMediaPlayer1.URL=Path&"\Music1.mp3" '设置自动组成的URL
WindowsMediaPlayer1.Controls.play '播放音频1
EndSub
⑶播放“音频2”
PrivateSubCommandButton2_Click() '音频2
'请自己参照“音频1”
EndSub
⑷暂停|继续播放
PrivateSubCommandButton3_Click() '暂停|继续播放当前乐曲
IfWindowsMediaPlayer1.playState=wmppsPlayingThen '根据播放状态决定…
WindowsMediaPlayer1.Controls.pause '暂停播放当前乐曲
Else
WindowsMediaPlayer1.Controls.play '继续播放当前乐曲
EndIf
EndSub
⑸停止播放
PrivateSubCommandButton4_Click()
WindowsMediaPlayer1.Controls.stop
WindowsMediaPlayer1.URL="" '请空URL地址
EndSub
㈥扩展:
插入RealPlayer控件
略。
四、Word中“控件(Flash动画)”对象的插入与简单控制 返回目录
㈠调出“工具栏(控件工具箱)”
右击“工具栏”空白区,在弹出的“工具栏”列表中选用“控件工具箱”。
㈡插入“控件(Flash对象)”
单击“控件工具箱”右侧“其他控件(
)”按钮,选择“ShockwaveFlashObject”,插入“控件(ShockwaveFlash)”对象图标(见右图,按插入的先后自动顺序命名为“ShockwaveFlash1、2…”)。
㈢属性参数设置法与播放控制
右击“播放器”,选择“命令(属性)”,在Movie栏输入相应动画文件的URL地址,关闭“对话框(属性)”。
点击“工具栏(控件工具箱)”最左侧的“按钮(退出设计模式
)”,引用的Flash文件应自动播放。
㈣基本方法:
VBA程序法
⒈插入按钮
单击文档中要插入按钮的位置,双击“命令按钮(
)”,连续插入4个按钮。
右击插入的按钮,分别修改4个按钮的“Caption”属性为“Flash1”、“Flash2”、“Pause”和“Stop”。
⒉编写VBA程序
双击任一个按钮,或执行“命令(工具/宏/VisualBasic编辑器)”,选择“左框架”的ThisDocument,在“右框架”中输入下列代码:
⑴打开文档时停止播放
PrivateSubDocument_Open()
ShockwaveFlash1.stop ‘播放器控件停止动画播放
EndSub
⑵播放“Flash1”
PrivateSubCommandButton4_Click()
ShockwaveFlash1.stop
ShockwaveFlash1.Movie="Flash1.swf"
ShockwaveFlash1.play
EndSub
⑶播放“Flash2”
PrivateSubCommandButton5_Click()
'请自己参照“Flash1”
EndSub
⑷暂停|继续播放
PrivateSubCommandButton_FlashPause|WMPCont_Click() '暂停|继续播放当前Flash动画
IfShockwaveFlash1.IsPlayingThen '根据播放状态决定…
ShockwaveFlash1.StopPlay '暂停播放
Else
ShockwaveFlash1.Play '继续播放
EndIf
EndSub
⑸停止播放
PrivateSubCommandButton5_Click()
ShockwaveFlash1.stop
ShockwaveFlash1.Movie="" '播放器控件Movie属性参数置空
EndSub
说明:
只对本身无交互特性的Flash动画有效。
五、Word中“控件(图像)”对象的插入与简单控制 返回目录
㈠插入“常用控件(Image)”
左击“工具栏(控件工具箱)”中的“控件(图像)”的“按钮(
)”,插入“控件(Image)”(见右图,按插入的先后顺序自动命名为“Image1、2…”)。
㈡“控件(Image)”显示尺寸设置
“控件(Image)”显示尺寸既可以在“设计模式”拖曳对象控制柄随意调整,也可以在“对话框(属性)”中设置“属性(Height和Width)”参数。
㈢“属性”参数设置法与图像显示
参数设置:
以插入单张图片为例,右键单击“控件(Image)”图标,选择“命令(属性)”,单击“对话框(属性)”的Picture栏右侧“按钮(
)”(见右图),在弹出的“对话框(加载图片)”中选择要显示的图片文件,单击“按钮(确定)”关闭“对话框(属性)”注意:
相应文件名不显示于Picture栏。
图像显示:
点击“工具栏(控件工具箱)”最左侧的“按钮(退出设计模式
)”,引用的图片文件应自动显示。
㈣VBA程序法与播放控制
⒈插入“控件(命令按钮)”
先单击文档中要插入“命令按钮”的位置,再双击“工具栏(控件工具箱)”的“命令按钮(
)”,连续插入2个“命令按钮(CommandButton1~CommandButton2)”。
右击插入的“命令按钮”,分别修改2个“命令按钮”的“属性(Caption)”为“图像1”和“图像2”。
⒉编写VBA程序
双击任一个按钮,或执行“命令(工具/宏/VisualBasic编辑器)”,在“左框架”的“Project(当前文档名)”下面选择“文档(ThisDocument)”对象,在“右框架”中输入下列代码:
⑴显示图像1
PrivateSubCommandButton1_Click() '显示“图像1”
Image1.Picture=LoadPicture(Path&"\1.jpg") '通过LoadPicture函数引用图像
EndSub
⑵显示图像2
PrivateSubCommandButton2_Click() '显示“图像2”
'请自己参照“图像1”
EndSub
⒊问题
来回单击“按钮(图像1)”和“按钮(图像2)”,“控件(Image)”中的图像不变。
原因:
图像“控件”在其引用的图片文件发生变化时,不能自动清除图片内存缓冲区的内容,因而不能自动显示变化后的图片。
解决方法:
为了清除与变换图片内存缓冲区的内容,显示变化的图片,可先向下翻屏,再向上翻屏。
⒋处理1:
录制与使用翻屏的“宏”
执行“命令(工具/宏/录制新宏)”进入“宏”录制状态,录制上述两个翻屏操作后,执行“命令(工具/宏/停止录制)”,在“窗口(VisualBasic编辑器)”的“左框架“中单击“Normal”下面的NewMacros,即可在“右框架“中看到对应的“宏代码”:
ActiveWindow.ActivePane.LargeScrolldown:
=1'向下翻屏
ActiveWindow.ActivePane.LargeScrolldown:
=-1'向上翻屏
⒌处理2:
换用其他“常用控件”
考虑换用其它支持图像的“常用控件”:
①Label(
);
②CommandButton(
)。
六、Word中“控件(文本框)”和“控件(标签)”的插入与简单控制 返回目录
㈠“控件(文本框)”与“控件(标签)”的异同
①均支持文本
②“文本框”具有交互特性
③“标签”还支持图像
㈡插入“常用控件(TextBox)和(Label)”
分别左击“工具栏(控件工具箱)”中的“控件(文本框)和(标签)”的“按钮(
)和(
)”,插入“控件(文本框)
”和“控件(标签)
”(按插入的先后顺序自动命名为“TextBox1、2…,Label1、2…”)。
㈢“控件(TextBox)和(Label)”显示尺寸设置
可根据具体需求,由下列三种方法中择一:
①在“设计模式”下拖曳“控件”四周的九个“控制柄”调节;
②通过“属性”参数“Height”和“Width”设置;
③通过VBA程序中的“赋值语句”设置。
㈣基于VBA程序的显示控制
⒈插入“控件(命令按钮)”
先单击文档中要插入“命令按钮”的位置,再双击“工具栏(控件工具箱)”的“命令按钮(
)”,连续插入2个“命令按钮(CommandButton1~CommandButton2)”。
右击插入的“命令按钮”,分别修改2个“命令按钮”的“属性(Caption)”为“文本1”和“文本2”。
⒉编写VBA程序
双击任一个按钮,或执行“命令(工具/宏/VisualBasic编辑器)”,在“左框架”的“Project(当前文档名)”下面选择“文档(ThisDocument)”对象,在“右框架”中输入下列代码VBA程序代码:
PrivateSubCommandButton1_Click() ‘显示“文本1”
TextBox1.Text="文本内容1_1"
Label1.Caption="文本内容1_2"
EndSub
PrivateSubCommandButton2_Click() ‘显示“文本2”
'请自己参照显示“文本1”
EndSub
七、多媒体小报的编制 返回目录
㈠编制多媒体小报的基本思路
在Word中制作主题式电子小报是Word应用的一个典型案例与重要环节。
国内目前流行的电子小报大多只实现了图文并茂,普遍缺乏音频、视频与Flash动画的引用,因此我们把“基于Word的多媒体小报的编制”作为本课程第二个主题式案例教学内容。
制作图、文、音、影并茂的多媒体电子小报需要综合Word以下功能:
①使用无框线表格来设置小报结构
②使用嵌套的表格
③横排或竖排的自选图形(带文本框)、文本框、图片、艺术字来设置各栏文章标题
④将各种形状的自选图形与文本框结合来变换文章的显示版面
⑤插入文字、图像、音频、视频、Flash动画等多媒体
㈡多媒体小报的典型结构
基于Word的电子小报的典型结构有两类:
①多个“无框线表格”嵌套结构;
②多个“自选图形(带文字框)”、“文本框”结构。
相比之下,前者具有版面设置简单、定位准确等优点,后者具有灵活多变等优点。
我们重点介绍利用“无框线表格”嵌套结构生成电子小报的方法。
多个“文本框(含自选图形中的文字框)”向其他“空白文本框”的链接:
右击“文本框”边,执行“命令(创建文本框链接)”,选择其他空白“文本框”;然后也可以“断开向前链接”。
可根据需要对所链接的“文本框”继续创建新的“文本框”链接,或转到“下一个文本框”、“前一个文本框”。
㈢编制多媒体小报的基本步骤
⒈设置小报的尺寸
启动Word2003,新建“空白文档”。
小报最大尺寸:
执行“命令(文件/页面设置)”
最大长度和宽度:
1584磅(102个字符)
建议尺寸:
长度:
可根据需要设置,最大1584磅(96个字符);上、下页边距:
40磅(3个字符)。
宽度:
接近占满一屏:
700磅(59个字符);左、右页边距:
40磅(3个字符)。
⒉设置小报的结构
通过“工具栏(常用)”的“按钮(插入表格)”插入表格:
①列数应等于或大于小报横向的栏数(多余的列可以用于在需要时设置纵向标题);
②行数可大于小报纵向的栏数。
均可在制作小报过程中调整
⒊设置小报的行高参数
用鼠标选中表格的全部单元格,右击鼠标执行“命令(表格属性)”,在弹出“对话框”的“参数选项卡(行)”中:
①选中“复选框(指定)”;
②设置“指定高度”的值(建议小于实际行高);
③保持“行高值”是“最小值”。
⒋建立文章标题
可以从下列两种方法中选择一种。
⑴标题独占一个单元格(可能是多行或多列单元格合并成的单元格)
建议在该单元格中插入一个单列单行表格用于输入标题(可以采用普通文本或艺术字),通过对该表格、文本或艺术字进行边框、背景、字符的设置来美化标题。
例1:
表格边框、背景色、底纹+彩色文本
例2:
无框表格+图像
例3:
无框表格、背景色、底纹+艺术字
艺术字工具栏:
艺术字字库、设置艺术字格式(填充、线条颜色等)、艺术字形状等
例4:
无框表格+自选图形
单元格参数设置技巧
对齐:
单元格对齐方式(九种)
无框线:
表格属性(“边框与底纹”按钮)
边距:
表格属性(“选项”按钮)
⑵标题与文章内容合占一个单元格(可能是多行或多列单元格合并成的单元格)
文本框标题+正文
自定义图形(含文本框)+正文
①在单元格中插入“四周型”版式的“文本框”用于输入标题(可以采用普通文本或艺术字),通过对该“文本框”、文字或艺术字进行边框、背景、字符的设置来美化标题;
②正文
⒌输入文章文本内容
文章第1部分
文章第4部分
文章第2部分
标题
文章第5部分
文章第3部分
文章第6部分
文章可以单独占用一个单元格,也可以在横向或纵向上占用多个单