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()
Partager