如何检查自动保存是否已打开,如果未打开则重新打开?

问题描述 投票:0回答:1

我在共同创作时遇到问题,弹出黄色警报横幅,表明自动保存已关闭且无法重新打开。 当这种情况发生导致某些更改丢失时,并非小组中的每个人都会注意到这一点。

我的目标是让工作簿在每次工作表发生更改时检查自动保存是否打开。目的还在于在可能的情况下将其重新打开,或者继续执行错误处理程序,并在无法执行操作时提示用户关闭并重新打开工作表。

但是,我似乎无法让它工作,发生这种情况时消息框不会显示。 下面是子程序。

Public Sub CheckAutoSave() 'add to Thisworkbook sheetchange

    With ActiveWorkbook
        If .AutoSaveOn = False Then
            .AutoSaveOn = True
            On Error GoTo AutoSaveErrHandler
            GoTo SkipErrHandler
            
AutoSaveErrHandler:
MsgBox "AutoSave failed to turn on, Re-open file.", vbOKOnly

    
SkipErrHandler:
        End If

    End With
End Sub
excel vba
1个回答
0
投票

On Error
语句放在 Sub 的开头。这是代码的清理版本:

Public Sub CheckAutoSave() 'add to Thisworkbook sheetchange
    On Error GoTo AutoSaveErrHandler
    With ActiveWorkbook
        If Not .AutoSaveOn Then
            .AutoSaveOn = True
        End If
        Exit Sub
    End With

AutoSaveErrHandler:
    MsgBox "AutoSave failed to turn on, Re-open file.", vbOKOnly
End Sub

如果仍然没有捕获错误,请点击消息上的“调试”按钮并澄清它在代码中指向的位置。

© www.soinside.com 2019 - 2024. All rights reserved.