The [name] property of the worksheet is *not* read-only. It is a property
of the worksheet. This property is what's displayed in the tab at the
bottom of a workbook.
I've used this in my code:
xlSheet = CType(xlBook.WorkSheets(1), Excel.WorkSheet)
xlSheet.Activate()
xlSheet.Name = "blah blah"
xlBook is my current workbook.
Robin S.
-----------------------------------------
"John Brock" wrote in message
...
My VB.NET program pops up an Excel workbook for the user. If I
initially create the workbook using:
Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBA Template.xlWBATWorksheet)
I end up with a workbook named "sheet1". If I use an existing
Excel file as a template, e.g.:
Workbooks.Add("C:\temp\MyTemplateFile.xls")
I end up with a workbook named "MyTemplateFile1".
Neither name is particularly appropriate, so I want to find a way
to set the workbook name myself when I first create the file.
You can always *get* the name using the Name property, but that
property is read-only, so you can't set the name that way. I can
of course save the file, using the SaveAs method, and set the name
to something new in the process. But I don't want to save the file
myself -- I want the user to look at the file, decide whether he
wants to keep it, and then decide where and under what name to save
it. I just want to give him an appropriate name to start with;
but if he doesn't like what he sees I would prefer the file never
be saved at all.
BTW, I think I can understand why you can't set the Name property
after the workbook has been created. While this would make sense
if -- as in my case -- the file exists only in memory, I can see
where it could give you problems if you are working with a file
that has already been saved to disk with a particular name. But
I don't see why I should be forced to accept an arbitrary default
name when no file yet exists on disk!
--
John Brock