I am using some very basic code to test my app where i open a Excel Workbook, count the nbr of sheets in beginning
then delete 1 sheet and then count sheets again and save. For some reason i can not actually delete sheet, the sheet
count is same before and after delete and after save the sheet is still in work book. Hope someone can see what i am doing wrong here
Dim oExcel As Object = CreateObject("Excel.Application")Dim oBook As Object = oExcel.Workbooks.Open("C:\Users\Documents\acme.xls")Dim oSheet As Object = oBook.Worksheets(2)MsgBox(oBook.Worksheets.count)oSheet.Delete()MsgBox(oBook.Worksheets.count)oBook.SaveAs("C:\Users\Documents\ACME-New.xls",)oExcel.Quit()
Dim oExcel As Object = CreateObject("Excel.Application")Dim oBook As Object = oExcel.Workbooks.Open("C:\Users\Documents\acme.xls")Dim oSheet As Object = oBook.Worksheets(2)MsgBox(oBook.Worksheets.count)oSheet.DeleteMsgBox(oBook.Worksheets.count)oBook.SaveAs("C:\Users\Documents\ACME-New.xls")oExcel.Quit()
Dim oExcel As Object = CreateObject("Excel.Application")Dim oBook As Object = oExcel.Workbooks.Open("C:\Users\Documents\acme.xls")Dim oSheet As Excel.Sheets = oBook.WorksheetsMsgBox(oBook.Worksheets.count)oSheet(2).Delete()MsgBox(oBook.Worksheets.count)oBook.SaveAs("C:\Users\Documents\ACME-New.xls")oExcel.Quit()
Tried also your new code and still same sheet count after delete and the saved workbook still has all sheets in it. Also tried deleting
differences index and it makes no difference
Shums Faruk
Try below then:
Dim oExcel As Excel.Application = New Microsoft.Office.Interop.Excel.Application()Dim oBook As Excel.Workbook = oExcel.Workbooks.Open("C:\Users\Documents\acme.xls")Dim oSheet As Excel.Sheets = oBook.WorksheetsMsgBox(oBook.Worksheets.count)oSheet(2).Delete()MsgBox(oBook.Worksheets.count)oBook.SaveAs("C:\Users\Documents\ACME-New.xls")oExcel.Quit()
Replace oSheet.Delete() to oSheet.Delete
Open in new window