Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
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 |
#2
Posted to microsoft.public.vb.ole,microsoft.public.vb.ole.automation,microsoft.public.dotnet.languages.vb,microsoft.public.excel.misc,microsoft.public.excel.programming
|
|||
|
|||
How do I set initial Excel workbook name?
How about after the workbook is opened
Workbooks(ThisWorkbook.Name).name = "My New workbook Name" "John Brock" wrote: 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 |
#3
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
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 |
#4
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
John,
Your analysis is correct: there is no way of changing the name of a workbook except by Saveas etc. IMHO leaving the name of the book as Book1 is the best approach because the user is more likely to recognise this as the name of a new unsaved workbook. Thats what I usually do, and then I give any sheets I generate within the workbook meaningful names. regards Charles ______________________ Decision Models FastExcel 2.3 now available Name Manager 4.0 now available www.DecisionModels.com |
#5
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
Maybe you could rename the template file to something more significant before
you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 -- Dave Peterson |
#6
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
You're right; I missed that he was looking at the workbook instead of the
worksheet. Robin S. ---------------------------- "Charles Williams" wrote in message ... John, Your analysis is correct: there is no way of changing the name of a workbook except by Saveas etc. IMHO leaving the name of the book as Book1 is the best approach because the user is more likely to recognise this as the name of a new unsaved workbook. Thats what I usually do, and then I give any sheets I generate within the workbook meaningful names. regards Charles ______________________ Decision Models FastExcel 2.3 now available Name Manager 4.0 now available www.DecisionModels.com |
#7
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
Here is one problem: Let's say I pick a nice new temporary name
for my template file, say, "BudgetReport.xls". When I create the file the user will see it as "BudgetReport1", and when he saves it the suggested name will be "BudgetReport1.xls". The user gets to modify the name, so maybe he gets rid of that pointless "1". No problem so far, but what if he runs the program again? This time I can't rename my template file, because that nice new name is already taken! I could code around that, and temporarily rename both files, but frankly it's not a big enough problem to be worth the bother. Still, I think it's surprising that Microsoft doesn't allow the programmer to control such a visible piece of text. The obvious solution would be an optional parameter to the Add method, i.e.: Workbooks.Add("C:\temp\MyTemplateFile.xls", Name:="BudgetReport") I don't see any way this could cause any problems -- any Microsofties out there listening? :-) In article , Dave Peterson wrote: Maybe you could rename the template file to something more significant before you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 |
#8
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
I doubt that anyone from MS will find your message and read it.
This is usually users helping users--every once in awhile, you'll see someone from MS, but it's pretty rare. Maybe you could add code that saves the file (or just prompts the user to save the file) as soon as you create the file??? Then you can use any name you or the user wants. John Brock wrote: Here is one problem: Let's say I pick a nice new temporary name for my template file, say, "BudgetReport.xls". When I create the file the user will see it as "BudgetReport1", and when he saves it the suggested name will be "BudgetReport1.xls". The user gets to modify the name, so maybe he gets rid of that pointless "1". No problem so far, but what if he runs the program again? This time I can't rename my template file, because that nice new name is already taken! I could code around that, and temporarily rename both files, but frankly it's not a big enough problem to be worth the bother. Still, I think it's surprising that Microsoft doesn't allow the programmer to control such a visible piece of text. The obvious solution would be an optional parameter to the Add method, i.e.: Workbooks.Add("C:\temp\MyTemplateFile.xls", Name:="BudgetReport") I don't see any way this could cause any problems -- any Microsofties out there listening? :-) In article , Dave Peterson wrote: Maybe you could rename the template file to something more significant before you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 -- Dave Peterson |
#9
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
MS only answers q's in the dotnet newsgroups for its MSDN subscribers.
Just FYI. Robin S. -------------------- "Dave Peterson" wrote in message ... I doubt that anyone from MS will find your message and read it. This is usually users helping users--every once in awhile, you'll see someone from MS, but it's pretty rare. Maybe you could add code that saves the file (or just prompts the user to save the file) as soon as you create the file??? Then you can use any name you or the user wants. John Brock wrote: Here is one problem: Let's say I pick a nice new temporary name for my template file, say, "BudgetReport.xls". When I create the file the user will see it as "BudgetReport1", and when he saves it the suggested name will be "BudgetReport1.xls". The user gets to modify the name, so maybe he gets rid of that pointless "1". No problem so far, but what if he runs the program again? This time I can't rename my template file, because that nice new name is already taken! I could code around that, and temporarily rename both files, but frankly it's not a big enough problem to be worth the bother. Still, I think it's surprising that Microsoft doesn't allow the programmer to control such a visible piece of text. The obvious solution would be an optional parameter to the Add method, i.e.: Workbooks.Add("C:\temp\MyTemplateFile.xls", Name:="BudgetReport") I don't see any way this could cause any problems -- any Microsofties out there listening? :-) In article , Dave Peterson wrote: Maybe you could rename the template file to something more significant before you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 -- Dave Peterson |
#10
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
Every once in awhile, there'll be a response from MS employees. But it's pretty
rare (at least in the .public excel newsgroups). RobinS wrote: MS only answers q's in the dotnet newsgroups for its MSDN subscribers. Just FYI. Robin S. -------------------- "Dave Peterson" wrote in message ... I doubt that anyone from MS will find your message and read it. This is usually users helping users--every once in awhile, you'll see someone from MS, but it's pretty rare. Maybe you could add code that saves the file (or just prompts the user to save the file) as soon as you create the file??? Then you can use any name you or the user wants. John Brock wrote: Here is one problem: Let's say I pick a nice new temporary name for my template file, say, "BudgetReport.xls". When I create the file the user will see it as "BudgetReport1", and when he saves it the suggested name will be "BudgetReport1.xls". The user gets to modify the name, so maybe he gets rid of that pointless "1". No problem so far, but what if he runs the program again? This time I can't rename my template file, because that nice new name is already taken! I could code around that, and temporarily rename both files, but frankly it's not a big enough problem to be worth the bother. Still, I think it's surprising that Microsoft doesn't allow the programmer to control such a visible piece of text. The obvious solution would be an optional parameter to the Add method, i.e.: Workbooks.Add("C:\temp\MyTemplateFile.xls", Name:="BudgetReport") I don't see any way this could cause any problems -- any Microsofties out there listening? :-) In article , Dave Peterson wrote: Maybe you could rename the template file to something more significant before you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 -- Dave Peterson -- Dave Peterson |
#11
Posted to microsoft.public.excel.misc,microsoft.public.excel.programming,microsoft.public.dotnet.languages.vb,microsoft.public.vb.ole.automation,microsoft.public.vb.ole
|
|||
|
|||
How do I set initial Excel workbook name?
Yes, you're right, I have seen one guy (Nick?) who's a MSFT employee who
answers in the groups, but not *because* he's a MSFT employee. But the ones that people see from Linda Liu and Wen whatshisname are because people are paying for the privilege of getting answers in the managed newsgroups. Robin S. ----------------------------- "Dave Peterson" wrote in message ... Every once in awhile, there'll be a response from MS employees. But it's pretty rare (at least in the .public excel newsgroups). RobinS wrote: MS only answers q's in the dotnet newsgroups for its MSDN subscribers. Just FYI. Robin S. -------------------- "Dave Peterson" wrote in message ... I doubt that anyone from MS will find your message and read it. This is usually users helping users--every once in awhile, you'll see someone from MS, but it's pretty rare. Maybe you could add code that saves the file (or just prompts the user to save the file) as soon as you create the file??? Then you can use any name you or the user wants. John Brock wrote: Here is one problem: Let's say I pick a nice new temporary name for my template file, say, "BudgetReport.xls". When I create the file the user will see it as "BudgetReport1", and when he saves it the suggested name will be "BudgetReport1.xls". The user gets to modify the name, so maybe he gets rid of that pointless "1". No problem so far, but what if he runs the program again? This time I can't rename my template file, because that nice new name is already taken! I could code around that, and temporarily rename both files, but frankly it's not a big enough problem to be worth the bother. Still, I think it's surprising that Microsoft doesn't allow the programmer to control such a visible piece of text. The obvious solution would be an optional parameter to the Add method, i.e.: Workbooks.Add("C:\temp\MyTemplateFile.xls", Name:="BudgetReport") I don't see any way this could cause any problems -- any Microsofties out there listening? :-) In article , Dave Peterson wrote: Maybe you could rename the template file to something more significant before you use it as the basis of your new workbook. Then rename it back (or just leave it with the new nice name). John Brock wrote: 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 -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
in excel how to get initial from name | New Users to Excel | |||
How do I set initial Excel workbook name? | Excel Discussion (Misc queries) | |||
How can I have an initial zero in an Excel cell? | Excel Discussion (Misc queries) | |||
Format fonts (ie, initial cap) in Excel like you can in Word. | Excel Discussion (Misc queries) | |||
Saving Multiple Sheets to Another Spreadsheet Without Leaving the Initial Workbook | Excel Programming |