始终相同的自定义错误消息 - VBA Word 64位

时间:2017-08-08 18:58:46

标签: vba ms-word 64-bit word-2016

我正在使用VBA for Word 2016 64bit创建一个程序。

如果有人将字母输入到为整数格式化的TextBox中,则会显示错误消息。

如何让它不允许用户输入除整数之外的任何内容?我可以在用户点击“提交”按钮时检查它吗?以下是一个TextBox代码示例:

Private Sub CurrentRate_AfterUpdate()
    If CurrentRate.Text - CurrentRate.Text > 0 Then
        CurrentRate.Value = Format(CurrentRate.Value, "Percent")

    Else
        CurrentRate.Text = CurrentRate.Text / 100
        CurrentRate.Value = Format(CurrentRate.Value, "Percent")
    End If
End Sub

基本上它采用currentRate的值并进行数学运算,然后将其格式化为百分比。如果它不是整数,则无法进行数学运算或将其格式化为导致错误的百分比。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:-1)

离开Andy G说的话,我发现我应该检查值是否是一个数字,如果它是公式,如果它没有做一个消息框。

Private Sub CurrentRate_AfterUpdate()
    If IsNumeric(CurrentRate.Text) Then

        If CurrentRate.Text - CurrentRate.Text > 0 Then
            CurrentRate.Value = Format(CurrentRate.Value, "Percent")

        Else
            CurrentRate.Text = CurrentRate.Text / 100
            CurrentRate.Value = Format(CurrentRate.Value, "Percent")
        End If

    Else
        MsgBox("Invalid Entry, Please Try Again")
        CurrentRate.Text = ""

    End If
End Sub