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