Bonjour,
Comment vérifier que outlook est déja lancé .
merci
Aeefred
Bonjour,
Comment vérifier que outlook est déja lancé .
merci
Aeefred
Bonjour,
on peut le faire par automation:
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function OutlookOuvert() As Boolean Dim oOL As Object On Error Resume Next Set oOL = GetObject(, "Outlook.Application") On Error GoTo 0 OutlookOuvert = Not (oOL Is Nothing) Set oOL = Nothing End Function
Bonjour,
Voici deux fonctions permettant de tester par contre je ne sais pas si cest compatible avec A97 :
1-
appel (mettre le bon chemin de l'application):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function ApplyLancee(strChemin As String) As Boolean On Error Resume Next Open strChemin For Binary Access Read Write Lock Read Write As #1 Close #1 If Err.Number <> 0 Then ApplyLancee = True Err.Clear End If End Function
Bon pour la deuxième, LedzeppII a été plus rapide. Pour la première ceci nécessie de connître le chemein de l'application. Pour la seconde elle ouvre une instance d'Outlook, je suis moins fan
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub btntest_Click() If ApplyLancee("C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE") = True Then MsgBox "application lancéé" Else MsgBox "non lancée" End If End Sub
par contre à tester pour A97.
@+
Encore une fois merci au forum
c'est la Solution
Aeefred![]()
J'ai mis le code suivant et ca marche,
actuellement je suis en access 2000
et dois passer sous peu en access 2007
Je teste avec la fonction ci-dessus et lance ootlouk si il n'est pas lancé
Aeefred
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Not OutlookOuvert Then Shell "C:\Program Files\Microsoft Office\Office12\outlook.exe", vbNormalFocus End If
Tant que j'y suis, une troisième méthode.
Elle s'appuie sur WMI (introduit dans windows 2000 SP2).
Cette fonction renvoie le nombre de processus pour un exécutable.
Exemple d'utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function GetProcessesCount(strAppExeName As String) As Long Dim oSvc As Object Dim sQuery As String Dim oProcs As Object, lgCnt As Long Set oSvc = GetObject("winmgmts:root\cimv2") sQuery = "select * from win32_process where name='" & strAppExeName & "'" Set oProcs = oSvc.ExecQuery(sQuery) lgCnt = oProcs.Count Set oProcs = Nothing Set oSvc = Nothing GetProcessesCount = lgCnt End Function
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub testIsRunning() Dim strExeName As String, lgInstances As Long strExeName = "outlook.exe" lgInstances = GetProcessesCount(strExeName) If lgInstances = 0 Then MsgBox strExeName & " : aucune exécution en cours" Else MsgBox strExeName & " : " & lgInstances & " instance" & IIf(lgInstances > 1, "s", "") End If End Sub
Partager