让Office助手同你一起玩游戏 大家知道Microsft Word、Excel可以用来写文件、编表格。但是你们是否知道利用Office中的VBA (Visual Basic for Application)还可以做很多事情,下面我就来介绍如何通过VBA编程来让Office助 手同你玩 锤子、剪刀、布的猜拳游戏。 打开Word就会自动打开一个空白文档,按快捷键 Alt+F11 就会打开Visual Basic编辑器。在编辑 器左上角是 工程 Project窗口,在窗口中包含了两个集合。一个是Normal,该集合包含了Normal文档 模版中所有的文档和对象;另一个是Project (文档 1),该集合包含了新建立的文档中的对象。点击 Project (文档 1),然后选择菜单中的 插入|用户窗体 项在集合中加入一个窗体。这样在Project (文 档 1)集合下就有三个分类:Microsoft Word对象、窗体、引用。在Microsoft Word 对象下有一个 ThisDocument对象,双击该对象打开代码编辑窗口。在Document_Open事件中加入以下代码: Private Sub Document_Open() UserForm1.Show End Sub 在窗体类中有新加入的窗体:UserForm1,双击UserForm1打开窗体设计界面。在窗体中加入三个命令 按钮。然后在窗体上点击鼠标右键,在弹出菜单中选“查看代码”项打开窗体代码窗口,在其中加入 以下代码: Const conHammer = 1 Const conClipper = 2 Const conCover = 3 Dim assOut As Integer Sub WinorLoss(iYou As Integer) Dim assStr, youStr, resultStr As String Dim bWin As Integer Dim balTemp As Balloon assOut = Int((3 * Rnd) + 1) Select Case iYou Case 1 youStr = "你出的是锤子 " Case 2 youStr = "你出的是剪刀 " Case 3 youStr = "你出的是布 " End Select Select Case assOut Case 1 assStr = "我出的是锤子 " Case 2 assStr = "我出的是剪刀 " Case 3 assStr = "我出的是布 " End Select If iYou - assOut = -1 Then bWin = 1 ElseIf iYou - assOut = -2 Then bWin = -1 ElseIf iYou - assOut = 1 Then bWin = -1 ElseIf iYou - assOut = 2 Then bWin = 1 Else bWin = 0 End If Select Case bWin Case 1 Assistant.Animation = msoAnimationBeginSpeaking resultStr = "你赢了" Case 0 Assistant.Animation = msoAnimationListensToComputer resultStr = "打成了平手" Case -1 Assistant.Animation = msoAnimationGestureUp resultStr = "哈哈,我赢了" End Select Set balTemp = Assistant.NewBalloon With balTemp .Heading = youStr + assStr + Chr(13) + Chr(10) + resultStr .Button = msoButtonSetOK .Show End With End Sub Private Sub CommandButton1_Click() Set balTemp = Nothing WinorLoss 1 End Sub Private Sub CommandButton2_Click() Set balTemp = Nothing WinorLoss 2 End Sub Private Sub CommandButton3_Click() Set balTemp = Nothing WinorLoss 3 End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "锤子" CommandButton2.Caption = "剪刀" CommandButton3.Caption = "布" UserForm1.Caption = "按下面的三个按钮出拳" End Sub