乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>EXCEL</em> 怎么用VBA实现每隔1分钟自动执行ctrl+s(...-excel

<em>EXCEL</em> 怎么用VBA实现每隔1分钟自动执行ctrl+s(...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


假如你要显示毫秒,那以为这你的这个程序要没一毫秒执行一次,这样你的停止计时按钮估计就废了,所以我觉得没有必要搞到毫秒级

1、首先在电脑上鼠标右键单击任意Excel表格,在右键菜单中选择打开命令。

2、进去Excel界面之后,选择Excel菜单栏中的文件按钮。

3、然后选择新页面中的选项按钮。

4、然后在Excel选项窗口左侧选择保存按钮,接着勾选图示自动保存设置。

5、最后设置自动保存路径,然后单击下方的确定选项即可。


亲,这个要用递归。代码如下。

打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet1上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。

 

Sub af()
Application.OnTime Now() + CDate("00:01:00"), "Sheet1.af"
Rows.AutoFit
End Sub


最简单的实现方法
Sub StartTimer()
call a
if now>xx:xx:xx then exit sub '大于设定时间 跳出循环
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()
' 计时器触发后运行的代码636f7079e799bee5baa6e79fa5e98193332放在这
' ...
Cells(1, 1) = Now
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网