![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]() ![]()
Message
#1
|
|
![]() Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 903 Inscrit : 28 Oct 2004 Lieu : Belgium Membre no 25 982 ![]() |
Bonjour à tous,
Je souhaiterais, grâce à un Applescript (ou autre)... "convertir à la vollée" tout nouveau fichier CSV entrant en XLS... Est-ce possible ? Merci, -------------------- ![]() ![]() ![]() --------\\\ /// ------ ( @ @ ) ....o00o.(_).o00o.. |
|
|
![]() |
![]()
Message
#2
|
|
Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 267 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 ![]() |
Bonsoir,
Sur le fond, tu as raison Baron: les fichiers CSV s'ouvriront avec Excel, mais ce n'est pas à proprement parlé une conversion car les fichiers restent CSV. Voici un script qui peut être utilisé pour vraiment convertir: 1) en direct: il demande la sélection d'un dossier et converti tous les csv qui se trouvent dans ce dossier en .xlsx 2) via un drop de fichiers sur l'icône de ce script (enregistré en tant qu'application) 3) en action de dossier: il converti les csv déposé dans le dossier en xlsx. La propriété deletecsv est mise à "true" par défaut. Elle indique que le fichier csv d'origine doit être supprimé après conversion. Pour garder ce fichier, mettre "false". CODE -- Converti des fichiers csv en Excel -- Attention: -- pour pouvoir utiliser ce script en mode drop fichier, il faut l'enregistrer sous forme d'application -- mais pour l'utiliser en action de dossier dans le dossier Folder Action de la bibliothèque il doit être enregistré en script property deletecsv : true -- true si le fichier csv être supprimé après conversion on run -- mode application ou script: demande un dossier et converti tous les csv contenus en XL -- sélection du dossier des fichiers csv à convertir tell application "Finder" to set liste to (document files of (choose folder "Sélectionner le dossier contentant les fichiers csv à convertir") whose name extension is "csv") as alias list repeat with uncsv in liste csv_to_xl(uncsv) end repeat end run on open liste -- mode application: drop des fichiers csv pour les convertir en XL repeat with uncsv in liste if (uncsv as string) ends with ".csv" then csv_to_xl(uncsv) end repeat end open on adding folder items to ceDossier after receiving fichiers -- mode script -- il faut filtrer les fichiers de type csv ajoutés au dossier set liste to {} tell application "Finder" repeat with un_fichier in fichiers set f to file un_fichier if (name of f ends with "csv") then set end of liste to un_fichier end repeat end tell repeat with uncsv in liste csv_to_xl(uncsv) end repeat end adding folder items to on csv_to_xl(f) tell application "Microsoft Excel" open f set wb to active workbook set XLfichier to (text 1 thru -4 of (f as string)) & "xslx" save workbook as wb filename XLfichier close wb end tell if deletecsv then tell application "Finder" to delete f end if end csv_to_xl J'ai un souci avec l'action de dossier. Si le script est enregistré en tant qu'application dans le dossier des folder action script de la bibliothèque, il ne se lance pas. J'ai du le laisser en mode script pour l'utiliser. Si quelqu'un peut m'indiquer pourquoi...? Je précise que ce n'est pas du aux droits ou autorisations que j'ai bien définis dans les préférences. (je suis sous El Capitain). Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
![]() ![]() |
Nous sommes le : 14th September 2025 - 07:51 |