View Single Post
  #11   Report Post  
Posted to microsoft.public.excel.programming
PCLIVE PCLIVE is offline
external usenet poster
 
Posts: 1,311
Default CATCH-22 won't let me save the file

When copying the code from the post, be careful of text wrapping.
When you see an underscore ( _ ) following a space in code, this usually
indicates that the code is continued to the next line. Let's see if this
causes a problem.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If IsEmpty(Sheets("Main").Range("E59").Value) _
Then
Range("E59").Value = _
InputBox("You must type in your name before " & _
"this file can be saved.", "Enter Name.")
Else
End If
End Sub



--

"Patrick Riley" wrote in message
...
Just to be sure, I re-copied the code from this post. I made sure that
E59
was blank (I clicked in the cell and hit the Delete key). When I tried to
close the file, I got a syntax error.
In the VB editor, Lines 1 and 2 (beginning w "Private" and "Cancel") were
highlighted in yellow, and line 5 (beginning w "Range") was selected.
Incidentally, when I first pasted the code into the right-hand pane (after
selecting "ThisWorkbook" in left pane), lines 5 thru 7 appeared in red.
Since I am not a VB programmer, I don't know the significance, if any, of
the
points I raise in this paragraph.
I don't know how to turn off events, although now a later response to my
post, from Dave Peterson, provides code to do so, coupled with a coding
suggestion.

I appreciate your taking the time to help!
---Pat

"PCLIVE" wrote:

Just to be sure, you are using:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If IsEmpty(Sheets("Main").Range("E59").Value) _
Then
Range("E59").Value = InputBox("You must type in your name before
" &
_
"this file can be saved.", "Enter Name.")
Else
End If
End Sub

Are you sure E59 is currently empty. The code works when I attempt
saving.
But if there is a space or anything else in E59, no input box is
displayed.
Also, I saw in another post where you were to disable events. Make sure
they are not currently disabled.

Regards.

--

"Patrick Riley" wrote in message
...
Paul:

Thanks for taking the time to respond.
I deleted existing VB code, and used your code. After inserting your
code,
nothing happened:
I could save file with name-field blank. I did not see an input-box
appear.
I saved file and re-opened, and got the same results: no input box,
could
still save file with name-field blank.

"PCLIVE" wrote:

Why not just have an input box that will populate the cell?

If IsEmpty(Sheets("Main").Range("E59").Value) _
Then
Range("E59").Value = InputBox("You must type in your name
before
" &
_
"this file can be saved.", "Enter Name.")
Else
End If


HTH,
Paul

--

"Patrick Riley" wrote in
message
...
Thanks to some generous help from users of this site, I, with no
Visual
Basic
knowledge, am using some VB code that requires the user to type
his/her
name
into a given cell before the file can be saved, since the name must
appear
on
the printed version. The user-name field is intentionally left
blank.
Upon
attempting to save, the code presents a message to type in the name,
if
the
name-field is still blank.
Well, CATCH-22. This very code is preventing me from leaving the
name
field
blank when I try to save the file in final form, ready for enduser
use.
The code I am using is:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If IsEmpty(Sheets("Main").Range("E59").Value) Then
MsgBox "You must type in your name before " & _
"this file can be saved.", 16, "ERROR"
Cancel = True
End If
End Sub

Any suggestions?
---Pat Riley