Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 18
Default How do you name a new workbook in VBA

I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default How do you name a new workbook in VBA

You must save it with a name
Workbooks you save and not name like worksheets

mywb.SaveAs "C:\test.xls"


--
Regards Ron de Bruin
http://www.rondebruin.nl



"in-over-his-head-bill" wrote in message
...
I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 18
Default How do you name a new workbook in VBA

Thanks to you both for the quick reply --- that did the trick.


"Ron de Bruin" wrote:

You must save it with a name
Workbooks you save and not name like worksheets

mywb.SaveAs "C:\test.xls"


--
Regards Ron de Bruin
http://www.rondebruin.nl



"in-over-his-head-bill" wrote in message
...
I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 110
Default How do you name a new workbook in VBA

Hi ?

Try this, please.


Option Explicit

Sub NewFile()

Dim FileFullName As String
Dim ShName As String
Dim FileName As String
Dim NewBook As Workbook
Dim sh As Variant

'// Filename with Path
FileFullName = "c:\Allsales01.xls"

'// Sheet Name
ShName = "Test"

FileName = Mid(FileFullName, _
InStrRev(FileFullName, "\") + 1 _
, Len(FileFullName) - InStrRev(FileFullName, "\"))

On Error Resume Next
If Dir(FileFullName) < "" Then
Application.Windows(FileName).Close True
End If
On Error GoTo 0

Set NewBook = Workbooks.Add

With NewBook
'// Properties
.Title = "All Sales"
.Subject = "Sales"
Application.DisplayAlerts = False
'// Save
.SaveAs FileName:=FileFullName
Application.DisplayAlerts = False
End With

'// Only one sheet
For sh = 1 To (ActiveWorkbook.Sheets.Count - 1)
Application.DisplayAlerts = False
Sheets(sh).Delete
Next sh

Application.DisplayAlerts = True
ActiveSheet.Name = ShName

Set NewBook = Nothing

'// Close
Application.Windows(FileName).Close True
End Sub





--
Best regards
Joergen Bondesen


"in-over-his-head-bill" wrote
in message ...
I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 182
Default How do you name a new workbook in VBA

Hi Bill,

Of course you can't change the design time properties ...!

But you can always can seek a way by :
1. Change the caption of active Workbooks from
application class or your macro ...(most of us recognize activeworkbooks name
from it's windows caption)

2. Seek a way this from ApplicationClass from Class Module.
by changing Newworkbook's caption of it's window.

Try this:

'Place this to your ClassModule:

Option Explicit

Public WithEvents appl As Application
'After typing words above choose 'appl' in module mode (General); Class;
'or appl you made then will appear appl's events

Private Sub appl_NewWorkbook(ByVal Wb As Workbook)
Windows(Wb.Name).Caption = "MyNewWorkBook" & r
End Sub

Private Sub appl_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As
Boolean, Cancel As Boolean)
SendKeys CStr((ActiveWindow.Caption)) & ".xls"
End Sub

'Place this to Stdard Module :

Dim AplClass As New AppEventClass '-- must match to your Class module (Name)
' Rename Class1 (name) to AppEventClass

'then run this procedure :
Option Explicit
Public r as long 'sign new series of WB
Private Sub ChangeNewWBName()
r = r + 1
Set AplClass.appl = Application
End Sub

'then try to create new Workbooks from your excel by normal way

Try .... this please and reply... if it's work or not ...


<smile

halim <




"in-over-his-head-bill" wrote:

I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub


"Joergen Bondesen" wrote:

Hi ?

Try this, please.




Option Explicit

Sub NewFile()

Dim FileFullName As String
Dim ShName As String
Dim FileName As String
Dim NewBook As Workbook
Dim sh As Variant

'// Filename with Path
FileFullName = "c:\Allsales01.xls"

'// Sheet Name
ShName = "Test"

FileName = Mid(FileFullName, _
InStrRev(FileFullName, "\") + 1 _
, Len(FileFullName) - InStrRev(FileFullName, "\"))

On Error Resume Next
If Dir(FileFullName) < "" Then
Application.Windows(FileName).Close True
End If
On Error GoTo 0

Set NewBook = Workbooks.Add

With NewBook
'// Properties
.Title = "All Sales"
.Subject = "Sales"
Application.DisplayAlerts = False
'// Save
.SaveAs FileName:=FileFullName
Application.DisplayAlerts = False
End With

'// Only one sheet
For sh = 1 To (ActiveWorkbook.Sheets.Count - 1)
Application.DisplayAlerts = False
Sheets(sh).Delete
Next sh

Application.DisplayAlerts = True
ActiveSheet.Name = ShName

Set NewBook = Nothing

'// Close
Application.Windows(FileName).Close True
End Sub





--
Best regards
Joergen Bondesen


"in-over-his-head-bill" wrote
in message ...
I am trying to create a new workbook out of vba. When I try to name it
something beside the default book1,book2, etc... I get a "can't assign to
read-only property" error. How do I name a new workbook?
My code follows with public variables savetofile and savetorange

Public Sub manageoutput_new()
Dim mywb As Workbook, myws As Worksheet

Set mywb = Workbooks.Add

'* problem line is next
mywb.Name = savetofile
mywb.Activate
Set myws = Worksheets.Add
myws.Name = savetorange


End Sub




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
loop through a column on a workbook copying data on each row to another workbook, then copy data back to the original workbook burl_rfc Excel Programming 1 April 1st 06 08:48 PM
Select sheet tabs in workbook & save to separate workbook files stratocaster Excel Worksheet Functions 2 March 1st 06 03:35 PM
Running a macro to protect a workbook on a already protected workbook UNprotects the workbook ?? WimR Excel Programming 9 July 25th 05 12:44 PM
Copy a range of cells in an unopened workbook and paste it to the current workbook topstar Excel Programming 3 June 24th 04 12:50 PM
What commands do you use to name a workbook, save a workbook,open a workbook Steven R. Berke Excel Programming 1 July 24th 03 11:37 PM


All times are GMT +1. The time now is 09:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"