Excel VBA高效办公应用-第九章-VBA文秘办公技巧-Part1 (每日行程安排提醒)

首先,这是个很有趣的例子,可以考虑在日常工作中提醒个人事项。


代码如下:
Option Explicit

Private Sub CommandButton1_Click()
Dim mop As Boolean '定义一个布尔变量
mop = True '令其等于True
Select Case mop
Case OptionButton1 = mop '选中第一个,则不作处理
Case Else
    Bdone(Thing) = True '选中2,3个则对当前的事件不再处理
End Select
UserForm1.Hide '提醒完后,关闭窗体
End Sub

Option Explicit
Public Bdone(3) As Boolean '定义全局变量,记录用户的反应
Public Thing As Integer '定义全局变量,记录已经触发的事件
Sub test()
'定义变量Inowtime用分钟总数表示现在的时间,Iplantime(3)记录用分钟表示当日各个时间
Dim Inowtime As Integer, Iplantime(3) As Integer
'定义Iday表示当日所在的星期乘2
Dim i As Integer, Iday As Integer
    Iday = Weekday(Now()) * 2
    Inowtime = Hour(Now()) * 60 + Minute(Now())
    For i = 1 To 3
        Iplantime(i) = Hour(Cells(Iday, i + 2)) * 60 + Minute(Cells(Iday, i + 2))
        '比较每个计划时间与当前时间
        Select Case (Iplantime(i) - Inowtime)
            '如果计划时间在当前时间之后,则事件已经过去,不再提醒
            Case Is < 0
            '如果计划时间比当前时间在30分钟之内,则进行提醒
            Case Is < 30
                '加入布尔变量用来考虑用户的选择,如果用户选择不提醒,则不提醒当前事件
                If Bdone(i) = False Then
                Thing = i '记录当前事件
                '赋值给窗体标签,设置提示语
                UserForm1.Label1.Caption = "还有" + Str(Iplantime(i) - Inowtime) + _
                "分钟就到" + Cells(Iday + 1, i + 2) + "的时间了"
                UserForm1.Show '显示窗体
                End If
        End Select
    Next i
    '每隔5分钟调用此函数
    Application.OnTime Now + TimeValue("00:05:00"), "test"
End Sub

Option Explicit

Private Sub Workbook_Open()
    '激活"一周时间安排"表
    Sheets("一周时间安排").Activate
    test '一打开电脑就执行test函数
    '每隔5分钟调用此函数
    Application.OnTime Now + TimeValue("00:05:00"), "test"
End Sub


窗体设计:

下周,准备在自己的电脑上用起来。呵呵。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值