2012-01-26 16 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 

私はそれが最後でユーザーをお願いしたいと思います:「?別の名前をY/N」とユーザーの答え「y」の場合は、再度の上にマクロを開始します。私はグーグルして、stackoverflowを検索したが、私は正しい検索条件を使用していないか、質問はすでにそこにないです。

答えて

1

ユーザーが「いいえ」をクリックすると壊れるループ内にコードを折り返します。

do 
    Dim FirstName As String 
    . 
    . 
    . 

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

大変ありがとうございます!私はそれを行うにはいくつかの方法がなければならないことを知っていましたが、私が見つけたものからそれを理解できませんでした。それは完璧に機能します。これは、私と私の同僚のために物事をはるかに簡単にするつもりです。 –

+0

あなたの歓迎ですが、あなたはまた 'もしFirstNameとLastName =" "その後do do'を実行すると、何も入力せずに2回戻るとループを終了することになります。 –

関連する問題