Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 504
Default VB - ignore a msgbox prompt

Hi

I have an excel sheet that is used by many people (share workbook not an
option I want to use).

I have found code that allows me to force close the workbook after a certain
time. I want after one hour to prompt users (msgbox,vbYesNoCancel) to close
the workbook. This is fine. However I want after 2 hours to force close
regardless. I am missing one piece which is if a user goes home leaving the
workbook open the workbook will produce a prompt after one hour. Until an
option is selected the second piece of code (ie the force close after 2
hours) does not execute. What can I enter in code to ignore or cancel the
first prompt (msgbox) if a user doesnt action it?


--
Kev
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 10,593
Default VB - ignore a msgbox prompt

Instead of a MsgBox, you could use a timed userform,

In the form have a label with the message and Yes and no buttons and this
code

Public Response As VbMsgBoxResult
Public Delay As Double

Private Sub cmdYes_Click()
Response = vbYes
Me.Hide
End Sub

Private Sub cmdNo_Click()
Response = vbNo
Me.Hide
End Sub

Private Sub UserForm_Activate()
nTime = Now + Delay
Application.OnTime nTime, "CloseForm"
End Sub

and then in a standard code module, add this code to launche this message
box

Public nTime As Double
Public frm As frmMessage

Public Sub ShowMessageForm()

Set frm = New frmMessage
frm.Delay = TimeSerial(0, 0, 10) 'adjust to suit
frm.Show
On Error Resume Next
Application.OnTime nTime, "CloseForm", , False
On Error GoTo 0
Unload frm

End Sub

Public Sub CloseForm()
If frm.Response = vbYes Then

ThisWorkbook.Save
ThisWorkbook.Close
Else

'your code to do something in another hour
End If
Unload frm
End Sub


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Kevin" wrote in message
...
Hi

I have an excel sheet that is used by many people (share workbook not an
option I want to use).

I have found code that allows me to force close the workbook after a
certain
time. I want after one hour to prompt users (msgbox,vbYesNoCancel) to
close
the workbook. This is fine. However I want after 2 hours to force close
regardless. I am missing one piece which is if a user goes home leaving
the
workbook open the workbook will produce a prompt after one hour. Until an
option is selected the second piece of code (ie the force close after 2
hours) does not execute. What can I enter in code to ignore or cancel the
first prompt (msgbox) if a user doesnt action it?


--
Kev



  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 504
Default VB - ignore a msgbox prompt

is this because there is no simple way to ignore the msgbox prompt after a
certain time ? ie the code I currently have works fine except to the point
where the user does not action the prompt after 1 hour
--
Kevin


"Bob Phillips" wrote:

Instead of a MsgBox, you could use a timed userform,

In the form have a label with the message and Yes and no buttons and this
code

Public Response As VbMsgBoxResult
Public Delay As Double

Private Sub cmdYes_Click()
Response = vbYes
Me.Hide
End Sub

Private Sub cmdNo_Click()
Response = vbNo
Me.Hide
End Sub

Private Sub UserForm_Activate()
nTime = Now + Delay
Application.OnTime nTime, "CloseForm"
End Sub

and then in a standard code module, add this code to launche this message
box

Public nTime As Double
Public frm As frmMessage

Public Sub ShowMessageForm()

Set frm = New frmMessage
frm.Delay = TimeSerial(0, 0, 10) 'adjust to suit
frm.Show
On Error Resume Next
Application.OnTime nTime, "CloseForm", , False
On Error GoTo 0
Unload frm

End Sub

Public Sub CloseForm()
If frm.Response = vbYes Then

ThisWorkbook.Save
ThisWorkbook.Close
Else

'your code to do something in another hour
End If
Unload frm
End Sub


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Kevin" wrote in message
...
Hi

I have an excel sheet that is used by many people (share workbook not an
option I want to use).

I have found code that allows me to force close the workbook after a
certain
time. I want after one hour to prompt users (msgbox,vbYesNoCancel) to
close
the workbook. This is fine. However I want after 2 hours to force close
regardless. I am missing one piece which is if a user goes home leaving
the
workbook open the workbook will produce a prompt after one hour. Until an
option is selected the second piece of code (ie the force close after 2
hours) does not execute. What can I enter in code to ignore or cancel the
first prompt (msgbox) if a user doesnt action it?


--
Kev




  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 10,593
Default VB - ignore a msgbox prompt

There is a technique, but I have found it to be very flaky, oft times the
message box just doesn't close down anyway.

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Kevin" wrote in message
...
is this because there is no simple way to ignore the msgbox prompt after a
certain time ? ie the code I currently have works fine except to the point
where the user does not action the prompt after 1 hour
--
Kevin


"Bob Phillips" wrote:

Instead of a MsgBox, you could use a timed userform,

In the form have a label with the message and Yes and no buttons and this
code

Public Response As VbMsgBoxResult
Public Delay As Double

Private Sub cmdYes_Click()
Response = vbYes
Me.Hide
End Sub

Private Sub cmdNo_Click()
Response = vbNo
Me.Hide
End Sub

Private Sub UserForm_Activate()
nTime = Now + Delay
Application.OnTime nTime, "CloseForm"
End Sub

and then in a standard code module, add this code to launche this message
box

Public nTime As Double
Public frm As frmMessage

Public Sub ShowMessageForm()

Set frm = New frmMessage
frm.Delay = TimeSerial(0, 0, 10) 'adjust to suit
frm.Show
On Error Resume Next
Application.OnTime nTime, "CloseForm", , False
On Error GoTo 0
Unload frm

End Sub

Public Sub CloseForm()
If frm.Response = vbYes Then

ThisWorkbook.Save
ThisWorkbook.Close
Else

'your code to do something in another hour
End If
Unload frm
End Sub


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my
addy)



"Kevin" wrote in message
...
Hi

I have an excel sheet that is used by many people (share workbook not
an
option I want to use).

I have found code that allows me to force close the workbook after a
certain
time. I want after one hour to prompt users (msgbox,vbYesNoCancel) to
close
the workbook. This is fine. However I want after 2 hours to force close
regardless. I am missing one piece which is if a user goes home leaving
the
workbook open the workbook will produce a prompt after one hour. Until
an
option is selected the second piece of code (ie the force close after 2
hours) does not execute. What can I enter in code to ignore or cancel
the
first prompt (msgbox) if a user doesnt action it?


--
Kev






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
msgbox in VBA peyman Excel Discussion (Misc queries) 6 October 6th 07 09:35 PM
msgbox peyman Excel Discussion (Misc queries) 5 October 4th 07 09:56 PM
save prompt for user exit, but no save prompt for batch import? lpj Excel Discussion (Misc queries) 1 February 25th 06 02:08 AM
msgbox flow23 Excel Discussion (Misc queries) 0 January 10th 06 03:25 PM
Help with MsgBox... tjb Excel Worksheet Functions 3 December 29th 04 03:43 PM


All times are GMT +1. The time now is 05:24 PM.

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

About Us

"It's about Microsoft Excel"