2012-01-26 7 views
2

В 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 

Я хотел бы, чтобы спросить пользователя, в конце: «Другое название у/п» и, если пользователь отвечает «у» затем запустите макрос снова. Я искал Googled и искал stackoverflow, но я либо не использую правильные поисковые запросы, либо вопрос просто отсутствует.

ответ

1

обернуть код в цикл, который прерывается, если пользователь нажимает «Нет»;

do 
    Dim FirstName As String 
    . 
    . 
    . 

    if (msgbox("Another Name?", vbyesno) = vbno) then exit do 
loop 
+0

СПАСИБО ВАС ОЧЕНЬ МНОГО! Я знал, что должен быть НЕКОТОРЫЙ способ сделать это, но я не мог понять, что я нашел. Он работает ОТЛИЧНО. Это сделает вещи намного проще для меня и моих коллег. –

+0

Приветствую вас, вы также можете просто «if FirstName & LastName =» «, а затем выйти do', что означало бы, что 2 возвращения без ввода ничего не выйдут из цикла. –

Смежные вопросы