我有一个电子表格,其中包含来自 SQL Server 的外部数据表,其中有一个查询,可返回特定于每个用户的数据。我已在此文件中放置说明,以允许它下载一次,然后取消链接。
不幸的是,有一位用户没有这样做,添加了一大堆数据,“保存”并丢失了他们的工作。
有什么方法可以恢复数据吗?
答案1
抱歉,您运气不佳。由于您已选中“在保存工作簿之前从外部日期范围中删除数据”,因此添加的数据从未保存,并且没有地方可以检索用户的数据。
为了防止此类事故再次发生,如果尚未启用宏,我会将工作簿更改为启用宏(.xlsm),并在 BeforeSave 事件中添加检查以查看表是否已取消链接。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sMsg As String
' Assuming the data table is the first table on the first worksheet
With Worksheets(1).ListObjects(1)
If .SourceType <> xlSrcRange Then
sMsg = "Any changes you've made to the table won't be saved unless you unlink from the database!" _
& vbCrLf & vbCrLf & "Do you want to unlink?"
If MsgBox(sMsg, vbExclamation + vbYesNo) = vbYes Then
.Unlink
End If
End If
End With
End Sub