Bonjour,
J'ai créé la macro ci-dessous qui a pour but de fermer tous les fichiers Word encore ouvert sur un serveur.
J'ai créé une tâche batch planifié qui lance donc ce fichier tous les jours.
Quand je test manuellement c'est à dire j'ouvre un Word sur le serveur puis j'exécute ma tâche planifiée, la macro fait le travail.
En revanche en automatique lorsqu'un fichier reste réellement ouvert la nuit et que la tâche se lance il ne se passe rien. Même si je lance par la suite la tâche planifié manuellement.
La seule différence que je vois entre mon test et la partie automatique, c'est que le Word qui reste ouvert en entête il y a le nom du fichier puis entre croche [Mode comptatibilité]
Est-ce que cela peut venir de là ?
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 Private Sub Workbook_Open() Dim objWord As Object Dim blnHaveWorkObj As Boolean ' assume a Word object is there to be quit blnHaveWorkObj = True ' loop until no Word object available Do On Error Resume Next Set objWord = GetObject(, "Word.Application") If objWord Is Nothing Then ' quit loop blnHaveWorkObj = False Else ' quit Word objWord.Quit ' clean up Set objWord = Nothing End If Loop Until Not blnHaveWorkObj Application.Wait Now + TimeValue("0:00:05") Application.DisplayAlerts = False Application.Quit End Sub
Partager