Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire confiance au projet visual basic + Niveau de sécurité

3 réponses
Avatar
Bruno LOUIS
Bonjour,

Je cherche un bout de code qui me permettrait de connaître le niveau de
sécurité d'Excel, ainsi que la position de la case à cocher 'Faire confiance
au projet VB'.

Merci à quinconque pouvant me fournir un indice.

Bruno

3 réponses

Avatar
Michel Pierron
Bonsoir Bruno;
Dans tous les cas de figure, pour faire ceci par VBA, il faut que les macros
soient autorisées sinon, cela n'est pas possible par VBA. Pour tester l'état
de "Faire confiance au projet VB", tu peux utiliser ceci:

Sub VBProjectState()
If Val(Application.Version) < 10 Then Exit Sub
Const Msg$ = "Faire confiance au projet Visual Basic "
If Trusted Then
MsgBox Msg & "est coché !", 64
Else
MsgBox Msg & "n'est pas coché !", 64
End If
End Sub

Private Function Trusted() As Boolean
Dim VBP As Object
On Error Resume Next
Set VBP = ActiveWorkbook.VBProject
Trusted = Not CBool(Err.Number)
Set VBP = Nothing
End Function

MP

"Bruno LOUIS" a écrit dans le message de
news: 438db010$0$29228$
Bonjour,

Je cherche un bout de code qui me permettrait de connaître le niveau de
sécurité d'Excel, ainsi que la position de la case à cocher 'Faire
confiance

au projet VB'.

Merci à quinconque pouvant me fournir un indice.

Bruno




Avatar
anonymousA
Bonjour,

eut-être comme suit

p.e sur Excel 2000 avec XP, essayer d'aller voir dans la base des
registres par VB ( pas VBA) en utilisant les API
HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelSecurity et
regarder ce qu'il y dans la section Level.
Puis changer la valeur à 1 et enfin ouvrir Excel

A+

Mea culpa, je n'ai pas tout dit !

En réalité,j'ai développé une application VB6. J'ai également des fichiers
texte contenant le code correspondant aux macros Excel, et j'ai enfin des
classeurs avec différentes trames mais vierges de tout code.

Au lancement de l'exécutable VB6, ce dernier ouvre, sur demande de
l'utilisateur, différents classeurs Excel, il ajoute des modules vierges,
injecte le code qu'il récupère dans les fichiers, puis demande à Excel
d'exécuter les macros.

Pour que ce projet fonctionne correctement, il est indispensable que le
niveau de sécurité d'Excel ne soit pas trop élevé et que la case 'Faire
confiance au projet VB' soit cochée.

Pour cette dernière case ton code marche à merveille, je t'en remercie.

Je ne vois pas, par contre, comment récupérer le niveau de sécurité.

Avis aux amateurs.

Bruno

"Michel Pierron" a écrit dans le message de news:
O31S%

Bonsoir Bruno;
Dans tous les cas de figure, pour faire ceci par VBA, il faut que les
macros
soient autorisées sinon, cela n'est pas possible par VBA. Pour tester
l'état
de "Faire confiance au projet VB", tu peux utiliser ceci:

Sub VBProjectState()
If Val(Application.Version) < 10 Then Exit Sub
Const Msg$ = "Faire confiance au projet Visual Basic "
If Trusted Then
MsgBox Msg & "est coché !", 64
Else
MsgBox Msg & "n'est pas coché !", 64
End If
End Sub

Private Function Trusted() As Boolean
Dim VBP As Object
On Error Resume Next
Set VBP = ActiveWorkbook.VBProject
Trusted = Not CBool(Err.Number)
Set VBP = Nothing
End Function

MP

"Bruno LOUIS" a écrit dans le message de
news: 438db010$0$29228$

Bonjour,

Je cherche un bout de code qui me permettrait de connaître le niveau de
sécurité d'Excel, ainsi que la position de la case à cocher 'Faire


confiance

au projet VB'.

Merci à quinconque pouvant me fournir un indice.

Bruno












Avatar
Bruno LOUIS
Mea culpa, je n'ai pas tout dit !

En réalité,j'ai développé une application VB6. J'ai également des fichiers
texte contenant le code correspondant aux macros Excel, et j'ai enfin des
classeurs avec différentes trames mais vierges de tout code.

Au lancement de l'exécutable VB6, ce dernier ouvre, sur demande de
l'utilisateur, différents classeurs Excel, il ajoute des modules vierges,
injecte le code qu'il récupère dans les fichiers, puis demande à Excel
d'exécuter les macros.

Pour que ce projet fonctionne correctement, il est indispensable que le
niveau de sécurité d'Excel ne soit pas trop élevé et que la case 'Faire
confiance au projet VB' soit cochée.

Pour cette dernière case ton code marche à merveille, je t'en remercie.

Je ne vois pas, par contre, comment récupérer le niveau de sécurité.

Avis aux amateurs.

Bruno

"Michel Pierron" a écrit dans le message de news:
O31S%
Bonsoir Bruno;
Dans tous les cas de figure, pour faire ceci par VBA, il faut que les
macros
soient autorisées sinon, cela n'est pas possible par VBA. Pour tester
l'état
de "Faire confiance au projet VB", tu peux utiliser ceci:

Sub VBProjectState()
If Val(Application.Version) < 10 Then Exit Sub
Const Msg$ = "Faire confiance au projet Visual Basic "
If Trusted Then
MsgBox Msg & "est coché !", 64
Else
MsgBox Msg & "n'est pas coché !", 64
End If
End Sub

Private Function Trusted() As Boolean
Dim VBP As Object
On Error Resume Next
Set VBP = ActiveWorkbook.VBProject
Trusted = Not CBool(Err.Number)
Set VBP = Nothing
End Function

MP

"Bruno LOUIS" a écrit dans le message de
news: 438db010$0$29228$
Bonjour,

Je cherche un bout de code qui me permettrait de connaître le niveau de
sécurité d'Excel, ainsi que la position de la case à cocher 'Faire
confiance

au projet VB'.

Merci à quinconque pouvant me fournir un indice.

Bruno