Bonjour à tous
Je suis plus habitué à la programmation VBA,mais j'ai besoin d'un bout de code en VBS pour modifier le niveau de securité d'ouverture des macro d'excel pour l'ouverture d'un fichier sans avoir à repondre à la demande d'excel sur l'activation de la macro.
Niveau de securité qui est contenu dans le registre.
J'ai recupéré le bout de code suivant que j'ai du adapter en fonction de la version d'excel.
Mais le fichier specifier ne demarre pas, excel ne se met pas en route et je ne vois pas pourquoi?
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 2003
- Set wsh = WScript.CreateObject("WScript.Shell" )
- Cle2003 = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level"
- Dim NiveauSecurite, wsh
- 'niveau de sécurité en début d'exécution
- NiveauSecurite = wsh.RegRead(Cle2003)
- 'changement pour le niveau le plus faible
- wsh.RegWrite Cle2003, 1,"REG_DWORD"
- 'ouverture du classeur sans alerte macro
- Retour=wsh.Run("C:\Adobe\Saisie Activité Journalière.xls", 3, False)
- 'rétablissement du niveau de sécurité de départ
- wsh.RegWrite Cle2003, NiveauSecurite,"REG_DWORD"
- 'pour vérifier si la clé pour Excel 2000 existe bien
- Function IsExcel2003()
- On Error Resume Next
- Res=wsh.RegRead(Cle2003)
- IsExcel2003=(Err=0)
- End Function
|
Si quelqu'un peut me donner un coup de main.
Merci
Message édité par treza88 le 14-01-2007 à 12:48:53