ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Save a workbook in 2 places (https://www.excelbanter.com/excel-programming/343826-save-workbook-2-places.html)

Mike Fogleman

Save a workbook in 2 places
 
I have a workbook that I constantly update with web queries throughout the
day. This is on my pc at work on my C:\ drive. I also keep a copy on a
public network drive so co-workers can see the latest & greatest updates.
What I want to do is whenever I save the book it will save to both places.
Since I rarely close this book throughout the week, I just do saves after
each update, I stayed away from the Before_Close event, and went with the
Before_Save event. My code will save to the network drive, but crashes Excel
at the end of the procedure, and therefore does not save to the local drive.
I thought perhaps because I was saving the file with the same name in 2
places, it crashed because of duplicate file names. So I added "Copy of" to
the name of the network file, but still no cookie. It still crashes. Can
anybody point me in the right direction so when I click the Save (Disk)
icon, it will save to both drives? I put the CurDir check in the code so
that the network copy would not also run the code in case someone tried to
save that file.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim CrDr As String
CrDr = CurDir
If CurDir = "C:\My Documents" Then
ChDir "\\Lafbdc1\dept\NCP"
Application.EnableEvents = False
ActiveWorkbook.SaveAs "\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
ChDir CrDr
End If
Application.EnableEvents = True
End Sub

Mike F



Dave Peterson

Save a workbook in 2 places
 
I think if I were doing this, I'd stay away from the events and just provide a
macro that would save the workbook twice:

option explicit
sub SaveMeTwice()
with thisworkbook
.save
.savecopyas filename:="\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
end with
end sub

Maybe put a button on the worksheet and assign the macro to that button.


ps. Your code blew up for me, too.

The chdir won't work with UNC paths--so you don't need it. And after the
workbook saves as the new name, workbook that is open would be that "Copy of..."
workbook. I'm not sure if that's what you really wanted anyway.

pps. After I deleted the chdir stuff, the code still crashed.

(I used xl2003 in my testing (winXP home).)



Mike Fogleman wrote:

I have a workbook that I constantly update with web queries throughout the
day. This is on my pc at work on my C:\ drive. I also keep a copy on a
public network drive so co-workers can see the latest & greatest updates.
What I want to do is whenever I save the book it will save to both places.
Since I rarely close this book throughout the week, I just do saves after
each update, I stayed away from the Before_Close event, and went with the
Before_Save event. My code will save to the network drive, but crashes Excel
at the end of the procedure, and therefore does not save to the local drive.
I thought perhaps because I was saving the file with the same name in 2
places, it crashed because of duplicate file names. So I added "Copy of" to
the name of the network file, but still no cookie. It still crashes. Can
anybody point me in the right direction so when I click the Save (Disk)
icon, it will save to both drives? I put the CurDir check in the code so
that the network copy would not also run the code in case someone tried to
save that file.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim CrDr As String
CrDr = CurDir
If CurDir = "C:\My Documents" Then
ChDir "\\Lafbdc1\dept\NCP"
Application.EnableEvents = False
ActiveWorkbook.SaveAs "\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
ChDir CrDr
End If
Application.EnableEvents = True
End Sub

Mike F


--

Dave Peterson

Mike Fogleman

Save a workbook in 2 places
 
Thanks for the effort, Dave. I'm still not sure why it blows up. The code
started with a simple 'SaveAs' and I kept adding stuff to it trying to
figure out the key. I may end up taking your advice. I have a custom menu I
could add a Save item to. Hey! Better yet, I could put it on my Personal.xls
and use it to save my other workbooks that have copies on the network. And
the code wouldn't be in either copy. There, I'm glad we had this talk.

Mike F
"Dave Peterson" wrote in message
...
I think if I were doing this, I'd stay away from the events and just
provide a
macro that would save the workbook twice:

option explicit
sub SaveMeTwice()
with thisworkbook
.save
.savecopyas filename:="\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
end with
end sub

Maybe put a button on the worksheet and assign the macro to that button.


ps. Your code blew up for me, too.

The chdir won't work with UNC paths--so you don't need it. And after the
workbook saves as the new name, workbook that is open would be that "Copy
of..."
workbook. I'm not sure if that's what you really wanted anyway.

pps. After I deleted the chdir stuff, the code still crashed.

(I used xl2003 in my testing (winXP home).)



Mike Fogleman wrote:

I have a workbook that I constantly update with web queries throughout
the
day. This is on my pc at work on my C:\ drive. I also keep a copy on a
public network drive so co-workers can see the latest & greatest updates.
What I want to do is whenever I save the book it will save to both
places.
Since I rarely close this book throughout the week, I just do saves after
each update, I stayed away from the Before_Close event, and went with the
Before_Save event. My code will save to the network drive, but crashes
Excel
at the end of the procedure, and therefore does not save to the local
drive.
I thought perhaps because I was saving the file with the same name in 2
places, it crashed because of duplicate file names. So I added "Copy of"
to
the name of the network file, but still no cookie. It still crashes. Can
anybody point me in the right direction so when I click the Save (Disk)
icon, it will save to both drives? I put the CurDir check in the code so
that the network copy would not also run the code in case someone tried
to
save that file.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim CrDr As String
CrDr = CurDir
If CurDir = "C:\My Documents" Then
ChDir "\\Lafbdc1\dept\NCP"
Application.EnableEvents = False
ActiveWorkbook.SaveAs "\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
ChDir CrDr
End If
Application.EnableEvents = True
End Sub

Mike F


--

Dave Peterson




Dave Peterson

Save a workbook in 2 places
 
Sometimes just saying things out loud will get you to a solution.



Mike Fogleman wrote:

Thanks for the effort, Dave. I'm still not sure why it blows up. The code
started with a simple 'SaveAs' and I kept adding stuff to it trying to
figure out the key. I may end up taking your advice. I have a custom menu I
could add a Save item to. Hey! Better yet, I could put it on my Personal.xls
and use it to save my other workbooks that have copies on the network. And
the code wouldn't be in either copy. There, I'm glad we had this talk.

Mike F
"Dave Peterson" wrote in message
...
I think if I were doing this, I'd stay away from the events and just
provide a
macro that would save the workbook twice:

option explicit
sub SaveMeTwice()
with thisworkbook
.save
.savecopyas filename:="\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
end with
end sub

Maybe put a button on the worksheet and assign the macro to that button.


ps. Your code blew up for me, too.

The chdir won't work with UNC paths--so you don't need it. And after the
workbook saves as the new name, workbook that is open would be that "Copy
of..."
workbook. I'm not sure if that's what you really wanted anyway.

pps. After I deleted the chdir stuff, the code still crashed.

(I used xl2003 in my testing (winXP home).)



Mike Fogleman wrote:

I have a workbook that I constantly update with web queries throughout
the
day. This is on my pc at work on my C:\ drive. I also keep a copy on a
public network drive so co-workers can see the latest & greatest updates.
What I want to do is whenever I save the book it will save to both
places.
Since I rarely close this book throughout the week, I just do saves after
each update, I stayed away from the Before_Close event, and went with the
Before_Save event. My code will save to the network drive, but crashes
Excel
at the end of the procedure, and therefore does not save to the local
drive.
I thought perhaps because I was saving the file with the same name in 2
places, it crashed because of duplicate file names. So I added "Copy of"
to
the name of the network file, but still no cookie. It still crashes. Can
anybody point me in the right direction so when I click the Save (Disk)
icon, it will save to both drives? I put the CurDir check in the code so
that the network copy would not also run the code in case someone tried
to
save that file.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim CrDr As String
CrDr = CurDir
If CurDir = "C:\My Documents" Then
ChDir "\\Lafbdc1\dept\NCP"
Application.EnableEvents = False
ActiveWorkbook.SaveAs "\\Lafbdc1\dept\NCP\Copy of NCP Work.xls"
ChDir CrDr
End If
Application.EnableEvents = True
End Sub

Mike F


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 10:31 AM.

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