cherrycdh 发表于 2022-12-6 09:05

还是vba的问题,能不能使用组的形式进行循环查询?

我有一个疑问,就是如果我有几十台计算机,然后计算机呢,有三个小组,这三个小组分别要在一定的时间内进行一个弹窗提醒,我该怎么操作比较好呢?


我一开始设定了这个,然后想着使用循环


Private Sub 定时提醒()
   
Computername = Environ("computername")

'Application.OnTime TimeValue("12:20:00"), "提醒关闭暂停"

   If Computername= "LOGIC-24" Or Computername= "LOGIC-25" Or Computername= "LOGIC-26"Then            
            Select Case Computername
            Case "LOGIC-24"
                autoer = Application.OnTime TimeValue("12:20:00"), "提醒关闭暂停" '弹窗变量
            Case "LOGIC-25"
                autoer = Application.OnTime TimeValue("12:30:00"), "提醒关闭暂停" '弹窗变量
            Case "LOGIC-26"
                autoer = Application.OnTime TimeValue("11:30:00"), "提醒关闭暂停" '弹窗变量
            End Select

Sub 提醒关闭暂停()

'设置一个提醒消息

msg = MsgBox("请关闭暂停按钮", vbInformation, "吃饭时间结束")

End Sub


但是有一个问题,就是我需要的就是三个时间,但是计算机比较多,比如说50台,然后一个一个循环就比较麻烦了,后续如果有增加或者取消的计算机也麻烦,那我能不能把它当成三个组,设置组名,现在就是我可以使用组,然后再每个组进行循环吗?如果这个计算机名在组里没有的时候再到下一个组,相同的如果计算机有修改,只要修改组内就行了呢?

jideco 发表于 2022-12-6 09:16

ck1001CK 发表于 2022-12-6 09:26

vba还是比较好用的,感谢楼楼分享

cherrycdh 发表于 2022-12-6 10:20

jideco 发表于 2022-12-6 09:16
可以主代码放在服务器上,每个机器局域网中读取主代码
你这每个机器都有代码,逻辑太乱也不好管理

因为员工在打开电脑之后都会打开同一个文件,所以我是打算在统一的文件上写入的,因此才需要获取计算机名后判断谁使用的是哪个时间段的提醒

shacool 发表于 2022-12-6 10:36

Application.OnTime 不要使用问题很多,找一个时间类,做个定时器。

cherrycdh 发表于 2022-12-6 10:39

shacool 发表于 2022-12-6 10:36
Application.OnTime 不要使用问题很多,找一个时间类,做个定时器。

哦哦,好的,谢谢
页: [1]
查看完整版本: 还是vba的问题,能不能使用组的形式进行循环查询?