Visual basic - проверьте, был ли ActiveWorkbook.Save() успешным
Как я могу проверить, была ли эта команда сохранения успешной?
Dim objExcel As New Microsoft.Office.Interop.Excel.Application
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
objExcel.ActiveWorkbook.Save()
End Sub
Например, когда программа работает в удаленной рабочей книге Excel, и соединение обрывается.
1 ответ
Решение
Сделал обходной путь. Перед обновлением сохраняется номер последней строки Excel, затем после обновления я тоже сохраняю этот номер.
objWorkbook = objExcel.Workbooks.Open("C:\filename.xlsx")
objSheet = objWorkbook.Worksheets("Sheet1")
lRow = objSheet.Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, SearchDirection:=Excel.XlSearchDirection.xlPrevious).Row + 1
beforeUpdate = lRow
'updating happens
objSheet.Cells(lRow, 1).value = TextBox1.Text
'finding the last available row again
lRow = objSheet.Cells.Find("*", SearchOrder:=Excel.XlSearchOrder.xlByRows, SearchDirection:=Excel.XlSearchDirection.xlPrevious).Row + 1
afterUpdate = lRow
If beforeUpdate < afterUpdate Then
MessageBox.Show("Successful update.")
Else
MessageBox.Show("The update was unsuccessful!")
End If
Этот обходной путь делает это для меня.