Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting a worksheet - impossible!
Hello,
I have been stuck on this for some time now... no matter what I do, I can't seem to programmatically delete a worksheet from a spreadsheet! I've tried many different approaches, and none of them seem to work. There must be something staring me in the face, but I just can't see it! Below is a stripped down app to delete a sheet (not working) - can anyone identify why? or give me some pointers as to how to approach this? Many many thanks for your help Luvic. static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application ExcelApp = new ApplicationClass(); Workbook workbook = null; try { workbook = ExcelApp.Workbooks.Open(path,0,true,5,"","",true,X lPlatform.xlWindows,"",false,false,0,false,null,nu ll); ExcelApp.Visible = true; ExcelApp.DisplayAlerts = false; ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); } catch { } finally { NAR(workbook); ExcelApp.Quit(); NAR(ExcelApp); } } private static void NAR(object o) { try { System.Runtime.InteropServices.Marshal.ReleaseComO bject(o); } catch { } finally { o = null; } } |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting a worksheet - impossible!
Couldn't tell you about non-VB code but;
Are you using "workbook" as the name of a variable of type Workbook ? Not sure if matters for you, but may not a good idea to use a word from the object model, WB would be better. ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); would be WB.Sheets("Sheet1").Delete assuming it is not the last sheet in the WB. NikcHK wrote in message ups.com... Hello, I have been stuck on this for some time now... no matter what I do, I can't seem to programmatically delete a worksheet from a spreadsheet! I've tried many different approaches, and none of them seem to work. There must be something staring me in the face, but I just can't see it! Below is a stripped down app to delete a sheet (not working) - can anyone identify why? or give me some pointers as to how to approach this? Many many thanks for your help Luvic. static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application ExcelApp = new ApplicationClass(); Workbook workbook = null; try { workbook = ExcelApp.Workbooks.Open(path,0,true,5,"","",true,X lPlatform.xlWindows,"",fal se,false,0,false,null,null); ExcelApp.Visible = true; ExcelApp.DisplayAlerts = false; ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); } catch { } finally { NAR(workbook); ExcelApp.Quit(); NAR(ExcelApp); } } private static void NAR(object o) { try { System.Runtime.InteropServices.Marshal.ReleaseComO bject(o); } catch { } finally { o = null; } } |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting a worksheet - impossible!
Thanks Nick. I don't think that is the issue. The code is written in C# which is a case sensitive language. Therefore the word "workbook" is safe to use, and does not conflict with the class "Workbook". If there was an error there, it would be picked up at design time by the compiler. It's got to be something else! Ps. I am able to edit the data in the spreadsheet and save it, so I don't think it is a permissions problem. Luvic. NickHK wrote: Couldn't tell you about non-VB code but; Are you using "workbook" as the name of a variable of type Workbook ? Not sure if matters for you, but may not a good idea to use a word from the object model, WB would be better. ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); would be WB.Sheets("Sheet1").Delete assuming it is not the last sheet in the WB. NikcHK wrote in message ups.com... Hello, I have been stuck on this for some time now... no matter what I do, I can't seem to programmatically delete a worksheet from a spreadsheet! I've tried many different approaches, and none of them seem to work. There must be something staring me in the face, but I just can't see it! Below is a stripped down app to delete a sheet (not working) - can anyone identify why? or give me some pointers as to how to approach this? Many many thanks for your help Luvic. static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application ExcelApp = new ApplicationClass(); Workbook workbook = null; try { workbook = ExcelApp.Workbooks.Open(path,0,true,5,"","",true,X lPlatform.xlWindows,"",fal se,false,0,false,null,null); ExcelApp.Visible = true; ExcelApp.DisplayAlerts = false; ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); } catch { } finally { NAR(workbook); ExcelApp.Quit(); NAR(ExcelApp); } } private static void NAR(object o) { try { System.Runtime.InteropServices.Marshal.ReleaseComO bject(o); } catch { } finally { o = null; } } |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting a worksheet - impossible!
Which error are you getting ?
NickHK wrote in message oups.com... Thanks Nick. I don't think that is the issue. The code is written in C# which is a case sensitive language. Therefore the word "workbook" is safe to use, and does not conflict with the class "Workbook". If there was an error there, it would be picked up at design time by the compiler. It's got to be something else! Ps. I am able to edit the data in the spreadsheet and save it, so I don't think it is a permissions problem. Luvic. NickHK wrote: Couldn't tell you about non-VB code but; Are you using "workbook" as the name of a variable of type Workbook ? Not sure if matters for you, but may not a good idea to use a word from the object model, WB would be better. ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); would be WB.Sheets("Sheet1").Delete assuming it is not the last sheet in the WB. NikcHK wrote in message ups.com... Hello, I have been stuck on this for some time now... no matter what I do, I can't seem to programmatically delete a worksheet from a spreadsheet! I've tried many different approaches, and none of them seem to work. There must be something staring me in the face, but I just can't see it! Below is a stripped down app to delete a sheet (not working) - can anyone identify why? or give me some pointers as to how to approach this? Many many thanks for your help Luvic. static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application ExcelApp = new ApplicationClass(); Workbook workbook = null; try { workbook = ExcelApp.Workbooks.Open(path,0,true,5,"","",true,X lPlatform.xlWindows,"",fal se,false,0,false,null,null); ExcelApp.Visible = true; ExcelApp.DisplayAlerts = false; ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); } catch { } finally { NAR(workbook); ExcelApp.Quit(); NAR(ExcelApp); } } private static void NAR(object o) { try { System.Runtime.InteropServices.Marshal.ReleaseComO bject(o); } catch { } finally { o = null; } } |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Deleting a worksheet - impossible!
I've modified the code to use "Application" instead of "ApplicationClass" and that seems to be working. halelujah! Thanks for the help Nick. Regards, Luvic NickHK wrote: Which error are you getting ? NickHK wrote in message oups.com... Thanks Nick. I don't think that is the issue. The code is written in C# which is a case sensitive language. Therefore the word "workbook" is safe to use, and does not conflict with the class "Workbook". If there was an error there, it would be picked up at design time by the compiler. It's got to be something else! Ps. I am able to edit the data in the spreadsheet and save it, so I don't think it is a permissions problem. Luvic. NickHK wrote: Couldn't tell you about non-VB code but; Are you using "workbook" as the name of a variable of type Workbook ? Not sure if matters for you, but may not a good idea to use a word from the object model, WB would be better. ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); would be WB.Sheets("Sheet1").Delete assuming it is not the last sheet in the WB. NikcHK wrote in message ups.com... Hello, I have been stuck on this for some time now... no matter what I do, I can't seem to programmatically delete a worksheet from a spreadsheet! I've tried many different approaches, and none of them seem to work. There must be something staring me in the face, but I just can't see it! Below is a stripped down app to delete a sheet (not working) - can anyone identify why? or give me some pointers as to how to approach this? Many many thanks for your help Luvic. static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application ExcelApp = new ApplicationClass(); Workbook workbook = null; try { workbook = ExcelApp.Workbooks.Open(path,0,true,5,"","",true,X lPlatform.xlWindows,"",fal se,false,0,false,null,null); ExcelApp.Visible = true; ExcelApp.DisplayAlerts = false; ((Worksheet)workbook.Sheets["Sheet1"]).Delete(); } catch { } finally { NAR(workbook); ExcelApp.Quit(); NAR(ExcelApp); } } private static void NAR(object o) { try { System.Runtime.InteropServices.Marshal.ReleaseComO bject(o); } catch { } finally { o = null; } } |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
deleting of worksheet | Excel Discussion (Misc queries) | |||
Deleting a worksheet but retaining values from the worksheet. | Excel Discussion (Misc queries) | |||
Deleting a worksheet but retaining values from the worksheet. | Excel Discussion (Misc queries) | |||
deleting values in a worksheet without deleting the formulas | Excel Worksheet Functions | |||
deleting worksheet | Excel Discussion (Misc queries) |