【问题标题】:Ask the user if they want to do it again询问用户是否想再做一次
【发布时间】:2012-02-19 17:11:02
【问题描述】:

在 Word 2011 中,我有一个基本宏提示用户输入,然后格式化输入并将其放入文档中。例如:

Sub AddNewName()
'
' AddNewName Macro
'
'
    Dim FirstName As String
    FirstName = InputBox("Enter First Name", "")
    Dim LastName As String
    LastName = InputBox("Enter Last Name", "")
    Selection.TypeText Text:="First Name : "
    Selection.TypeText Text:=FirstName
    Selection.TypeParagraph
    Selection.TypeText Text:="Last Name : "
    Selection.TypeText Text:=LastName
End Sub

我希望它在最后询问用户:“另一个名称?y/n”,如果用户回答“y”,则重新启动宏。我已经用 Google 搜索并搜索了 stackoverflow,但我要么没有使用正确的搜索词,要么问题还没有出现。

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    将代码包装在一个循环中,如果用户单击“否”,该循环就会中断;

    do
       Dim FirstName As String
       .
       .
       .
    
       if (msgbox("Another Name?", vbyesno) = vbno) then exit do
    loop
    

    【讨论】:

    • 非常感谢!我知道必须有某种方法可以做到这一点,但我无法从我的发现中完全弄清楚。它工作得很好。这将使我和我的同事变得更容易。
    • 欢迎您,您也可以只使用if FirstName & LastName = "" then exit do,这意味着不输入任何内容的 2 次返回将退出循环。
    猜你喜欢
    • 2020-02-15
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多