Re: [AS] forum Applescript

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Jacques Piotrowski via Applescript_fr
Date:  
À: applescript_fr
CC: Jacques Piotrowski
Sujet: Re: [AS] forum Applescript
Bonjour,

j'avais fait un droplet qui prenait en charge une liste de fichiers :

-- Auteur : Jacques PIOTROWSKI - France
-- Date de rédaction : 31/08/2003
-- But : renommer un lot de fichiers en ajoutant un préfixe constant au nom existant.

on open liste_des_fichiers
    --
    -- Initialiser les constantes
    --
    set label_Annuler to "Annuler"
    set label_Continuer to "Continuer"
    set label_Reprendre to "Reprendre"
    --
    -- Initialiser les variables de travail
    --
    set racine_ok to false as boolean

    
    tell application "Finder"
        set nb_fichiers to the count items in liste_des_fichiers
    end tell
    --
    -- Saisir un préfixe pour renommer l'ensemble des fichiers
    --
    set message_utilisateur to "Entrez un préfixe qui sera ajouté au nom des fichiers sélectionnés"
    repeat
        set reponse_utilisateur to display dialog message_utilisateur ¬
            buttons {label_Continuer, label_Annuler} default button 1 ¬
            with icon note default answer ""
        set racine_saisie to text returned of reponse_utilisateur
        set bouton_choisi to button returned of reponse_utilisateur
        if length of racine_saisie > 0 then
            if bouton_choisi = label_Continuer then
                set racine_ok to true
                exit repeat -- Saisie du préfixe
            end if
        else
            if bouton_choisi = label_Continuer then
                set message_utilisateur to "Aucune information saisie !"
            end if
        end if
    end repeat -- Saisie du préfixe
    --
    -- Renommer les fichiers sélectionnés
    --
    if racine_ok = true then
        tell application "Finder"
            repeat with un_fichier in liste_des_fichiers
                get the info for the un_fichier
                set useMe to the result
                get the name of useMe
                set ancien_nom to the result
                -- display dialog ancien_nom
                set nouveau_nom to racine_saisie & ancien_nom
                -- display dialog nouveau_nom
                set the name of un_fichier to nouveau_nom
            end repeat
        end tell
    end if

    
end open

Si cela peut aider.
PJ

 -----------------------------------
ATTENTION : Ce message est protégé par les règles relatives au secret des
correspondances. Il peut en outre contenir des informations à caractère
confidentiel ou protégées par différentes règles et notamment le secret des
affaires. Il est établi à destination exclusive de son destinataire. Toute
divulgation, utilisation, diffusion ou reproduction (totale ou partielle) de
ce message, ou des informations qu'il contient, doit être préalablement
autorisée. L'émetteur décline toute responsabilité au titre de ce message
s'il a été modifié ou falsifié. Si vous n'êtes pas destinataire de ce
message, merci de le détruire immédiatement et d'avertir l'expéditeur de
l'erreur de distribution et de la destruction du message. Toutes
divulgations relèvera de la commission Informatique et Liberté ainsi que des
articles 226-15 et 432-9 du code pénal.



Le 10/05/2021 à 15:49, Madert Pascal via Applescript_fr a écrit :
> Bonjour,
>
> Voici le script qui fonctionne grâce à Yvan Koenig et Jacques Piotrowski. Si ça peut servir à d'autres.
>
> Mon assistante me demande : Est-ce possible de pouvoir poser plusieurs fichiers excel sur le Droplet ?
> Et là, je ne sais pas lui répondre.
> J'ai un script qui transforme les ".csv" en ".xlsx" et qui utilise "on run" et "on open" ensuite. Mais il ouvre une fenêtre de choix (choose folder) et là je voudrais que ce soit en glisser-déposer…
> Je vais chercher, si vous avez une piste.
>
> Bonne semaine
> Pascal
>
>
>> Voici ce qui fonctionne chez moi.
>>
>> [script]
>> on open fileName
>>     if class of fileName is list then set fileName to first item of fileName
>>     tell application "Finder"
>>         set theFileName to name of fileName
>>         set theFilePath to fileName as string
>>         set lextension to name extension of fileName
>>         set nomcourt to text 1 thru ((length of theFileName) - (1 + (length of lextension))) of theFileName
>>         set folderPath to folder of fileName as alias
>>         set folderName to name of folderPath
>>     end tell
>>     tell application "Microsoft Excel"
>>         activate
>>         open fileName
>>         set theDate to (value of cell "H2") as date -- retourne une date Applescript conforme aux réglages système
>>         set theYear to year of theDate as string -- je suppose que l'année est sur quatre chiffres
>>         if theYear < 100 then set theYear to theYear + 2000 -- suppose que la date relève du XXIème siècle
>>         set theYear to theYear as string
>>         set theMonth to text 2 thru 3 of ((100 + (month of theDate as number)) as string) -- on aura toujours deux chiffres
>>         set theDay to text 2 thru 3 of ((100 + (day of theDate)) as string) -- on aura toujours deux chiffres
>>         set NouveauTexte to theYear & "-" & theMonth & "-" & theDay
>>         set NewFileName to folderName & "-" & NouveauTexte & "." & lextension
>>         set chemin to folderPath as text
>>         set chemin2 to chemin & NewFileName
>>         set knt to 0
>>         repeat
>>             if my testPresence(chemin2) then
>>                 set knt to knt + 1
>>                 set NewFileName to folderName & "-" & NouveauTexte & "-" & knt & "." & lextension
>>                 set chemin2 to chemin & NewFileName
>>             else
>>                 exit repeat
>>             end if
>>         end repeat
>>         tell application "Finder" to set name of fileName to NewFileName

>>         
>>     end tell
>> end open

>>
>> on testPresence(p2f)
>>     tell application "Finder"
>>         return (exists file p2f)
>>     end tell
>> end testPresence
>> [script]

>>
> _______________________________________________
> Applescript_fr mailing list
> Applescript_fr@???
> http://listes.patpro.net/mailman/listinfo/applescript_fr

_______________________________________________
Applescript_fr mailing list
Applescript_fr@???
http://listes.patpro.net/mailman/listinfo/applescript_fr