在宏中提供选项(Microsoft Word)
如果您刚开始开发宏,则可能正在寻找一种简单的方法来向用户提供一组选择,然后根据用户的响应采取措施。如果使用InputBox函数以及Select Case结构,这是一个相对简单的任务。
第一个任务是设置您的InputBox,以便向用户显示信息。例如,假设您有五个选项,并且希望用户从这五个中选择一个选项。您可以使用以下代码将五个选项放在一起,每个选项都放在各自的行上:
sPrompt = "1. This is your first choice" & vbCrLf sPrompt = sPrompt & "2. This is your second choice" & vbCrLf sPrompt = sPrompt & "3. This is your third choice" & vbCrLf sPrompt = sPrompt & "4. This is your fourth choice" & vbCrLf sPrompt = sPrompt & "5. This is your fifth choice"
现在,当您在宏中调用InputBox函数时,可以使用sPrompt字符串。然后,您可以将用户的回答转换为代表他们从五个选项中选择的数字。执行此操作的代码如下:
sUserResp = InputBox(sPrompt, "The Big Question") iUR = Val(sUserResp)
在此示例中,将InputBox函数的响应分配给sUserResp变量,该变量应该是字符串。然后,根据字符串的值设置iUR变量,它是数字变量(整数)。 (Val函数以字符串形式返回值。)
剩下要做的唯一一件事就是根据选择的数字1到5采取行动。您可以使用Select Case结构来执行此操作。
完整的子例程可能在VBA中显示如下:
Sub TestInput() Dim sPrompt As String Dim sUserResp As String Dim iUR As Integer sPrompt = "1. This is your first choice" & vbCrLf sPrompt = sPrompt & "2. This is your second choice" & vbCrLf sPrompt = sPrompt & "3. This is your third choice" & vbCrLf sPrompt = sPrompt & "4. This is your fourth choice" & vbCrLf sPrompt = sPrompt & "5. This is your fifth choice" iUR = 0 While iUR < 1 Or iUR > 5 sUserResp = InputBox(sPrompt, "The Big Question") iUR = Val(sUserResp) Wend Select Case iUR Case 1 'Do stuff for choice 1 here Case 2 'Do stuff for choice 2 here Case 3 'Do stuff for choice 3 here Case 4 'Do stuff for choice 4 here Case 5 'Do stuff for choice 5 here End Select End Sub
请注意,此示例在InputBox函数周围使用While … Wend循环。这样做是为了确保用户输入的数字介于1到5之间。如果输入的值超出该范围,则只需再次询问用户。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1366)适用于Microsoft Word 97、2000、2002和2003。您可以为Word(Word 2007)的功能区界面找到此技巧的版本。和更高版本)在这里: