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

Posted

技术标签:

【中文标题】保存时Excel文件弹出到屏幕前面【英文标题】:Excel file pops to front of screen when saving 【发布时间】:2013-04-13 19:58:05 【问题描述】:

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

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

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】:

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

Dim WBactive as Workbook
Set WBactive = Activeworkbook

End Sub之前添加这一行

WBactive.Activate

您还可以添加第三行:

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

【讨论】:

谢谢!添加了 Application.ScreenUpdating = False,现在似乎工作得更好了!

以上是关于保存时Excel文件弹出到屏幕前面的主要内容,如果未能解决你的问题,请参考以下文章

在asp.net中怎么把xml文件到出到excel中

excel怎样恢复未保存的工作簿文件?

VB弹出打开对话框,选择文件excel文件

jsp调用java方法导出excel为啥会弹出保存或下载的对话框,调用完之后直接将文件保存到指定路径下即可。

csv文件怎么转换为Excel文件

如何制作excel模板并保存使用?