OVH Cloud OVH Cloud

Word 2002 : In Tasks

2 réponses
Avatar
adrien barraque
Bonjour,

Nous avons besoin a l'ouverture du traitement de texte de=20
v=E9rifier si celui-ci est d=E9ja ouvert, s'il l'est nous le=20
refermons. Cela donne :

For Each t In Tasks
If InStr(1, LCase(t.Name), "word") <> 0 Then
nb =3D nb + 1
End If
Next
=20
If nb > 1 Then
MsgBox "Message", vbCritical
Application.QUIT
Exit Sub
End If

Nous avons un soucis lorsque le notepad est ouvert, il=20
nous indique que le word est deja ouvert. Je ne comprend=20
pas pourquoi ?
Quelqu'un saurait il ?

Merci

2 réponses

Avatar
Geo
Bonjour adrien

En modifiant ton programme ainsi :
For Each T In Tasks
If InStr(1, LCase(T.name), "word") <> 0 Then
Debug.Print T.name
End If
Next
tu t'apercevras que le résultat n'est pas celui que tu espères.
Et dans l'aide de vba Word on trouve ceci :
"L'exemple suivant montre comment déterminer si Microsoft Excel est en
cours d'exécution.
[...]If Tasks.Exists("Microsoft Excel") = True ThenCeci dit je me
demande comment tu vas faire tourner ta macro si Word est fermé.-- A+
Avatar
adrien
Merci de votre aide, ceci repond à ma question.
Je ne permet l'ouverture de word que si il n'est pas deja
ouvert (cette macro est present dans l'autoexec du
normal), tout ceci pour eviter plusieur instance du
programme word.
If InStr(1, LCase(T.name), "microsoft word") <> 0 then

Cordialement
Adrien

"Geo" a écrit dans le message de
news:
Bonjour adrien

En modifiant ton programme ainsi :
For Each T In Tasks
If InStr(1, LCase(T.name), "word") <> 0 Then
Debug.Print T.name
End If
Next
tu t'apercevras que le résultat n'est pas celui que tu
espères.

Et dans l'aide de vba Word on trouve ceci :
"L'exemple suivant montre comment déterminer si
Microsoft Excel est en

cours d'exécution.
[...]If Tasks.Exists("Microsoft Excel") = True ThenCeci
dit je me

demande comment tu vas faire tourner ta macro si Word
est fermé.-- A+