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

Этот обходной путь делает это для меня.

Другие вопросы по тегам