2017-01-04 4 views
0

私はWordで自動フォームを作成しようとしていますが、ほとんど完了しましたが、誤って日付を入力するとエラーメッセージが表示され、正しく応答されるまで質問にループバックする方法がわかりません。誰もこれで私を助けることができますか?その後、エラーが発生した場合VBA Wordにエラーループを追加するにはどうすればよいですか?

Sub mStartDate1() 

vStartDate1 = InputBox(Prompt:="Please enter the Start Date (dd/MMM/yyyy) and click ok.") 

On Error Resume Next 
    ActiveDocument.FormFields("bkStartDate1").Result = vStartDate1 

Call mStartTime1 

End Sub 

は、私は現在、それが次のフィールドに行くしているが、私はそれはエラーメッセージを提示したいと:

このコードは、現在の日付エントリのように見えるものですそれが正しく答えるまで質問にループバックしてください。

+2

最初の手順では「On Error Resume Next」を取り出しています... – Comintern

答えて

0

IsDate Functionを使用して日付が送信されているかどうかを確認してください。

While... Wend Statementを使用して実際の日付が入力されるまでループすることができます。日付を入力したら、この日付を処理に必要な形式に変換します。

Private Sub GetDate() 

    Dim dateInput As Variant 

    While Not IsDate(dateInput) 
     dateInput = InputBox("Insert date.") 
    Wend 

    dateInput = Format(dateInput, "dd/MMM/yyyy") 

End Sub 
+0

ありがとうございました。それはうまくいった。どのように日付をdd/MMM/yyyyやddMMMyyyyなどの複数の形式で入力できるようにするにはどうすればよいですか。 – xxx

+0

喜んで助けました!それがあなたの質問に答えているなら、あなたはこれを答えにするのが最良です。句読点を付けずに日付を認識するには、別の方法が必要です。新しい質問をすることをお勧めします。 –

関連する問題