2017-01-04 1 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 또는 ddMMMyyy 등과 같이 하나 이상의 형식으로 입력 할 수있게하려면 어떻게해야합니까? – xxx

+0

도움이 되니 기쁩니다! 그것이 당신의 질문에 대답한다면 당신은 대답으로 이것을 표시하는 것이 가장 좋습니다. 구두점을 사용하지 않고 날짜를 인식하려면 다른 방법이 필요합니다. 새로운 질문을하는 것이 가장 좋습니다. –