问题描述
我是这里的新手。开始学习如何在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 (将#修改为@)