IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Vérifier si un fichier Excel contient des macros [AppleScript]


Sujet :

AppleScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Vérifier si un fichier Excel contient des macros
    Bonjour,

    Je suis en train de faire un script qui converti tous mes fichiers xls en xlsx. Tout fonctionne super bien sauf pour mes fichiers xls qui contiennent des macros.

    En effet, lorsque mon script ouvre un fichier xls avec des macros, il y a une fenêtre Excel qui s'ouvre demandant si je veux Activer ou Désactiver les macros.. Et mon script d'arrête là.

    En résumé, je cherche un bout de script qui vérifie si cette boîte de dialogue s'ouvre ou pas. Si elle s'ouvre, c'est qu'elle contient des macros, donc le script ferme ce fichier et passe au suivant.

    Help me les amis

  2. #2
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 603
    Points : 1 240
    Points
    1 240
    Par défaut Vérifier si un fichier Excel contient des macros
    Bonsoir Joninho,

    Je suppose que ton script parcours les fichiers Excel d'un dossier, ouvre chaque fichier et l'enregistre sous l'une des formats .xlsx (sans macro) ou xlsm (avec macro).

    Ton post contient en fait 2 questions :
    1) comment désactiver l'alerte sur la macro à l'ouverture ?
    2) une fois ouvert comment savoir sous quel format enregistrer selon macro ou pas ?

    1) il faut changer un paramètre dans les préf Excel. Ouvre un fichier avec une macro. Menu Excel, / préférences, puis dans l'onglet sécurité, tu dois pouvoir régler une option d'alerte des macros (qui doit être coché pour l'instant). Le format et l'appellation exactes dépendent de ta version d'Excel.
    Tu fermes ton fichier en l'enregistrant, tu quittes Excel et tu n'auras plus d'alerte (attention ! plus d'alerte peut être dangereux)

    2) Déterminer la présence d'une macro
    Lorsque tu ouvres le fichier à convertir dans le script avec Excel, il suffit de tester le paramètre Booléen "has vb project" du "workbook actif
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set Mon_Fichier to choose file
     
    tell application "Microsoft Excel"
    	open Mon_Fichier
    	set Mon_Book to active workbook
    	set MacroFlag to has vb project of Mon_Book
    	display dialog "Macro ? =" & (MacroFlag) as string
    end tell
    La première ligne de choix du fichier est juste là pour l'exemple (j'ai testé avant !!)
    Ensuite, j'ouvre le fichier et j'assigne à MacroFlag, la valeur true/false selon la présence d'une macro.

    Pour ton script, il manque la boucle sur tous les fichiers et surtout l'enregistrement sous ... avec le type selon MacroFlag et bien sûr le close.

    J'espère avoir répondu à ta question
    Cordialement
    PBell

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour PBELL,

    C'est exactement le petit bout de code qu'il me manquait ! (surtout le "has vb project")

    J'ai adapté ça à mon script et ça fonctionne nickel, tu es mon sauveur.

    Merci et bonne continuation !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/11/2014, 16h34
  2. Réponses: 1
    Dernier message: 08/10/2008, 15h30
  3. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  4. Vérifier si un classeur contient des macros
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/12/2007, 19h56
  5. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo