ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Disable screensavers from Excel (https://www.excelbanter.com/excel-programming/406737-disable-screensavers-excel.html)

Andrew at Fleet

Disable screensavers from Excel
 
To whom it may concern,

Is there a way to disable the Windows XP screen saver from an Excel macro?
I'm using Excel 2003, and a "National Company" version of Windows XP where
the control of the screensaver has been removed from the users. When I'm
running an Excel macro over a large data file, the screensaver starts to
activate. As the CPU's resources are being used by Excel at the time, the PC
freezes. I'm wondering if there's some code that can be added to the macro
to prevent that.

--
Andrew
Telstra Fleet
Melbourne
Australia

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/communities...el.programming

Mark Ivey[_2_]

Disable screensavers from Excel
 
Give this one a go...

I got this one from
http://groups.google.com/group/micro...5283ecbd9e0c60



I still think either a reboot or a logoff/logon may be required for this to
take effect.


Option Explicit

Sub DisableScreenSaver()
Dim WShShell, Value, Saved
Dim Password
'Password=Inputbox ("Enter Password")
'If Password < "running" then Wscript.quit
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\ScreenSaveActive")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved < "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSave", Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "1"
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive", "0"
End If
End Sub

Sub RestoreScreenSaver()
Dim WShShell, Value, Saved
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSave")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved = "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive",
Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "0"
End If
'WScript.Quit (0)
End Sub



Mark Ivey


"Andrew at Fleet" wrote in message
...
To whom it may concern,

Is there a way to disable the Windows XP screen saver from an Excel macro?
I'm using Excel 2003, and a "National Company" version of Windows XP where
the control of the screensaver has been removed from the users. When I'm
running an Excel macro over a large data file, the screensaver starts to
activate. As the CPU's resources are being used by Excel at the time, the
PC
freezes. I'm wondering if there's some code that can be added to the
macro
to prevent that.

--
Andrew
Telstra Fleet
Melbourne
Australia

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow
this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/communities...el.programming



Andrew at Fleet

Disable screensavers from Excel
 
Mark,

Thanks for your help. I'll give it a go.
--
Andrew
Telstra Fleet
Melbourne
Australia


"Mark Ivey" wrote:

Give this one a go...

I got this one from
http://groups.google.com/group/micro...5283ecbd9e0c60



I still think either a reboot or a logoff/logon may be required for this to
take effect.


Option Explicit

Sub DisableScreenSaver()
Dim WShShell, Value, Saved
Dim Password
'Password=Inputbox ("Enter Password")
'If Password < "running" then Wscript.quit
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\ScreenSaveActive")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved < "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSave", Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "1"
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive", "0"
End If
End Sub

Sub RestoreScreenSaver()
Dim WShShell, Value, Saved
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSave")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved = "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive",
Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "0"
End If
'WScript.Quit (0)
End Sub



Mark Ivey


"Andrew at Fleet" wrote in message
...
To whom it may concern,

Is there a way to disable the Windows XP screen saver from an Excel macro?
I'm using Excel 2003, and a "National Company" version of Windows XP where
the control of the screensaver has been removed from the users. When I'm
running an Excel macro over a large data file, the screensaver starts to
activate. As the CPU's resources are being used by Excel at the time, the
PC
freezes. I'm wondering if there's some code that can be added to the
macro
to prevent that.

--
Andrew
Telstra Fleet
Melbourne
Australia

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow
this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/communities...el.programming



Andrew at Fleet

Disable screensavers from Excel
 
Hello Mark,

I think I can use this code. The location of the values with the registry
differs slightly, but I can update that. But, I do believe that I'll have to
reboot the PC to allow the changes to be saved. So, do you know of any code
to ask the user to reboot the PC? I would prefer a YesNo box that would
allow a choice, but I can add that later.

TIA
--
Andrew
Telstra Fleet
Melbourne
Australia


"Mark Ivey" wrote:

Give this one a go...

I got this one from
http://groups.google.com/group/micro...5283ecbd9e0c60



I still think either a reboot or a logoff/logon may be required for this to
take effect.


Option Explicit

Sub DisableScreenSaver()
Dim WShShell, Value, Saved
Dim Password
'Password=Inputbox ("Enter Password")
'If Password < "running" then Wscript.quit
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\ScreenSaveActive")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved < "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSave", Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "1"
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive", "0"
End If
End Sub

Sub RestoreScreenSaver()
Dim WShShell, Value, Saved
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSave")
Saved = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved = "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive",
Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved", "0"
End If
'WScript.Quit (0)
End Sub



Mark Ivey


"Andrew at Fleet" wrote in message
...
To whom it may concern,

Is there a way to disable the Windows XP screen saver from an Excel macro?
I'm using Excel 2003, and a "National Company" version of Windows XP where
the control of the screensaver has been removed from the users. When I'm
running an Excel macro over a large data file, the screensaver starts to
activate. As the CPU's resources are being used by Excel at the time, the
PC
freezes. I'm wondering if there's some code that can be added to the
macro
to prevent that.

--
Andrew
Telstra Fleet
Melbourne
Australia

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow
this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/communities...el.programming



Mark Ivey[_2_]

Disable screensavers from Excel
 
Although I have not tested these...

You might try one of these methods at:

http://www.vbaexpress.com/kb/getarticle.php?kb_id=515


Mark Ivey

"Andrew at Fleet" wrote in message
...
Hello Mark,

I think I can use this code. The location of the values with the registry
differs slightly, but I can update that. But, I do believe that I'll have
to
reboot the PC to allow the changes to be saved. So, do you know of any
code
to ask the user to reboot the PC? I would prefer a YesNo box that would
allow a choice, but I can add that later.

TIA
--
Andrew
Telstra Fleet
Melbourne
Australia


"Mark Ivey" wrote:

Give this one a go...

I got this one from
http://groups.google.com/group/micro...5283ecbd9e0c60



I still think either a reboot or a logoff/logon may be required for this
to
take effect.


Option Explicit

Sub DisableScreenSaver()
Dim WShShell, Value, Saved
Dim Password
'Password=Inputbox ("Enter Password")
'If Password < "running" then Wscript.quit
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control
Panel\Desktop\ScreenSaveActive")
Saved = WShShell.RegRead("HKCU\Control
Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved < "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSave",
Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved",
"1"
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive",
"0"
End If
End Sub

Sub RestoreScreenSaver()
Dim WShShell, Value, Saved
Set WShShell = CreateObject("WScript.Shell")
On Error Resume Next
Value = WShShell.RegRead("HKCU\Control Panel\Desktop\SaveScreenSave")
Saved = WShShell.RegRead("HKCU\Control
Panel\Desktop\SaveScreenSaved")
Err.Clear
'MsgBox Value & "-" & Saved
On Error GoTo 0
If Saved = "1" Then
WShShell.RegWrite "HKCU\Control Panel\Desktop\ScreenSaveActive",
Value
WShShell.RegWrite "HKCU\Control Panel\Desktop\SaveScreenSaved",
"0"
End If
'WScript.Quit (0)
End Sub



Mark Ivey


"Andrew at Fleet" wrote in
message
...
To whom it may concern,

Is there a way to disable the Windows XP screen saver from an Excel
macro?
I'm using Excel 2003, and a "National Company" version of Windows XP
where
the control of the screensaver has been removed from the users. When
I'm
running an Excel macro over a large data file, the screensaver starts
to
activate. As the CPU's resources are being used by Excel at the time,
the
PC
freezes. I'm wondering if there's some code that can be added to the
macro
to prevent that.

--
Andrew
Telstra Fleet
Melbourne
Australia

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the
"I
Agree" button in the message pane. If you do not see the button, follow
this
link to open the suggestion in the Microsoft Web-based Newsreader and
then
click "I Agree" in the message pane.

http://www.microsoft.com/communities...el.programming




All times are GMT +1. The time now is 08:19 PM.

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