Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Setup / June 2005

Tip: Looking for answers? Try searching our database.

Office Excel 2003 Versions and VBA

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Cameron Young - 03 Jun 2005 12:03 GMT
Hi all,

Have whipped the following code in Excel/VBA and placed in the
'ThisWorkbook' module.  The problem that I have is that it works well with
other users using Excel 2003 Standard edition.
I'm using Beginners edition - is that why the code won't run?

The vba code:
[-- code start --]
Private Sub Workbook_Open()
   
    'Prompt user on opening XLS to Print Worksheet and quit.
   
   Dim Resp
   
   Resp = MsgBox("Do you wish to Print and Exit ?", _
   vbYesNo + vbQuestion, _
   "Print & Exit ?")
   
   If Resp = vbYes Then
       ActiveWorkbook.PrintOut
       Application.Quit
   End If
   
End Sub
[-- code end --]

Please help - this is driving me nuts.
Signature

Cheers,
Cameron

Bob Phillips - 03 Jun 2005 12:14 GMT
Which bit doesn't work?

Signature

HTH

Bob Phillips

> Hi all,
>
[quoted text clipped - 24 lines]
>
> Please help - this is driving me nuts.
Cameron Young - 03 Jun 2005 13:07 GMT
Hi Bob,

Actually, all of it.  For some reason the Workbook_Open() event just doesn't
seem to fire.
Signature

Cheers,
Cameron

> Which bit doesn't work?
>
[quoted text clipped - 26 lines]
> >
> > Please help - this is driving me nuts.
Bob Phillips - 03 Jun 2005 13:56 GMT
You did put it in the ThisWorkbook code module, not a standard code module?

Signature

HTH

Bob Phillips

> Hi Bob,
>
[quoted text clipped - 31 lines]
> > >
> > > Please help - this is driving me nuts.
Dave Peterson - 03 Jun 2005 14:48 GMT
Close that workbook (if it's open)
tools|macro|security...|security level tab

Change it to medium (to be prompted each time a workbook containing macros
opens)
or
change it to low (to always allow macros to run)

> Hi Bob,
>
[quoted text clipped - 42 lines]
> > > Cheers,
> > > Cameron

Signature

Dave Peterson

Cameron Young - 04 Jun 2005 11:02 GMT
Gents,
Thanks for your responces.
Bob::  Workbook_Open() code is in the ThisWorkbook module.
Dave::  Have already sert the macro security to low.  And still nothing.
Signature

Cheers,
Cameron

> Close that workbook (if it's open)
> tools|macro|security...|security level tab
[quoted text clipped - 50 lines]
> > > > Cheers,
> > > > Cameron
Dave Peterson - 04 Jun 2005 12:51 GMT
How do you open that workbook?

Do you open it using another macro in a different workbook?  

If yes, do you use a shortcut key assigned to that macro.  

If yes, does that shortcut key include the shiftkey.

If yes (again!), then remove the shiftkey from the short cut key.

===

Do you have events enabled when you try to open the workbook?

> Gents,
> Thanks for your responces.
[quoted text clipped - 62 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

Cameron Young - 05 Jun 2005 13:06 GMT
I open the file by either:
a) Double-clicking the file from its folder.
b) Using the Excel Recent FilecHistory list.
c) Performing a "File | Open".

Signature

Cheers,
Cameron

> How do you open that workbook?
>
[quoted text clipped - 76 lines]
> > >
> > > Dave Peterson
Dave Peterson - 05 Jun 2005 13:12 GMT
Do other workbooks with macros run when you open them the same way?

> I open the file by either:
> a) Double-clicking the file from its folder.
[quoted text clipped - 89 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

Cameron Young - 05 Jun 2005 13:28 GMT
Have not yet tried.
The workbook I'm having trouble with does work as expected on other users
pc's.
........[minutes later].......
No, sadly, no other xls workbooks with Workbook_Open() events are working.
This is a problem.
Signature

Cheers,
Cameron

> Do other workbooks with macros run when you open them the same way?
>
[quoted text clipped - 91 lines]
> > >
> > > Dave Peterson
Dave Peterson - 05 Jun 2005 21:09 GMT
If you create a test subroutine in a test workbook:

Option Explicit
sub testme01
 msgbox "hi"
exit sub

Then close (and save) that test workbook.

Then reopen it, can you run that sub yourself?

If you rename TestMe01 to Auto_open, then close (and save) and reopen, does the
Auto_open procedure run?

(Testme and auto_open should be in a general module.)

======
Can you edit the workbook_open event code?

If yes, can you just add:
Msgbox "Hi"
right near the top.

Then you'll know if the event is firing (and something else breaks) or if it's
the event that's not firing.

(And double check that Tools|Macro|Security setting.)

> Have not yet tried.
> The workbook I'm having trouble with does work as expected on other users
[quoted text clipped - 105 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

Cameron Young - 05 Jun 2005 23:05 GMT
Hi Dave,
Yes, the Auto_open() does work, but I was under the impression that this was
an older (Excel) version process of the Workbook_Open().
Signature

Cheers,
Cameron

> If you create a test subroutine in a test workbook:
>
[quoted text clipped - 133 lines]
> > >
> > > Dave Peterson
Dave Peterson - 06 Jun 2005 02:37 GMT
xl97 added the workbook_open event, but auto_open is still supported.

Did you add that msgbox to the workbook_open event (near the top) to see if the
event was actually started?

==

I have seen posts like this that:

Private Sub Workbook_Open()
 Application.OnTime Now, "Continue_Open"
End Sub

Then in a general module:

sub Continue_Open()
'your real code here
end sub

Sometimes there would be timing issues that could be avoided this way.  (I've
never seen this in real life, though--but others have.)

> Hi Dave,
> Yes, the Auto_open() does work, but I was under the impression that this was
[quoted text clipped - 144 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

Cameron Young - 06 Jun 2005 23:16 GMT
Hi again Dave,
I tried the code you provided using Workbook_Open() and the
Application.OnTime statement.
Sadly it still didn't work.

This has absolutely got me miffed !

Could it at all be due to me using the Excel 2003 Basic Edition?
Signature

Cheers,
Cameron

> xl97 added the workbook_open event, but auto_open is still supported.
>
[quoted text clipped - 166 lines]
> > >
> > > Dave Peterson
Dave Peterson - 06 Jun 2005 23:46 GMT
I don't think so (about the xl2003 basic edition).

And you checked to see if the event was firing--with that msgbox stuff?

Maybe it's firing and doing nothing for you:

if somethingaboutyourpc = false then exit sub

Have you spoken to the developer to see what he or she thinks?

> Hi again Dave,
> I tried the code you provided using Workbook_Open() and the
[quoted text clipped - 182 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

Cameron Young - 07 Jun 2005 23:51 GMT
Hi Dave,

I developed the xls, I was just adding effectively two lines of code to ask
the user on Workbook_Open() if they wanted to print the xls and exit.

Re: somethingaboutyourpc = false - It's a new laptop with all new software -
standard installs.

Using the Auto_Open() method, I'd resolved the issue with:

Public Sub Auto_Open()
   
   'Prompt user on opening XLS to Print Worksheet and quit.
   Dim Resp As Variant
   
   Resp = MsgBox("Do you wish to Print and Exit ?", _
   vbYesNo + vbQuestion + vbSystemModal, _
   "Print & Exit ?")
   
   If Resp = vbYes Then
       ActiveWorkbook.PrintOut
       ActiveWorkbook.Close SaveChanges:=False
   End If

End Sub

And it fires as expected.

Not worth spending more time mulling over, but thank-you very much for your
time and patience with this issue.

Hope others have been able to benefit.
Signature

Cheers,
Cameron

> I don't think so (about the xl2003 basic edition).
>
[quoted text clipped - 192 lines]
> > >
> > > Dave Peterson
Dave Peterson - 08 Jun 2005 00:54 GMT
Glad you found a workaround--but I don't see anything that would stop it from
running in the workbook_open event--and since it worked on other pcs, I'd bet
there isn't!

I was actually thinking that the developer could be playing games:

if lcase(application.username) like "*cameron* then exit sub

But since you're the developer, I'd guess that ain't the case!

> Hi Dave,
>
[quoted text clipped - 232 lines]
> >
> > Dave Peterson

Signature

Dave Peterson

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.