我有一個電子表格,其中包含來自 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