ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Worksheets.add in VBScript overwrites existing worksheet (https://www.excelbanter.com/excel-worksheet-functions/118171-worksheets-add-vbscript-overwrites-existing-worksheet.html)

donparkerjr

Worksheets.add in VBScript overwrites existing worksheet
 
Background: Opening a tab delimited file, generated by netsh, with Excel to
format the data. Formatting includes creating new worksheets.

Here's the short code in vbscript:
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Set objExcel = WScript.CreateObject("Excel.Application")
'Opening existing Workbook
Set objExcelWorkbook = objExcel.Workbooks.Open(filename)
'Adding worksheet to opened, existing workbook
objExcel.Worksheets.Add
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''

What happens with the above code is the data in the existing worksheet gets
overwritten, but the name of the worksheet is retained.

Value add:
Any good reference on vbscriipt, Excel specific objects & methods would be
appreciated. VBA references tend toward VB and not VBScript, which means you
waste a lot of time trying to figure out what objects and methods are
available and how they should be formatted.

Thanks in advance.


donparkerjr

Worksheets.add in VBScript overwrites existing worksheet
 
I've narrowed it down to the fact that the output file is not
xlWorkbookNormal format. I can't seem to change that when I do a SaveAs to a
new name. I get a message that the object doesn't support that method, i.e.,
FileFormat:=.

Any help still appreciated.

"donparkerjr" wrote:

Background: Opening a tab delimited file, generated by netsh, with Excel to
format the data. Formatting includes creating new worksheets.

Here's the short code in vbscript:
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Set objExcel = WScript.CreateObject("Excel.Application")
'Opening existing Workbook
Set objExcelWorkbook = objExcel.Workbooks.Open(filename)
'Adding worksheet to opened, existing workbook
objExcel.Worksheets.Add
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''

What happens with the above code is the data in the existing worksheet gets
overwritten, but the name of the worksheet is retained.

Value add:
Any good reference on vbscriipt, Excel specific objects & methods would be
appreciated. VBA references tend toward VB and not VBScript, which means you
waste a lot of time trying to figure out what objects and methods are
available and how they should be formatted.

Thanks in advance.


vezerid

Worksheets.add in VBScript overwrites existing worksheet
 
How about

objExcelWorkbook.Worksheets.Add?

Does it demonstrate the same behavior?

HTH
Kostis Vezerides


donparkerjr wrote:
Background: Opening a tab delimited file, generated by netsh, with Excel to
format the data. Formatting includes creating new worksheets.

Here's the short code in vbscript:
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Set objExcel = WScript.CreateObject("Excel.Application")
'Opening existing Workbook
Set objExcelWorkbook = objExcel.Workbooks.Open(filename)
'Adding worksheet to opened, existing workbook
objExcel.Worksheets.Add
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''

What happens with the above code is the data in the existing worksheet gets
overwritten, but the name of the worksheet is retained.

Value add:
Any good reference on vbscriipt, Excel specific objects & methods would be
appreciated. VBA references tend toward VB and not VBScript, which means you
waste a lot of time trying to figure out what objects and methods are
available and how they should be formatted.

Thanks in advance.



donparkerjr

Worksheets.add in VBScript overwrites existing worksheet
 
It works... I know I tried that, too (I even have it commented out in my
code), but it didn't work before.

How frustrating.

Thank you for your solution.



"vezerid" wrote:

How about

objExcelWorkbook.Worksheets.Add?

Does it demonstrate the same behavior?

HTH
Kostis Vezerides


donparkerjr wrote:
Background: Opening a tab delimited file, generated by netsh, with Excel to
format the data. Formatting includes creating new worksheets.

Here's the short code in vbscript:
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Set objExcel = WScript.CreateObject("Excel.Application")
'Opening existing Workbook
Set objExcelWorkbook = objExcel.Workbooks.Open(filename)
'Adding worksheet to opened, existing workbook
objExcel.Worksheets.Add
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''

What happens with the above code is the data in the existing worksheet gets
overwritten, but the name of the worksheet is retained.

Value add:
Any good reference on vbscriipt, Excel specific objects & methods would be
appreciated. VBA references tend toward VB and not VBScript, which means you
waste a lot of time trying to figure out what objects and methods are
available and how they should be formatted.

Thanks in advance.





All times are GMT +1. The time now is 02:55 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com