Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
CLR CLR is offline
external usenet poster
 
Posts: 1,998
Default So, what if it's already open?

Hi All....
I have the following macro in a program to prompt the users to occasionally
Archive the file. It works fine, however, when someone opens the file, if
another user already has it open, I would like the pop-up not to appear. How
might the below code be modified to accomplish that, please?

Private Sub Workbook_Open()
Dim MyDate
MyDate = Date
Dim LastDate
LastDate = Range("ah37").Value
ans = MsgBox("This LOGBOOK Program has not been Archived since " &
LastDate & ".....Do it now?", vbYesNo)
If ans = vbYes Then
Range("ah37").Select
Selection.Value = MyDate
Application.Run "NewSaveArchive"
Else
End If
End Sub

Thanks,
Vaya con Dios,
Chuck, CABGx3


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default So, what if it's already open?

You can check if the file is open by some other user with this approach:


http://support.microsoft.com?kbid=138621
XL: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=291295
XL2002: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=213383
XL2000: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=184982
WD97: VBA Function to Check If File or Document Is Open

The articles are all basically the same.

If you find the file is open, then don't offer to archive it.

--
Regards,
Tom Ogilvy



"CLR" wrote:

Hi All....
I have the following macro in a program to prompt the users to occasionally
Archive the file. It works fine, however, when someone opens the file, if
another user already has it open, I would like the pop-up not to appear. How
might the below code be modified to accomplish that, please?

Private Sub Workbook_Open()
Dim MyDate
MyDate = Date
Dim LastDate
LastDate = Range("ah37").Value
ans = MsgBox("This LOGBOOK Program has not been Archived since " &
LastDate & ".....Do it now?", vbYesNo)
If ans = vbYes Then
Range("ah37").Select
Selection.Value = MyDate
Application.Run "NewSaveArchive"
Else
End If
End Sub

Thanks,
Vaya con Dios,
Chuck, CABGx3


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default So, what if it's already open?

I am not aware of a built-in way of telling if the workbook is already
open by another user or not. You could however only run the code if
the workbook has been opened for editing (e.g. is NOT read-only) as if
someone else already has it open then they would have had to open a
read-only version? In that case you could wrap your code in an "if not
me.readonly then" block.

  #4   Report Post  
Posted to microsoft.public.excel.programming
CLR CLR is offline
external usenet poster
 
Posts: 1,998
Default So, what if it's already open?

Thanks Tom.......

Vaya con Dios,
Chuck, CABGx3



"Tom Ogilvy" wrote:

You can check if the file is open by some other user with this approach:


http://support.microsoft.com?kbid=138621
XL: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=291295
XL2002: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=213383
XL2000: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=184982
WD97: VBA Function to Check If File or Document Is Open

The articles are all basically the same.

If you find the file is open, then don't offer to archive it.

--
Regards,
Tom Ogilvy



"CLR" wrote:

Hi All....
I have the following macro in a program to prompt the users to occasionally
Archive the file. It works fine, however, when someone opens the file, if
another user already has it open, I would like the pop-up not to appear. How
might the below code be modified to accomplish that, please?

Private Sub Workbook_Open()
Dim MyDate
MyDate = Date
Dim LastDate
LastDate = Range("ah37").Value
ans = MsgBox("This LOGBOOK Program has not been Archived since " &
LastDate & ".....Do it now?", vbYesNo)
If ans = vbYes Then
Range("ah37").Select
Selection.Value = MyDate
Application.Run "NewSaveArchive"
Else
End If
End Sub

Thanks,
Vaya con Dios,
Chuck, CABGx3


  #5   Report Post  
Posted to microsoft.public.excel.programming
CLR CLR is offline
external usenet poster
 
Posts: 1,998
Default So, what if it's already open?

This one worked fine for me Barry-Jon, many thanks.

Vaya con Dios,
Chuck, CABGx3

"Barry-Jon" wrote:

I am not aware of a built-in way of telling if the workbook is already
open by another user or not. You could however only run the code if
the workbook has been opened for editing (e.g. is NOT read-only) as if
someone else already has it open then they would have had to open a
read-only version? In that case you could wrap your code in an "if not
me.readonly then" block.




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default So, what if it's already open?

I see I misunderstood what your concern is.

--
Regards,
Tom Ogilvy


"CLR" wrote:

Thanks Tom.......

Vaya con Dios,
Chuck, CABGx3



"Tom Ogilvy" wrote:

You can check if the file is open by some other user with this approach:


http://support.microsoft.com?kbid=138621
XL: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=291295
XL2002: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=213383
XL2000: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=184982
WD97: VBA Function to Check If File or Document Is Open

The articles are all basically the same.

If you find the file is open, then don't offer to archive it.

--
Regards,
Tom Ogilvy



"CLR" wrote:

Hi All....
I have the following macro in a program to prompt the users to occasionally
Archive the file. It works fine, however, when someone opens the file, if
another user already has it open, I would like the pop-up not to appear. How
might the below code be modified to accomplish that, please?

Private Sub Workbook_Open()
Dim MyDate
MyDate = Date
Dim LastDate
LastDate = Range("ah37").Value
ans = MsgBox("This LOGBOOK Program has not been Archived since " &
LastDate & ".....Do it now?", vbYesNo)
If ans = vbYes Then
Range("ah37").Select
Selection.Value = MyDate
Application.Run "NewSaveArchive"
Else
End If
End Sub

Thanks,
Vaya con Dios,
Chuck, CABGx3


  #7   Report Post  
Posted to microsoft.public.excel.programming
CLR CLR is offline
external usenet poster
 
Posts: 1,998
Default So, what if it's already open?

No, Tom, you read me correctly. It's just that those references you cited
were much too complicated for me to understand, so I tried the other
suggestion which was NOT actually what I asked for, but indeed did solve this
particular problem.

Thanks again for your time......

Vaya con Dios,
Chuck, CABGx3



"Tom Ogilvy" wrote:

I see I misunderstood what your concern is.

--
Regards,
Tom Ogilvy


"CLR" wrote:

Thanks Tom.......

Vaya con Dios,
Chuck, CABGx3



"Tom Ogilvy" wrote:

You can check if the file is open by some other user with this approach:


http://support.microsoft.com?kbid=138621
XL: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=291295
XL2002: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=213383
XL2000: Macro Code to Check Whether a File Is Already Open

http://support.microsoft.com?kbid=184982
WD97: VBA Function to Check If File or Document Is Open

The articles are all basically the same.

If you find the file is open, then don't offer to archive it.

--
Regards,
Tom Ogilvy



"CLR" wrote:

Hi All....
I have the following macro in a program to prompt the users to occasionally
Archive the file. It works fine, however, when someone opens the file, if
another user already has it open, I would like the pop-up not to appear. How
might the below code be modified to accomplish that, please?

Private Sub Workbook_Open()
Dim MyDate
MyDate = Date
Dim LastDate
LastDate = Range("ah37").Value
ans = MsgBox("This LOGBOOK Program has not been Archived since " &
LastDate & ".....Do it now?", vbYesNo)
If ans = vbYes Then
Range("ah37").Select
Selection.Value = MyDate
Application.Run "NewSaveArchive"
Else
End If
End Sub

Thanks,
Vaya con Dios,
Chuck, CABGx3


  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default So, what if it's already open?

Vaya,

Re the code examples on those links. If you run this code in the file
you are examining wouldn't it always return that the file is already
open?

Barry-Jon

  #9   Report Post  
Posted to microsoft.public.excel.programming
CLR CLR is offline
external usenet poster
 
Posts: 1,998
Default So, what if it's already open?

I dunno Barry-Jon, it's all beyond me. I just used your simple suggestion to
solve my immediate problem and it worked fine. I only wanted a way to have
my start-up prompt ,(encouraging the user to Archive the file) to NOT pop up
if the file was already being used by another user. Your key on the
"read-only" attribute worked fine for that. thanks again.

Vaya con Dios,
Chuck, CABGx3



"Barry-Jon" wrote:

Vaya,

Re the code examples on those links. If you run this code in the file
you are examining wouldn't it always return that the file is already
open?

Barry-Jon


  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default So, what if it's already open?

Cool - sorry I meant to direct the question at Tom. Glad my suggestion
helped.



  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default So, what if it's already open?

As I said, I misunderstod the problem stated. I thought he wanted to check
if the archived file was in use - not the workbook he had open. The
articles I provided were for that purpose.

--
Regards,
Tom Ogilvy


"Barry-Jon" wrote in message
ups.com...
Vaya,

Re the code examples on those links. If you run this code in the file
you are examining wouldn't it always return that the file is already
open?

Barry-Jon



  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default So, what if it's already open?

Tom - thanks - I wasn't being critical I was just checking I understood
what the code was doing. I have added your links to my bookmarks too.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
ON OPEN VBA Code input incorrectly now excel sheet wont open mmartin New Users to Excel 1 February 16th 11 11:33 PM
Opening Excel, Book1 opens, remains open with other workbook open DanieB Excel Discussion (Misc queries) 0 September 3rd 09 08:23 AM
excel 2003 saved file will not open without a blank workbook open Bob Excel Discussion (Misc queries) 4 November 11th 06 04:24 PM
workbooks.open function fails to open an existing excel file when used in ASP, but works in VB. san Excel Programming 1 January 3rd 06 03:22 AM
How do I stop Excel from closing the open file each time I open a. Welsin Setting up and Configuration of Excel 3 January 8th 05 11:16 PM


All times are GMT +1. The time now is 11:56 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"