如何防止用户在VBA中为Visio文档输入错误的时间格式

问题描述

我是这里的新手。开始学习如何在VBA中进行编码,并将其用于自定义Microsoft Visio文档。我创建了一个inputbox选项,用户可以在其中输入时间。我创建了一个循环,以防止用户输入字母或将时间输入的长度限制为四位数。但是,我不知道如何防止用户输入错误的时间格式。示例:我试图防止用户输入时间为1566(军事时间)或2500。我的代码行在下面,但我不知道从哪里开始防止用户输入错误的时间格式。>

我很谦虚地寻求帮助!

Sub BackGroundTime()
    Dim shpNum As Integer
    Dim ADate As String
    Dim formTime As String
    
    Set shp = Visio.ActiveWindow.Selection(1)
    shpNum = shp.ID
    
    formTime = Format(LongTime,"HHmm")
    formTime = InputBox("Enter Time","Time")

Do Until IsNumeric(formDate) And Len(formDate) = 4

        formDate = InputBox("Enter Time","Time")
        If IsNumeric(formDate) And Len(formDate) = 4 Then
            Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(shpNum).Characters

            Application.ActiveWindow.Page.Shapes.ItemFromID(shpNum).CellsSRC(visSectionObject,visRowFill,visFillForegnd).FormulaU = "THEMEGUARD(RGB(255,255,255))"

            vsoCharacters1.TExt = formDate

            ElseIf formDate = "" Then
             Application.ActiveWindow.Page.Shapes.ItemFromID(shpNum).CellsSRC(visSectionObject,102))"
             Exit Do
        Else
            MsgBox ("Please check your input for 'Time'. The time format must be four digits and no letters")
                End If
        Loop

End Sub

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)