在“静默”模式下将 Excel 工作表另存为 csv 的 VBA 代码

问题描述

我将交易作为 CSV 文件保存到网络驱动器。一个交易最多可以包含 3 个 CSV 文件。 由于它是网络驱动器,这可能需要几秒钟的时间,具体取决于网络流量。

因此,如果用户单击“提交”按钮,屏幕会随着每个 CSV 文件的保存而最多闪烁 3 次。从技术上讲,一切正常,但我想抑制这些操作在屏幕上可见地发生,而是显示一个消息框,一旦将 CSV 保存到网络驱动器,该消息框就会消失。

我可以找出消息框部分,但找不到任何可以解决“隐形保存”部分的内容。我使用的代码是:

Set shtToExport = WS3     'Sheet to export as CSV for Transaction
 Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count) 
Application.DisplayAlerts = False 'Overwrite without asking
wbkExport.SaveAs Filename:=Path & Filename1 & ".csv",FileFormat:=xlCSV,Local:=True
'Create CSV Backup to retieve Transaction and Bonuspoint Info for transaction
wbkExport.SaveAs Filename:=Path & Filename2 & ".csv",Local:=True
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False

WS3、Path、Filename1 和 Filename2 在代码中的其他地方定义

有什么想法吗?

解决方法

尝试使用: Application.ScreenUpdating = False

这应该会停止屏幕闪烁,但是之后您应该将其设置为 true。

让我知道这是否有效 谢谢!

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...