Fermer Excel et ExitWindows

E

emg

Guest
Bonjours à tous et toutes le forum en général

Tout d’abord je vous souhaite plein de bonne chose pour cette nouvelle année

Dans la rubrique ferme Excel et éteindre l’ordinateur notre amis Vériland nous avait donné un code VBA excellent pour ce faire. Une autre méthode que j’ai trouvé sur le net et adapter pour enregistrer le classeur Excel et quitter l’application Excel sans utilisation d’aucun APIS le top quoi.

OK avec Excel 2003 et Win XP
Pour Infos:
L'exécution de Scripts VBScript nécessite que le Windows Scripting Host soit installé sur votre machine
Ça devrait être le cas systématique avec Windows 98 / 98 SE / 98 ME, Windows 2000 et Windows XP.

WMI Exemple Script - COMMANDE system reboot (VBScript)
La méthode Reboot arrête l'ordinateur, puis le redémarre
Sub EnregistreXlsReboot()
Dim objWMIService, colOperatingSystems, ObjOperatingSystem
'Le point (.) représente l'ordinateur local dans WMI
Const strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
'Arrête l'ordinateur, puis le redémarre
For Each ObjOperatingSystem In colOperatingSystems
ObjOperatingSystem.Reboot
End Sub

WMI Exemple Script - System shutdown (VBScript)
La propriété Shutdown décharge les programmes et les DLL jusqu'à ce que
l'ordinateur puisse être arrêté en toute sécurité. Toutes les mémoires tampon de
fichiers sont écrites sur le disque, et tous les processus en cours d'exécution sont arrêtés.
Sub ArreterOrdinateurShutdown()
Dim colOperatingSystems, ObjOperatingSystem
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
'Arrête l'ordinateur, puis le redémarre
For Each ObjOperatingSystem In colOperatingSystems
'Jeu d 'indicateurs pour arrêter l'ordinateur. Définissez ce paramètre à 0 pour fermer la session.
'La propriété Flags peut prendre les valeurs suivantes :
'ObjOperatingSystem.Win32Shutdown '(1) '(2) - 1 Arrêter et Eteint - 2 Arrêter et Redémarrer
ObjOperatingSystem.Win32Shutdown (1)
Next
End Sub

Une procédure qui révèle les informations sur la machine locale.

Le fichier d'origine est un script VBS Windows Scripting Host (l’auteur est FRANCK POCHON)
Le codes à quelques peu été adapté depuis l'original de l'auteur pour fonctionner sous Excel

Voila c’est tout amusez vous bien

@+ Gérard
 

Pièces jointes

  • EXITWINDOWS.zip
    46.5 KB · Affichages: 74
M

michel

Guest
bonjour Gerard

merci pour cette belle demo
les Wmi class ouvrent effectivement quelques belles perspectives sur Excel

j'utilise aussi parfois cette methode .Par contre , pour déclarer les variables , j'active la reference Microsoft WMI Scripting xx.x Library

un exemple pour fermer uniquement les fichiers Txt

Sub fermerUneApplication()
'necessite d'activer la reference Microsoft WMI Scripting Library
'testé avec Excel2002 et WinXP
'michelxld le 04.01.2005
Dim objProcess As WbemScripting.SWbemObject
Dim colProcessList As WbemScripting.SWbemObjectSet
Dim objWMIService As WbemScripting.SWbemServices
Dim strComputer As String

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.execQuery _
("Select * from Win32_Process Where Name = 'Notepad.exe'")

For Each objProcess In colProcessList
objProcess.Terminate
Next

End Sub


bonne journée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 033
Messages
2 084 806
Membres
102 674
dernier inscrit
Eloels