IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Automatisation : Applescript ?
Options
b00ss
posté 27 May 2020, 14:28
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 897
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,


--------------------

iMac 5K
iPhone 11Pro 256GB
Watch SE



--------\\\ ///
------ ( @ @ )
....o00o.(_).o00o..



Go to the top of the page
 
+Quote Post
baron
posté 27 May 2020, 17:58
Message #2


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 302
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Dans le Finder, tu sélectionnes un de tes fichiers .csv, tu demandes à Lire les informations (Cmd-i), tu choisis Ouvrir avec… (tu choisis Excel) et tu cliques sur Tout modifier.

Un double-clic sur un fichier .csv l'ouvrira alors directement dans Excel.


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
PBell
posté 27 May 2020, 20:08
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
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
Go to the top of the page
 
+Quote Post
b00ss
posté 28 May 2020, 12:50
Message #4


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 897
Inscrit : 28 Oct 2004
Lieu : Belgium
Membre no 25 982



Merci beaucoup 😉


--------------------

iMac 5K
iPhone 11Pro 256GB
Watch SE



--------\\\ ///
------ ( @ @ )
....o00o.(_).o00o..



Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 19th March 2024 - 12:40