Utilisation d'un groupe de travail sécurisé
Si l'application Microsoft Access que vous voulez contrôler utilise un groupe de travail sécurisé (System.mdv), vous voudrez peut-être contourner la boîte d'ouverture de session qui requiert un nom d'utilisateur et un mot de passe. L'exemple de code suivant utilise la fonction Shell()pour démarrer Microsoft Access et passer un nom d'utilisateur et un mot de passe à l'application :
'----------------------------------------------------------------------
'DÉCLARATIONS
'----------------------------------------------------------------------
Option Explicit Dim objAccess as Object
'----------------------------------------------------------------------
'Cette procédure définit une variable de niveau module, objAccess, comme
'faisant référence à une instance de Microsoft Access. Le code tente tout
'd'abord d'utiliser GetObject pour faire référence à une instance peut-être
'déjà ouverte. Si aucune instance n'est 'ouverte, la fonction Shell() ouvre une
'nouvelle instance et 'spécifie le nom d'utilisateur et le mot de passe, en se
'basant sur les arguments passés à la procédure.
'
'Exemple d'appel : OpenSecured varUser:="Admin", varPw:=""
'----------------------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub OpenSecured(Optional varUser As Variant, Optional varPw As Variant)
Dim cmd As String
On Error Resume Next
Set objAccess = GetObject(, "Access.Application")
If Err <> 0 Then 'no instance of Access is open
If IsMissing(varUser) Then varUser = "Admin"
cmd = "C:\Program Files\Microsoft Office\Office\MSAccess.exe"
cmd = cmd & " /nostartup /user " & varUser
If Not IsMissing(varPw) Then cmd = cmd & " /pwd " & varPw
Shell pathname:=cmd, windowstyle:=6
Do 'Wait for shelled process to finish.
Err = 0
Set objAccess = GetObject(, "Access.Application")
Loop While Err <> 0
End If
End Sub |
Partager