作者:乔山办公网日期:
返回目录:excel表格制作
1、首先在电脑上鼠标右键单击任意Excel表格,在右键菜单中选择打知开命令。
2、进去Excel界面之后,选择Excel菜单栏中的文件按钮。
3、然后选择新页面中道的选项按钮。
4、然后在Excel选项窗口左侧选择保存按版钮,接着勾选图示自动保存设置。
5、最后设置自动保存路径,然后单击下方的确定权选项即可。
1、插入模块输zd入以下代码
Private Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
Sub 定时刷新专MSGBox3()
ActiveWorkbook.RefreshAll
Call 定时刷新
End Sub
Sub 定时刷新()
Application.OnTime Now + TimeValue("00:01:15"), "定时刷新MSGBox3" '75秒刷新一次属
End Sub
2、工作薄打开事件 call 定时刷新
最简单的实现方法
Sub StartTimer()
call a
if now>xx:xx:xx then exit sub '大于设定时间 跳出e799bee5baa6e997aee7ad94e58685e5aeb9332循环
Application.OnTime Now + TimeValue("00:00:01"), "StartTimer"
End Sub
如果要实现毫秒级的就要用API函数来实现
以下引入两个API函数:SetTimer和KillTimer,前者用于设置定时器,后者用于删除定时器
Private Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
声明lTimerID用于存放定时器的ID
Public lTimerID As Long
启动定时器,IDuration是定时器触发的时间,单位为毫秒
Sub StartTimer(lDuration As Long)
如果定时器不存在,则设置定时器,定时器触发的时间为IDuration,定时器触发后执行OnTime
If lTimerID = 0 Then
lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime)
否则停止定时器,并设置一个新的定时器
Else
Call StopTimer
lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime)
End If
End Sub
停止定时器的函数
Sub StopTimer()
KillTimer 0&, lTimerID
End Sub
OnTime函数
Sub OnTime()
' 计时器触发后运行的代码放在这
' ...
Cells(1, 1) = Now
End Sub
Alt+F11打开VBE编辑器,工程管理器zd中双击ThisWorkbook,复制粘贴下面的代码,
调用的程序回名称改成按钮对应的实际名称,保存,关闭。
再次打开该工作簿时答,每分钟运行一次。
Private Sub Workbook_Open()
Application.OnTime Now() + TimeValue("00:01:00"), "调用的程序名称"
End Sub