Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
At a certain point in my macro, the User can make a decision to create a new
workbook (called "Investment Quotation" as shown below). A small portion of the macro is shown, below. At that point, the macro performs a copy-and-paste from the current workbook to a new workbook. When that happens, I need to prevent the original (first) workbook from being saved. (I won't know the name of the first workbook.) The problem is that I want the User to have the right to save/change the original workbook. It's just that I'm trying to prevent them from saving the original workbook ONLY if they decide to create a new workbook. So, I guess my question is: how do I tell Excel to "don't allow a save" to the first workbook? (Again, the User is allowed to save the file BEFORE this part of the macro is executed.) Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Select Sheets("Sheet1").Name = "Investment Quotation" |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
One way I think would work:
After the paste is done add the following code lines: ThisWorkbook.Activate ThisWorkbook.Close SaveChanges:=False This would cause the "Original" to be destroyed, thus solving your dilemma. You could put a warning message for the user warning them that once they elect to create a new book, the "Original" will no longer be available... HTH. "crimsonkng" wrote: At a certain point in my macro, the User can make a decision to create a new workbook (called "Investment Quotation" as shown below). A small portion of the macro is shown, below. At that point, the macro performs a copy-and-paste from the current workbook to a new workbook. When that happens, I need to prevent the original (first) workbook from being saved. (I won't know the name of the first workbook.) The problem is that I want the User to have the right to save/change the original workbook. It's just that I'm trying to prevent them from saving the original workbook ONLY if they decide to create a new workbook. So, I guess my question is: how do I tell Excel to "don't allow a save" to the first workbook? (Again, the User is allowed to save the file BEFORE this part of the macro is executed.) Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Select Sheets("Sheet1").Name = "Investment Quotation" |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
not sure i get it completely, but if you want the users to save a copy of the current state of an open book, you can do a SaveCopyAs: - say book1.xls is the currently open book - do a SaveCopyAs into book2.xls - book1 is still open in the current state (not saved yet) and a copy of the current state has been saved to the closed book book2.xls Would that work for you? '-------------------------------------------------- Sub SaveACopy() Dim wkb As Workbook Dim f As Variant Set wkb = ActiveWorkbook '<------- Active Book 'ask user to save a Copy f = Application.GetSaveAsFilename("New Book.xls", "Excel File (*.xls), *.xls", , "Save a Copy") If f < "False" Then 'user did not click Cancel button -- save copy wkb.SaveCopyAs f Else MsgBox "SaveCopy cancelled by user." End If End Sub '--------------------------------------- -- Regards, Sébastien <http://www.ondemandanalysis.com "crimsonkng" wrote: At a certain point in my macro, the User can make a decision to create a new workbook (called "Investment Quotation" as shown below). A small portion of the macro is shown, below. At that point, the macro performs a copy-and-paste from the current workbook to a new workbook. When that happens, I need to prevent the original (first) workbook from being saved. (I won't know the name of the first workbook.) The problem is that I want the User to have the right to save/change the original workbook. It's just that I'm trying to prevent them from saving the original workbook ONLY if they decide to create a new workbook. So, I guess my question is: how do I tell Excel to "don't allow a save" to the first workbook? (Again, the User is allowed to save the file BEFORE this part of the macro is executed.) Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Select Sheets("Sheet1").Name = "Investment Quotation" |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Maybe you could set its Saved property to true, and close it
Set this = ActiveWorkbook Cells.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Name = "Investment Quotation" this.Saved = True this.Close -- HTH RP (remove nothere from the email address if mailing direct) "crimsonkng" wrote in message ... At a certain point in my macro, the User can make a decision to create a new workbook (called "Investment Quotation" as shown below). A small portion of the macro is shown, below. At that point, the macro performs a copy-and-paste from the current workbook to a new workbook. When that happens, I need to prevent the original (first) workbook from being saved. (I won't know the name of the first workbook.) The problem is that I want the User to have the right to save/change the original workbook. It's just that I'm trying to prevent them from saving the original workbook ONLY if they decide to create a new workbook. So, I guess my question is: how do I tell Excel to "don't allow a save" to the first workbook? (Again, the User is allowed to save the file BEFORE this part of the macro is executed.) Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Select Sheets("Sheet1").Name = "Investment Quotation" |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks, everyone, for the suggestions. I'll try 'em all but it sounds like
Quartz's is what I want. Thanks, again. Dan "crimsonkng" wrote: At a certain point in my macro, the User can make a decision to create a new workbook (called "Investment Quotation" as shown below). A small portion of the macro is shown, below. At that point, the macro performs a copy-and-paste from the current workbook to a new workbook. When that happens, I need to prevent the original (first) workbook from being saved. (I won't know the name of the first workbook.) The problem is that I want the User to have the right to save/change the original workbook. It's just that I'm trying to prevent them from saving the original workbook ONLY if they decide to create a new workbook. So, I guess my question is: how do I tell Excel to "don't allow a save" to the first workbook? (Again, the User is allowed to save the file BEFORE this part of the macro is executed.) Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Sheets("Sheet1").Select Sheets("Sheet1").Name = "Investment Quotation" |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How can I prevent file from being saved or printed in Excel? | Setting up and Configuration of Excel | |||
Prevent data from typing in another cell in a saved template? | Excel Worksheet Functions | |||
How do I prevent Hyperlinks from changing when saved? | Excel Discussion (Misc queries) | |||
How do I prevent someone from deleting a workbook? | Excel Discussion (Misc queries) | |||
How can I see a copy of a saved workbook before I saved it again? | Excel Worksheet Functions |