Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
All,
I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
Create a global variable, then set it to true when you use your command
button Like this: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True End Sub HTH Charles Chickering TimN wrote: All, I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
Oops you also need to set the Boolean back to false after you save.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True MySave = False End Sub Charles Die_Another_Day wrote: Create a global variable, then set it to true when you use your command button Like this: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True End Sub HTH Charles Chickering TimN wrote: All, I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
Couple of questions:
When you say create a global variable what do i need to do and where do i define that? Also, the code: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Does that go in the click event for the command button? And the other code goes in "This Worbook" under the before Save Event? Sorry for the dumb questions, I am just trying to sort all this out. "Die_Another_Day" wrote: Oops you also need to set the Boolean back to false after you save. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True MySave = False End Sub Charles Die_Another_Day wrote: Create a global variable, then set it to true when you use your command button Like this: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True End Sub HTH Charles Chickering TimN wrote: All, I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
To create a global variable, create a normal module, then at the very
top, before any other sub routines place the code: Dim MySave as Boolean This Dims MySave as a Boolean that can be accessed from anywhere in the VBProject. The Code from the "MySaveMacro" can go in your CommandButton_Click Event. All you are doing is using that Global variable to tell the "BeforeSave" event that you clicked your button, the way this works is that all Booleans are defaulted to false when the code runs, in your CommandButton_Click we set the Boolean to true: MySave = True then we tell it to save. This triggers the "BeforeSave" Event, which with this line: If Not MySave Then Cancel = True checks to see if "MySave" has been set to true, if not then cancel the save. Now we need to reset MySave so that it won't get triggered again without your button like this: MySave = False And yes the Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) code does go in the thisworkbook. HTH Charles TimN wrote: Couple of questions: When you say create a global variable what do i need to do and where do i define that? Also, the code: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Does that go in the click event for the command button? And the other code goes in "This Worbook" under the before Save Event? Sorry for the dumb questions, I am just trying to sort all this out. "Die_Another_Day" wrote: Oops you also need to set the Boolean back to false after you save. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True MySave = False End Sub Charles Die_Another_Day wrote: Create a global variable, then set it to true when you use your command button Like this: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True End Sub HTH Charles Chickering TimN wrote: All, I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Disable save, save as, but allow save via command button
OK,
I made the changes and I get a Compile Error Variable not defined. It highlights the line "MySave = True" in the command button click event. What am I doing wrong?? "Die_Another_Day" wrote: To create a global variable, create a normal module, then at the very top, before any other sub routines place the code: Dim MySave as Boolean This Dims MySave as a Boolean that can be accessed from anywhere in the VBProject. The Code from the "MySaveMacro" can go in your CommandButton_Click Event. All you are doing is using that Global variable to tell the "BeforeSave" event that you clicked your button, the way this works is that all Booleans are defaulted to false when the code runs, in your CommandButton_Click we set the Boolean to true: MySave = True then we tell it to save. This triggers the "BeforeSave" Event, which with this line: If Not MySave Then Cancel = True checks to see if "MySave" has been set to true, if not then cancel the save. Now we need to reset MySave so that it won't get triggered again without your button like this: MySave = False And yes the Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) code does go in the thisworkbook. HTH Charles TimN wrote: Couple of questions: When you say create a global variable what do i need to do and where do i define that? Also, the code: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Does that go in the click event for the command button? And the other code goes in "This Worbook" under the before Save Event? Sorry for the dumb questions, I am just trying to sort all this out. "Die_Another_Day" wrote: Oops you also need to set the Boolean back to false after you save. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True MySave = False End Sub Charles Die_Another_Day wrote: Create a global variable, then set it to true when you use your command button Like this: Dim MySave as Boolean Sub MySaveMacro() MySave = True ActiveWorkbook.SaveAs BlahBlahBlah End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook If Not MySave Then Cancel = True End Sub HTH Charles Chickering TimN wrote: All, I have been searching through the archives, but can't locate an answer for this. I have a command button that when clicked saves the file as the name in cell B1. I also want to disable the Save, Save As and save button on the toolbar. To accomplish that I located the code below. However when I insert that code, my command button is also disabled. How can I disable the Save, Save As and save button on the toolbar but still allow my Save button (command button) to work? Please help. Thanks Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wb As Workbook Set wb = ActiveWorkbook Cancel = True End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Disable the save button | Excel Discussion (Misc queries) | |||
Disable 'save' command in Excel 2000 | Excel Discussion (Misc queries) | |||
Can I disable the Save command for an Excel file? | Excel Discussion (Misc queries) | |||
Command Button Save As Application.ExecuteExcel4Macro ("SAVE.AS?() | Excel Discussion (Misc queries) | |||
How to diasble save and save as menu but allow a save button | Excel Programming |