保存时,Excel文件弹出到屏幕的前面

时间:2013-04-13 19:58:05

标签: excel excel-vba vba

我有一个简单的宏,每隔30秒保存一个excel文件(在excel 2003中)。我有两个打开运行相同宏的excel文件。问题是当他们将工作簿“pops”保存在我打开的其他工作簿的前面时。

这非常烦人,有谁知道如何防止这种行为..?

Public Sub macro_save()
    Application.EnableEvents = False
    Application.DisplayAlerts = False

    ThisWorkbook.Save
    If Second(Now) < 30 Then
        Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now), 30), "macro_save"
    Else
        Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now) + 1, 0), "macro_save"
    End If

    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub

1 个答案:

答案 0 :(得分:2)

将此行添加为您的子行中的第一行:

Dim WBactive as Workbook
Set WBactive = Activeworkbook

并在End Sub之前添加此行

WBactive.Activate

您还可以添加第三行:

Application.ScreenUpdating = False

但请记住在结束sub之前将其设置为反向:

Application.ScreenUpdating = True