Function IsExcel2000 () pour 2003

popof

XLDnaute Occasionnel
Bonjour à toutes et à tous
Bonjour à toi forum :)

Donc voilà comme l'indique le sujet je suis à la recheche de l'équivalence de cette fonction pour office11 soit excel 2003.

Je ne c même pas si il en existe une mais je suppose

D'avance merci

Popof :whistle:
 

popof

XLDnaute Occasionnel
re ( encore )

voici le code

'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,'Excel.Application')
If Not IsEmpty(objXl) Then
Msgbox 'Excel doit être fermé pour exécuter ce script...'
WScript.Quit
End If

Err.Clear

'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject('WScript.Shell')
Cle2000 = 'HKCU\\Software\\Microsoft\\Office\\9.0\\Excel\\Security\\Level'

If Not IsExcel2000 Then
MsgBox 'Ce script ne peut désactiver l'alerte macro que pour Excel 2000...'
WScript.Quit
End If

Dim NiveauSecurite, wsh

'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)

'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,'REG_DWORD'

'ouverture du classeur sans alerte macro
Retour=wsh.Run('D:\\6OfficeVBA\\ClasseurTestSecurite.xls', 3, False)


'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,'REG_DWORD'

'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next

Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function

voici le lien

Ce lien n'existe plus

voici ma tete aprés avoir vu le lien B)
voici ma tête après avoir vu le script :sick:

ma tête maintenant :eek:
 

popof

XLDnaute Occasionnel
Re le fil , jmps, creepy

Bon, nickel ça fait comme je le pensais, rien à dire
ça pour pas marcher ça marche pas :p

Bon j'abandonne, d'autres soucis sur mon fichier à résoudre (Cf post 'Suppression Copie bye popof')

Sinon pour mon pc ça va pis les tites flammes dedans ça fait joli :silly:
 

Ti_

Nous a quitté
Repose en paix
tiens, comme je vois que tu as ouvert un nouveau fil pour ton problème de déploiement de ton programme, je te mets une démo ici, mais ce n'est pas bien de multiplier les fils pour une même question !

En préambule, comme le souligne jmps, je te donne la solution pour mettre la machine à son niveau de sécurité le plus bas, quelle que soit la version utilisée, mais je te signale que personnellement je désapprouve cette façon de procéder.
Imagine que ton script plante pour une raison ou pour une autre et le user se retrouvera durablement avec un niveau de sécurité bas ce qui, dans un environnement pro, n'est peut-être pas la meilleure solution.

En fait, plutôt que de mettre tout en sécurité 1, tu peux à la rigueur envisager de mettre ton fichier en sécurité 2 (niveau moyen) puis, dans ton fichier, prévoir une page d'accueil qui ne s'afficherait que si les macros sont désactivées, en signalant alors que pour que le programme fonctionne normalement, il faut activer les macros (mais alors ce sera un acte volontaire de l'opérateur). Si les macros sont activées, tu places une macro événementielle qui masque cette page de mise en garde et donne l'accès aux autres feuilles et le tour est joué.

J'ai oublié de préciser que dans le fichier joint, tu dois modifier la variable Chemin pour qu'elle corresponde à l'emplacement réel de ton fichier bien sûr

[file name=SecuriteBasse.zip size=724]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SecuriteBasse.zip[/file]

Message édité par: Ti_, à: 21/06/2005 15:22
 

Pièces jointes

  • SecuriteBasse.zip
    724 bytes · Affichages: 12

popof

XLDnaute Occasionnel
re ici

Merci _Ti et désolé encore pour la double fil :eek:

je pense que tu as raison sur le principe qu'il ne faut pas laissé la sécurité macro à son niveau le plus faible cependant je n'ais pas vraiment le choix, une solution s'offre à moi grace à ton script ( qui lui fonctionne nickel) j'en décris la procédure:

Ouverture du fichier XLS via le VBS ( XLS en caché)
Donc activation de toutes les macros
Et pour ne pas laissé les z'utilisateurs en mini, peut on faire une macro qui à la fermeture repasse la securité en niveau 3 ??

Sinon ta 2ème solution est elle aussi intéressante mais encore une fois je suis limité par mes connaissances mais bon je vais essayer ce genre de chose:

Si ouverture sans macros alors
sheets 'feuil de mise en garde' et 'masquage de toute les autres
sinon procédure normale

merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 492
Membres
103 559
dernier inscrit
pascalbill