ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Prevent multiple workbooks in same Excel instance (https://www.excelbanter.com/excel-discussion-misc-queries/242914-prevent-multiple-workbooks-same-excel-instance.html)

Leon[_2_]

Prevent multiple workbooks in same Excel instance
 
Hi

I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.

How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)

1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file

Regards

Gord Dibben

Prevent multiple workbooks in same Excel instance
 
What happens to the ontime code when you open another workbook?


Gord Dibben MS Excel MVP

On Thu, 17 Sep 2009 01:10:17 -0700 (PDT), Leon
wrote:

Hi

I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.

How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)

1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file

Regards



Leon[_2_]

Prevent multiple workbooks in same Excel instance
 
The ontime loops and starts same sub every minute.
The code shifts sheets - managing data - updates graphs - and stuff.
Finally set focus at the sheet that was active when the ontime
started.

I have tried to put "thisworkbook" all places needed - but maybe I
missed something.

I did succeeded making the code so that it do not break with an End/
debug question, but the code bring the workbook1 in front when the
code stops and places focus at the sheet that was active in the
workbook1 at the time the ontime started.

Is it possible to make ontime fool around in workbook1 and at the same
time a user can work with another workbook2 not being disturbed by tha
workbook1 macro that starts every minute?



On 17 Sep., 17:49, Gord Dibben <gorddibbATshawDOTca wrote:
What happens to the ontime code when you open another workbook?

Gord Dibben *MS Excel MVP

On Thu, 17 Sep 2009 01:10:17 -0700 (PDT), Leon
wrote:



Hi


I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.


How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)


1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file


Regards- Skjul tekst i anførselstegn -


- Vis tekst i anførselstegn -



Gord Dibben

Prevent multiple workbooks in same Excel instance
 
Macros can't run in the background while you work on another workbook.

The ontime macro will disturb whatever you're doing every time it
runs...........every minute.

I am not skilled enough in VBA to make any suggestions about keeping people
from opening another workbook while the ontime macro workbook is open.


Gord

On Thu, 17 Sep 2009 12:54:35 -0700 (PDT), Leon
wrote:

The ontime loops and starts same sub every minute.
The code shifts sheets - managing data - updates graphs - and stuff.
Finally set focus at the sheet that was active when the ontime
started.

I have tried to put "thisworkbook" all places needed - but maybe I
missed something.

I did succeeded making the code so that it do not break with an End/
debug question, but the code bring the workbook1 in front when the
code stops and places focus at the sheet that was active in the
workbook1 at the time the ontime started.

Is it possible to make ontime fool around in workbook1 and at the same
time a user can work with another workbook2 not being disturbed by tha
workbook1 macro that starts every minute?



On 17 Sep., 17:49, Gord Dibben <gorddibbATshawDOTca wrote:
What happens to the ontime code when you open another workbook?

Gord Dibben *MS Excel MVP

On Thu, 17 Sep 2009 01:10:17 -0700 (PDT), Leon
wrote:



Hi


I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.


How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)


1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file


Regards- Skjul tekst i anførselstegn -


- Vis tekst i anførselstegn -



Gord Dibben

Prevent multiple workbooks in same Excel instance
 
Have you thought about running your ontime macro workbook in one instance of
Excel and the users play around with other workbooks in another instance of
Excel.

The two won't communicate so won't disturb each other.


Gord

On Thu, 17 Sep 2009 14:39:54 -0700, Gord Dibben <gorddibbATshawDOTca wrote:

Macros can't run in the background while you work on another workbook.

The ontime macro will disturb whatever you're doing every time it
runs...........every minute.

I am not skilled enough in VBA to make any suggestions about keeping people
from opening another workbook while the ontime macro workbook is open.


Gord

On Thu, 17 Sep 2009 12:54:35 -0700 (PDT), Leon
wrote:

The ontime loops and starts same sub every minute.
The code shifts sheets - managing data - updates graphs - and stuff.
Finally set focus at the sheet that was active when the ontime
started.

I have tried to put "thisworkbook" all places needed - but maybe I
missed something.

I did succeeded making the code so that it do not break with an End/
debug question, but the code bring the workbook1 in front when the
code stops and places focus at the sheet that was active in the
workbook1 at the time the ontime started.

Is it possible to make ontime fool around in workbook1 and at the same
time a user can work with another workbook2 not being disturbed by tha
workbook1 macro that starts every minute?



On 17 Sep., 17:49, Gord Dibben <gorddibbATshawDOTca wrote:
What happens to the ontime code when you open another workbook?

Gord Dibben *MS Excel MVP

On Thu, 17 Sep 2009 01:10:17 -0700 (PDT), Leon
wrote:



Hi

I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.

How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)

1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file

Regards- Skjul tekst i anførselstegn -

- Vis tekst i anførselstegn -



Leon[_2_]

Prevent multiple workbooks in same Excel instance
 
That was excatly what my question was about.. I'm not explicit enough
though?

How do I prevent users open workbook in the running instance in the
mentioned situations..

1) when the user doubleclick on an Excel file in windows explorer
2) when user opens another workbook from menu - can it be redirected
to a new instance of Excel?

cheers

On 18 Sep., 00:09, Gord Dibben <gorddibbATshawDOTca wrote:
Have you thought about running your ontime macro workbook in one instance of
Excel and the users play around with other workbooks in another instance of
Excel.

The two won't communicate so won't disturb each other.

Gord



On Thu, 17 Sep 2009 14:39:54 -0700, Gord Dibben <gorddibbATshawDOTca wrote:
Macros can't run in the background while you work on another workbook.


The ontime macro will disturb whatever you're doing every time it
runs...........every minute.


I am not skilled enough in VBA to make any suggestions about keeping people
from opening another workbook while the ontime macro workbook is open.


Gord


On Thu, 17 Sep 2009 12:54:35 -0700 (PDT), Leon
wrote:


The ontime loops and starts same sub every minute.
The code shifts sheets *- managing data - updates graphs - and stuff.
Finally set focus at the sheet that was active when the ontime
started.


I have tried to put "thisworkbook" all places needed - but maybe I
missed something.


I did succeeded making the code so that it do not break with an End/
debug question, but the code bring the workbook1 in front when the
code stops and places focus at the sheet that was active in the
workbook1 at the time the ontime started.


Is it possible to make ontime fool around in workbook1 and at the same
time a user can work with another workbook2 not being disturbed by tha
workbook1 macro that starts every minute?


On 17 Sep., 17:49, Gord Dibben <gorddibbATshawDOTca wrote:
What happens to the ontime code when you open another workbook?


Gord Dibben *MS Excel MVP


On Thu, 17 Sep 2009 01:10:17 -0700 (PDT), Leon
wrote:


Hi


I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.


How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)


1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file


Regards- Skjul tekst i anførselstegn -


- Vis tekst i anførselstegn -- Skjul tekst i anførselstegn -


- Vis tekst i anførselstegn -



Dave Peterson

Prevent multiple workbooks in same Excel instance
 
I'm not sure what you're doing...

But one way you could prevent the user from using that instance of excel is to
open it via code and hide the application.

If the application has to be visible, you could use an application event that
counts the number of existing workbooks are open and won't let the user open
another one.

You can read more about application events at Chip Pearson's site:
http://www.cpearson.com/excel/AppEvent.aspx

All this would go into the ThisWorkbook module of your workbook.

Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub Workbook_Open()
Set xlApp = Application
If xlApp.Workbooks.Count 1 Then
MsgBox "This workbook cannot be opened if other " _
& "workbooks are already opened"
Me.Close savechanges:=False
End If
End Sub
Private Sub Workbook_Close()
Set xlApp = Nothing
End Sub
Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)
If xlApp.Workbooks.Count 1 Then
Wb.Close savechanges:=False
MsgBox "Can't create a new workbook now!"
End If
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
If xlApp.Workbooks.Count 1 Then
Wb.Close savechanges:=False
MsgBox "Can't open a new workbook now!"
End If
End Sub

These events will only work if the user has enabled macros and has not disabled
events.

Leon wrote:

Hi

I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.

How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)

1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file

Regards


--

Dave Peterson

Gord Dibben

Prevent multiple workbooks in same Excel instance
 
Thanks for jumping in Dave.

Gord

On Fri, 18 Sep 2009 07:13:18 -0500, Dave Peterson
wrote:

I'm not sure what you're doing...

But one way you could prevent the user from using that instance of excel is to
open it via code and hide the application.

If the application has to be visible, you could use an application event that
counts the number of existing workbooks are open and won't let the user open
another one.

You can read more about application events at Chip Pearson's site:
http://www.cpearson.com/excel/AppEvent.aspx

All this would go into the ThisWorkbook module of your workbook.

Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub Workbook_Open()
Set xlApp = Application
If xlApp.Workbooks.Count 1 Then
MsgBox "This workbook cannot be opened if other " _
& "workbooks are already opened"
Me.Close savechanges:=False
End If
End Sub
Private Sub Workbook_Close()
Set xlApp = Nothing
End Sub
Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)
If xlApp.Workbooks.Count 1 Then
Wb.Close savechanges:=False
MsgBox "Can't create a new workbook now!"
End If
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
If xlApp.Workbooks.Count 1 Then
Wb.Close savechanges:=False
MsgBox "Can't open a new workbook now!"
End If
End Sub

These events will only work if the user has enabled macros and has not disabled
events.

Leon wrote:

Hi

I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.

How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)

1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file

Regards



Leon[_2_]

Prevent multiple workbooks in same Excel instance
 
Hi Dave

Thanks - looks what I'm looking for! I'l try this asap. :-)

Regards


On 18 Sep., 18:06, Gord Dibben <gorddibbATshawDOTca wrote:
Thanks for jumping in Dave.

Gord

On Fri, 18 Sep 2009 07:13:18 -0500, Dave Peterson



wrote:
I'm not sure what you're doing...


But one way you could prevent the user from using that instance of excel is to
open it via code and hide the application.


If the application has to be visible, you could use an application event that
counts the number of existing workbooks are open and won't let the user open
another one.


You can read more about application events at Chip Pearson's site:
http://www.cpearson.com/excel/AppEvent.aspx


All this would go into the ThisWorkbook module of your workbook.


Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub Workbook_Open()
* *Set xlApp = Application
* *If xlApp.Workbooks.Count 1 Then
* * * *MsgBox "This workbook cannot be opened if other " _
* * * * * * * & "workbooks are already opened"
* * * *Me.Close savechanges:=False
* *End If
End Sub
Private Sub Workbook_Close()
* *Set xlApp = Nothing
End Sub
Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)
* *If xlApp.Workbooks.Count 1 Then
* * * *Wb.Close savechanges:=False
* * * *MsgBox "Can't create a new workbook now!"
* *End If
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
* *If xlApp.Workbooks.Count 1 Then
* * * *Wb.Close savechanges:=False
* * * *MsgBox "Can't open a new workbook now!"
* *End If
End Sub


These events will only work if the user has enabled macros and has not disabled
events.


Leon wrote:


Hi


I have a workboook which is updated every minute by using the ontime
facility.
It works fine when user not have any other workbook open in the same
intance of Excel.


How do I prevent user from open another workbook in the particular
instance containing the workbook with autoupdate function (ontime)


1) when user tries to open another workbook via the open menu
2) when user dobbleclick on an xls file


Regards- Skjul tekst i anførselstegn -


- Vis tekst i anførselstegn -




All times are GMT +1. The time now is 12:00 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com