您的位置:首页精文荟萃办公软件 → 让Word XP“开口”讲笑话

让Word XP“开口”讲笑话

时间:2004/11/7 1:41:00来源:本站整理作者:蓝点我要评论(0)

    Word算得上是使用最广泛的应用软件了,但是如果你仅仅用它来打打字、画画表,那就太平淡无奇了,也有些委屈了Word。Word不仅有强大的文字编辑能力,它还内嵌一个VBA(Visual Basic for Applications)编程环境,可以开发出满足个性需求的功能来。

    本人利用VBA编写了一个“Word讲笑话”,做出来后颇有成就感,现将开发过程和心得写出来与读者朋友分享。

    能实现的功能是:当每次启动Word时将自动运行“Word讲笑话”,能随机的显示一条笑话(当然,笑话得事先录入好并保存在一个文本文件中)。“Word讲笑话”的面板中一共有三个按钮,点击“下一条”可继续阅读其它笑话,点击“关于”可显示作者和帮助信息,点击“关闭”将关闭窗口。面板中还有一个复选框,可以让用户自由决定下次启动Word时是否显示笑话。

    开发过程主要有以下几个环节(以Word XP为例):

    一、建立窗体

    窗体是窗口和对话框的统称,它是Windows应用程序的用户界面的基础部分。窗体是控件的容器,用来放置文本框、命令按钮、复选框等各种控件。

    1、启动Word,单击菜单“工具→宏→Visual Basic编辑器”,也可以按快捷键[Alt+F11],切换到Visual Basic编辑器窗口。

    2、单击菜单“插入→用户窗体”,系统建立一个默认样式的用户窗体。对窗体可拖动其右、下边的小方框来可改变大小,本例中根据功能需要将窗体拖为扁长形状。

    3、单击菜单“视图→属性窗口”,在属性窗口中修改窗体的几个主要属性值。在属性列表中选定“名称”属性,输入“Xiaohua”,然后选定“Caption”属性,输入“Word讲笑话”。现在,我们便能看到一个标题为“Word讲笑话”的窗体了。

    

    小提示:窗体中的点状物称为“网格”,它能在建立控件时起位置参考和智能对齐的作用,单击菜单“工具→选项”,选择“通用”选项卡,可修改网格的选项和网格块的大小,建议使用较小的网格设置,这样能使控件更靠近窗体边缘的位置,以达到美观的效果。

    二、建立控件

    建立了窗体就相当于打好了地基,下一步的工作就是“添砖加瓦”了,也就是建立控件。常用控件包括文本框、命令按钮、标签、复选框、滚动条等。建立控件的方法很简单,单击菜单“视图→工具箱”调出工具箱,在“工具箱”中选择控件类型,然后在窗体上单击或拖动即可。

    

    1、创建文本框:在“工具箱”中选择“AB|”样式的按钮,在窗体上拖动建立一个文本框,并用鼠标调整其位置、大小,若需精确调整,也可在属性窗口中调整“Height”、“Width”等属性值。很关键的一点是要将“MultiLine”属性值设为“True”,它的作用是使文本框能显示多行文本。

    2、创建命令按钮:在“工具箱”中选择命令按钮(鼠标悬停会显示“命令按钮”字样),在窗体上的文本框右边拖动建立一个命令按钮,调整好大小并修改其“Caption”属性值为“下一条”,接着依次建立“关闭”、“关于”按钮。

    3、创建复选框:在“工具箱”中选择复选框按钮,在窗体上的文本框下方单击鼠标左键,便创建了一个复选框,修改其“Caption”属性值为“下次启动时不显示”。

    4、创建标签:可在窗体的空余部分以“标签”的形式显示作者等信息。

    小提示:为了使窗体、控件看起来更美观、协调,可以使用“格式”菜单下的“统一尺寸”命令项使按钮大小相同,使用“对齐”、“水平间距”、“垂直间距”等命令项,使各控件均匀、合理的布置在窗体中。

    三、编写代码

    上面建立的窗体和控件还只是“徒有其表”,因为还没有为各个控件赋予具体的功能,接下来就需要编写VBA代码 ,通过代码告诉各控件在什么情况下该执行什么任务。编写代码的方法是:单击菜单“视图→代码”或按F7键,即切换到代码窗口,可在代码窗口的声明部分(顶端空白区域)开始录入代码。

    

    首先要编写的是公用Sub过程的代码,Sub过程是一系列由Sub和End Sub语句包含起来的 VBA 语句。以下两个Sub过程分别实现显示笑话和关闭窗体的功能。代码如下:

    Sub 显示笑话()
  Dim line$(500) ’定义笑话文件的最大行数
  Open "c:xiaohua.dat" For Input As #1 ’打开笑话文件
  Do While Not EOF(1)
  N = N + 1
  Input #1, line$(N) ’读入笑话内容到变量
  Loop
  Close #1
  Randomize
  num = Int(N * Rnd + 1) ’产生随机数
  Do While line$(num) = "" ’识别并忽略空行
  num = num + 1
  If num = N + 1 Then num = 1
  Loop
  TextBox1.Text = line$(num) ’显示笑话内容
  End Sub

      Sub 结束()
  Open "c:xiaohua.ddd" For Output As #1
  If CheckBox1.Value = True Then ’结束前检查是否选中复选框
  Print #1, "no" ’若选中则写入判断因子“no”
  Else: Print #1, "yes" ’未选中则写入判断因子“yes”
  End If
  Close #1
  End ’关闭窗体
  End Sub

    小提示:

    1、上面的笑话文件c:xiaohua.dat是一个纯文本文件,需事先用记事本录入保存,在录入或维护时要求每条笑话独占一行(不回车换行),两条笑话之间可插入一个或多个空行,笑话文件的总行数不能超过定义的最大行数。

    2、文件c:xiaohua.ddd也是一个纯文本文件,其作用是被用来放置判断因子,后续步骤中的宏代码将根据此文件中的判断因子来决定是否在启动Word时显示笑话。此文件不需手工建立,由程序自动生成。

    接下来要编写进入、离开窗体时、单击“下一条”、“关闭”等按钮时的事件过程,当发生事件时将调用公用的Sub过程来执行功能。代码如下:

    Private Sub UserForm_Activate() ’运行窗体时显示笑话
  End Sub
  Private Sub CommandButton1_Click() ’单击“下一页”按钮时显示笑话
  End Sub
  Private Sub CommandButton2_Click() ’单击“关闭”按钮时结束
  End Sub
  Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
’通过其它途径关闭窗体时结束
  End Sub

    小提示:这一部分代码可以紧接第一部代分码连续录入,也可在代码窗口的“对象框”、“过程/事件框”中分别选择对象和事件,然后在自动给出的Private Sub…与Sub之间输入要调用的Sub过程名,这样减轻了录入量,并减少了出错的可能性。

    四、完善功能

    完成上面三步便初具规模了,窗体已经能够运行,但复选框的作用还不能发挥出来。接下来通过创建宏来完善窗体功能。

    创建宏的方法是:单击菜单“工具→宏”,在“宏名”文本框中输入宏名“Autoexec”,接着单击“创建”,录入完成以下代码:

    Sub Autoexec()
  On Error GoTo err ’出错处理
  Open "c:xiaohua.ddd" For Input As #1
  Input #1, Ask$ ’读取判断因子
  Close #1
  If Ask$ = "yes" Then xiaohua.Show
’若判断因子为yes则运行xiaohua窗体
  err:
  End Sub
  Sub笑话()
  xiaohua.Show ’xiaohua为第一步中建立的窗体名称
  End Sub

    录入完毕后关闭Visual Basic窗口返回到Word。以上代码创建两个宏,Autoexec宏是一个自动宏,它在Word启动时自动运行,并根据读取的判断因子来决定是否运行窗体。名为“笑话”的宏则无条件运行xiaohua窗体,为了能方便的运行这个宏,我们可把它添加为菜单命令,方法是:单击“工具→自定义”,选择“命令”选项卡,在“类别”框中找到“宏”,将右边的“命令”框中“Normal.NewMacros.笑话”拖入菜单“工具”中,并对拖入的命令点右键,在“命名”文本框中重命名为“Word讲笑话”。

    至此,全部工作完成。当Word启动时就能看到笑话了,平时要阅读笑话时,单击菜单“工具→Word讲笑话”即可。若选中了“下次启动时不显示”复选框,以后也可随时使用它的菜单命令来恢复显示。

    

    小提示:不知你发现没有,上面做出来的这个小东东,和很多软件的“每次一贴”、“日积月累”非常的相似,而独到之处是可以自己决定要显示的内容,如果你还想看些名人名言来提高自己的修养,或者想多学些电脑小技巧,不妨把这些内容组织进去,用它来做最具有个性化的“日积月累”妙妙贴。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 装WPS后文件默认打开方

最新文章 福昕阅读器如何将pdf转pdf合并软件操作教程 Win7设置PPT放映时显示备注的方法PPT备注放映时怎么弄 PPT放映时如何看备注PPT高级技巧 PPT高手必备的三个小技巧word或csv文件转换成excel的方法

人气排行 PPT备注放映时怎么弄 PPT放映时如何看备注福昕阅读器如何将pdf转化为word 福昕阅读器PPT高级技巧 PPT高手必备的三个小技巧Win7设置PPT放映时显示备注的方法.pet文件怎么打开,pet文件是什么一键处理:Excel批量复制文件名技巧装WPS后文件默认打开方式仍为Office解决方法WPS中特殊符号输入技巧