咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

在excel应用程序中,我们在执行代码的时候,会弹出是否要确认执行该处理提示框。

当然这个提示框不是我们用msgbox函数做出来的,而是系统自带用来防止误操作带来的影响。

但是有时候我们并不希望有这个提示框,因为会影响我们的操作效率。那么如何去掉这个提示框呢?


此代码的作用是删除工作簿中所有非正在活动的表格。运行程序,你会发现每次删除都会弹出下面的对话框

Sub delSheet() Dim sht As Worksheet For Each sht In Worksheets If sht.Name <> ActiveSheet.Name Then sht.Delete End If Next End Sub

解决办法:

添加DisplayAlerts属性为FALSE,可以关闭程序运行中是否显示警告信息。

注意:设置为false,要谨记在程序运行完重新设置为true!

Sub delSheet() Dim sht As Worksheet Application.DisplayAlerts = False For Each sht In Worksheets If sht.Name <> ActiveSheet.Name Then sht.Delete End If Next Application.DisplayAlerts = True End Sub

Application.EnableEvents = False

Application.DisplayAlerts = False

Set ws = Workbooks.Open(Filename, corruptload:=xlRepairFile)

特别注意这个参数:

CorruptLoad

可选

XlCorruptLoad

可为以下常量之一:xlNormalLoadxlRepairFilexlExtractData。如果未指定任何值,则默认行为是 xlNormalLoad,并且当通过 OM 启动时不尝试恢复状态。

xlExtractData

2

Excel 尝试恢复工作簿中的数据。

xlNormalLoad

0

正常打开工作簿。

xlRepairFile

1

Excel 尝试修复工作簿。

实测通过