OK, here is what I found;
I did not need to filter for the drawing name at all.
If the drawing = drawing & # and there is nothing drawn in there; then there is nothing to save.
I know, No S**t
What I wasn't realizing before was that if you haven't named the drawing yet but have drawn something, then you will automatically be prompted for a save as, so that code was not necessary to begin with; or that problem may have been a result of The BeginClose Event.Also I still had The Application.quit code in there which was forcing ACAD to close (possibly) prior to asking me if I want to save.
Also after reading over the help screen,
You should use the BeginDocClose event rather than the BeginClose event because the BeginDocClose event enables you to keep a drawing from being closed.
No events occur while a modal dialog is displayed.
So after realizing that I am now using a BeginDocClose event; I will inherently be closing ACAD (duh) so that will force the save-saveas dialog boxes to appear as normal.
I think the drawing may have been closing prior to some events firing; so it looks like BeginDocClose is the winner here.
Lastly, I am able to check for Documents.Count >= 1 and ACAD will prompt for each drawing (save-saves) in MDI Mode prior to closing out of the app.
So, the end result was that (for now) I simply created a workspace called Exit in both Land Desktop and Map Enabled so that I don't have to check for Profile, Menufile etc. etc.; this is just much easier (less code) and very easy to create. Plus, all of your (in use) workspace's toolbars should all remain just how they were left off when closing, as acad will only mess with the Exit (BS) workspaces.
The only code I needed in the end was:
Private Sub AcadDocument_BeginDocClose(Cancel As Boolean)
Dim Dwgname As String
Dim CurrSysVarData As Variant
Dim SysVarName As String
Dim NewSysVarData As String
Dwgname = ThisDrawing.Name
SysVarName = "WSCURRENT"
On Error GoTo Done
If Documents.Count >= 1 Then
'Get Current Workspace setting
CurrSysVarData = ThisDrawing.GetVariable(SysVarName)
End If
If CurrSysVarData <> "Exit" Then
NewSysVarData = "Exit"
'Set system variable current workspace
ThisDrawing.SetVariable SysVarName, NewSysVarData
End If
End Sub
However, I posted the (below) code in it's entirety (using Case Statements to check for drawing name and save method) if anyone would like to refer to it.
Thanks again for the help Bob!
Mark
Private Sub AcadDocument_BeginDocClose(Cancel As Boolean)
Dim Dwgname As String
Dim CurrSysVarData As Variant
Dim SysVarName As String
Dim NewSysVarData As String
Dwgname = ThisDrawing.Name
SysVarName = "WSCURRENT"
On Error GoTo Done
If Documents.Count >= 1 Then
'Get Current Workspace setting
CurrSysVarData = ThisDrawing.GetVariable(SysVarName)
End If
If CurrSysVarData <> "Exit" Then
NewSysVarData = "Exit"
'Set system variable current workspace
ThisDrawing.SetVariable SysVarName, NewSysVarData
End If
Select Case Left(Dwgname, 7)
Case Is = "Drawing"
If MsgBox("Would you like to save this drawing?", vbYesNo) = vbYes Then
ThisDrawing.SendCommand "saveas" & vbCr
End If
Case Is > "Drawing"
If MsgBox("Would you like to save this drawing?", vbYesNo) = vbYes Then
ThisDrawing.Save
End If
End Select
Done:
End Sub