Bonjour,


J'ai un script qui me permet de lancer et de verifier si un fichier excel est deja ouvert, sauf qu'apres quelque jours de mise en production je me rend compte que les gens oublie de fermer le excel donc ca le rend indisponible, je souhaiterais savoir comment je pourrais faire une temporisation de 5 min apres l'ouverture du excel afin que quand ce laps de temps est arriver les excels se ferme automatiquement, j'ai chercher sur google j'ai teste pas mal de truc mais rien de tres concluent, je vous remercie par avance.

PS/ Le wscript.sleep fonctionne pas il me dis que le fichier est actuellement occupé, donc comment le forcer? je suis prenneur de toute proposition et encore merci


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Const EXCEL_GUID = "Excel.Application"  
 
' Méthodes 
 
Sub Main() 
 
Dim OFS, MonFichier, Result
 
'crée la référence du dossier
 
Set OFS = CreateObject("Scripting.FileSystemObject")
 
'vérifie l'existance du fichier.
 
 
 
	If OFS.FileExists("S:\lili\lala\lolo\flag.txt") Then 
 
		MsgBox ("Fichier est actuellement occupé, merci de réessayer plus tard. ")		
 
	Else
 
		 ' Excel objects 
 
		 Dim wkb 
 
		 Dim FSys
 
		 Dim MonFic 
 
 
 
		 ' Création d'une instance d'Excel 
 
		 Set xls = CreateObject(EXCEL_GUID) 
 
 
 
		 ' On ne l'affiche pas 
 
		 'xls.Visible = True 
 
 
 
		 ' Ajout d'un espace de travail (par défaut, Excel s'ouvre vide) 
 
		 Set wkb = xls.Workbooks.Open("S:\lili\lala\lolo\Demande Support.xls") 
 
		 Set FSys = CreateObject("Scripting.FileSystemObject")
 
		 Set MonFic = FSys.CreateTextFile("S:\lili\lala\lolo\flag.txt") 
 
		 MonFic.Close()
 
		 xls.Run("start.start")
 
 
 
		 ' On indique qu'on ferme l'espace de travail en enregistrant le document (une popup d'enregistrement apparaît) 
 
 
 
		'quite le script
 
		'temp d'attente en seconde (300000=5min)
 
		xls.Quit 
 
		xls.Visible = True 
 
		'wscript.sleep 10000        ' 300000	
 
	    'close
 
		 ' On quitte Excel 
 
 
 
		sup
 
	    'wscript.quit
 
	End if
 
End Sub
 
Function sup() 
 
	On Error Resume Next 
 
		Set objFSO = CreateObject("Scripting.FileSystemObject") 
 
		objFSO.DeleteFile("S:\lili\lala\lolo\flag.txt")
 
			If err.number <> 0 Then  
 
				sup = false  
 
			else  
 
				sup = true 
 
			End If 
 
End Function
 
' Démarrage du programme 
 
Call Main()