0

我有一个用户表单。用户窗体上有一个标签。

在 Userform_Initialize() 事件中,我使用以下代码:

在 x 秒后关闭用户窗体。

在一个模块中,我有

sub KillForm()
Unload UserForm1
end sub

现在我想通过单击工作表的按钮打开用户表单,并将标签的字符串 strMessage 和秒 x 传递给用户表单,所以我在模块中创建了一个子

Sub ShowMessage(strMessage As String, x As Integer)
UserForm1.Label1.Caption = strMessage
userform1.show
End Sub

并在按钮的 On_Click 事件处调用例程

ShowMessage "Hello World.", 3

唉,这行不通。x 在用户窗体上不是 3,始终为 0。

我在 Userform 模块和通用模块之上尝试了 Public x as Integer。没运气。当我在 OnTime 行中将 x 替换为诸如 3 之类的数字时,它会以 strMessage 作为标签标题出现,并在静态时间后消失。但我想用变量 x 使时间动态化。

所以:如何将 x 的值传递给 Userform 并进入例程

Application.OnTime Now + TimeSerial(0, 0, x), "KillForm"

谢谢 AG

4

1 回答 1

0

假设在闪屏显示过程中不需要后台运行其他操作,也可以修改ShowMessage如下方式:

子 ShowMessage(strMessage 作为字符串,intDisplayTime 作为整数)
    将 dblStartTime 调暗为 Double

    UserForm1.Label1.Caption = strMessage
    UserForm1.显示

    dblStartTime = 计时器
    如果 dblStartTime + intDisplayTime >= 86400 那么
        dblStartTime = dblStartTime - 86400
    万一

    而计时器 - dblStartTime < intDisplayTime
        做事件
    文德

    卸载 UserForm1    
结束子
于 2012-12-29T21:50:41.760 回答