Coller un élément à l'aide d applescript
Résolu/Fermé
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
-
23 nov. 2007 à 10:27
nono95400 - 19 févr. 2008 à 16:38
nono95400 - 19 févr. 2008 à 16:38
A voir également:
- Coller un élément à l'aide d applescript
- Copier coller pdf - Guide
- Retrouver un copier-coller android - Guide
- Copier coller plusieurs éléments - Guide
- Style d'écriture a copier coller - Guide
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
16 réponses
En AppleScript, pour obtenir le contenu du presse papier, il suffit d'appeler le contenu de clipboard (autrement dit presse-papier en anglais :p)
Je n'ai pas bien compris ton problème, si ce n'était pas ça, n'hésite pas à préciser.
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leDossierARenommer to the folder "NOM_DU_DOSSIER" of the disk "NOM_DU_DISQUE_DUR" set the name of leDossierARenommer to leContenuDuPressePapier end tell
Je n'ai pas bien compris ton problème, si ce n'était pas ça, n'hésite pas à préciser.
Alors je remarque que vous avez utilisé la fonction d'enregistrement d'AppleScript ;-) C'est correct mais il y a des instruction qui ne servent à rien lol
Ce code suffit largement pour créer un dossier :
Maintenant, on va assembler votre script avec le mien afin de créer un dossier nommé avec le contenu du presse papier :
Donc là, ce script va créer un dossier ayant pour nom le contenu du presse papier, sur votre bureau (folder "Desktop") situé dans votre dossier d'utilisateur (folder "BP") situé dans votre dossier Utilisateurs (folder "Users") qui est situé dans votre disque dur de démarrage.
Sinon, pour une version un peu plus "universelle", c'est à dire qui fonctionnera sur n'importe quel Mac :
Ici, on n'indique pas le chemin d'accès complet vers le dossier Desktop, on dit juste que il faut créer le dossier sur le bureau. Comme ça, pas besoins de changer le nom d'utilisateur dans le script lorsqu'il doit être exécuté sur une autre session ou un autre Mac.
Ce code suffit largement pour créer un dossier :
tell application "Finder" to make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:"dossier sans titre 4"}
Maintenant, on va assembler votre script avec le mien afin de créer un dossier nommé avec le contenu du presse papier :
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leNouveauDossier to make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:leContenuDuPressePapier} open leNouveauDossier end tell
Donc là, ce script va créer un dossier ayant pour nom le contenu du presse papier, sur votre bureau (folder "Desktop") situé dans votre dossier d'utilisateur (folder "BP") situé dans votre dossier Utilisateurs (folder "Users") qui est situé dans votre disque dur de démarrage.
Sinon, pour une version un peu plus "universelle", c'est à dire qui fonctionnera sur n'importe quel Mac :
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leNouveauDossier to make new folder at (path to desktop) as string with properties {name:leContenuDuPressePapier} open leNouveauDossier end tell
Ici, on n'indique pas le chemin d'accès complet vers le dossier Desktop, on dit juste que il faut créer le dossier sur le bureau. Comme ça, pas besoins de changer le nom d'utilisateur dans le script lorsqu'il doit être exécuté sur une autre session ou un autre Mac.
dede74000
Messages postés
26979
Date d'inscription
jeudi 5 avril 2007
Statut
Contributeur
Dernière intervention
26 août 2024
5 352
23 nov. 2007 à 13:45
23 nov. 2007 à 13:45
Bonjour,
Tu aurais, peut-être, plus de chance en cherchant sur un site spécialisé !! Google est ton ami : https://www.google.com/search?client=safari&rls=fr&q=apple+script&ie=UTF-8&oe=UTF-8&gws_rd=ssl
Tu aurais, peut-être, plus de chance en cherchant sur un site spécialisé !! Google est ton ami : https://www.google.com/search?client=safari&rls=fr&q=apple+script&ie=UTF-8&oe=UTF-8&gws_rd=ssl
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
23 nov. 2007 à 22:10
23 nov. 2007 à 22:10
en fait par exemple, je suis dans excel, je copie un texte:
ensuite ce texte qui est une variable (dessin01, dessin02, dessin03) j'aimerais pouvoir faire en sorte qu'un script et c'est donc la que je sèche. Faire un script qui permets de coller mon No de dessin dans un dossier en autres termes renommer mon dossier en mon nom de dessin, puis pouvoir enregistrer ce dossier dans mes documents.
exemple: j'ai le texte “ dessin05“ que je copie dans mon programme excel, je retourne sur le finder et j'ouvre mon script qui colle mon No de dessin donc “dessin05 en nom de dossier.
Voilà, en essayant de crée mon script je crée un nouveau dossier, ça pas de souci, je colle mon texte dessin05 d presse papier le problème c'est qu'il va chaque fois renommer mon dossier dessin05, alors que “dessin05“ est une variable.
Merci de vos réponses et merci de votre aide
Meilleures salutations
alfadr
ensuite ce texte qui est une variable (dessin01, dessin02, dessin03) j'aimerais pouvoir faire en sorte qu'un script et c'est donc la que je sèche. Faire un script qui permets de coller mon No de dessin dans un dossier en autres termes renommer mon dossier en mon nom de dessin, puis pouvoir enregistrer ce dossier dans mes documents.
exemple: j'ai le texte “ dessin05“ que je copie dans mon programme excel, je retourne sur le finder et j'ouvre mon script qui colle mon No de dessin donc “dessin05 en nom de dossier.
Voilà, en essayant de crée mon script je crée un nouveau dossier, ça pas de souci, je colle mon texte dessin05 d presse papier le problème c'est qu'il va chaque fois renommer mon dossier dessin05, alors que “dessin05“ est une variable.
Merci de vos réponses et merci de votre aide
Meilleures salutations
alfadr
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors le script que j'ai donné juste au dessus fonctionne pour le cas où le contenu du presse papier est le nom à utiliser.
Si en fait le presse papier contient le nom d'une variable Excel, AppleScript ne peut pas faire grand chose là. Il faudrait pouvoir copier la valeur de la variable et pas son nom.
Donc il faut copier la valeur de la variable dans le presse papier puis ensuite utiliser le script que j'ai écrit dans mon précédent message.
Si en fait le presse papier contient le nom d'une variable Excel, AppleScript ne peut pas faire grand chose là. Il faudrait pouvoir copier la valeur de la variable et pas son nom.
Donc il faut copier la valeur de la variable dans le presse papier puis ensuite utiliser le script que j'ai écrit dans mon précédent message.
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
24 nov. 2007 à 10:23
24 nov. 2007 à 10:23
J'ai essayé le script que vous m'avez donné mais je ne comprends pas bien le fonctionnement, je ne sais pas bien quel élément il faut que je remplace pour que cela marche.
Message:
Erreur d'applescript
Erreur dans Finder: impossible d'obtenir folder “NOM_DU_DOSSIER“ of disk “NOM_DU_DISQUE_DUR".
je ne comprends pas par quel éléments je dois remplacer les deux noms en majuscule. je sais pas si ça peux aider mais je me susi fait un simple script pour créer un dossier sur mon bureau ce qui donne:
tell application "Finder"
activate
make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:"dossier sans titre 4"}
select window of desktop
select window of desktop
select window of desktop
end tell
Merci pour votre aide précieuse
Message:
Erreur d'applescript
Erreur dans Finder: impossible d'obtenir folder “NOM_DU_DOSSIER“ of disk “NOM_DU_DISQUE_DUR".
je ne comprends pas par quel éléments je dois remplacer les deux noms en majuscule. je sais pas si ça peux aider mais je me susi fait un simple script pour créer un dossier sur mon bureau ce qui donne:
tell application "Finder"
activate
make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:"dossier sans titre 4"}
select window of desktop
select window of desktop
select window of desktop
end tell
Merci pour votre aide précieuse
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
24 nov. 2007 à 11:03
24 nov. 2007 à 11:03
Super votre sicrpt mixé au mien fonctionne très bien!! merci beaucoup.
comment faire maintenant pour copier ou déplacer un dossier sur un serveur ou est il possible de le crée dicrecte sur le serveur???
Meilleures salutations
Meric pour toit alfadr
comment faire maintenant pour copier ou déplacer un dossier sur un serveur ou est il possible de le crée dicrecte sur le serveur???
Meilleures salutations
Meric pour toit alfadr
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
24 nov. 2007 à 11:13
24 nov. 2007 à 11:13
en réseaux par exemple en afp plûtôt et aussi si je veux créer ce dossier à un autre endroit que mon bureau par ex à la racine de BP.
ou bien sur un disque dur externe!!?=?
merci erncore
alfadr
ou bien sur un disque dur externe!!?=?
merci erncore
alfadr
Pour créer le dossier dans le dossier "BP", il suffit de remplacer "desktop" par "home folder" dans le script ;-)
Pour ce qui est de la création du dossier sur un disque dur externe, là il faut entrer le nom du disque dur dans le chemin d'accès (voir le premier script que j'ai envoyé avec les "of folder "NOM_DU_DOSSIER" of disk "NOM_DU_DISQUE".
Sinon, il existe un autre moyen : donner le choix à l'utilisateur de l'endroit où il faut créer le dossier :
Ce dernier script permettra aussi de créer un dossier sur un serveur à condition que le Finder soit connecté dessus et qu'il possède les droits d'écriture dessus.
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leNouveauDossier to make new folder at (path to home folder) as string with properties {name:leContenuDuPressePapier} open leNouveauDossier end tell
Pour ce qui est de la création du dossier sur un disque dur externe, là il faut entrer le nom du disque dur dans le chemin d'accès (voir le premier script que j'ai envoyé avec les "of folder "NOM_DU_DOSSIER" of disk "NOM_DU_DISQUE".
Sinon, il existe un autre moyen : donner le choix à l'utilisateur de l'endroit où il faut créer le dossier :
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leCheminDAcces to (choose folder with prompt "Choisissez le dossier où vous souhaitez créer le dossier : " & leContenuDuPressePapier) as string set leNouveauDossier to make new folder at leCheminDAcces with properties {name:leContenuDuPressePapier} open leNouveauDossier end tell
Ce dernier script permettra aussi de créer un dossier sur un serveur à condition que le Finder soit connecté dessus et qu'il possède les droits d'écriture dessus.
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
24 nov. 2007 à 11:42
24 nov. 2007 à 11:42
Nickel merci, encore une dernière petite chose j'aimerai que le dossier crée apparaissent en rouge ou totu autre couleur:
jai essayé de mixer votre script avec le mien mais ça done pas grand chose. voyez vous mêm
auriez vous un lien concernant le langage applescript!!! très intéressant en tout cas
voic imon script
tell application "Finder"
activate
set leContenuDuPressePapier to the clipboard as string
set leNouveauDossier to make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:leContenuDuPressePapier}
set label index of folder {leContenuDuPressePapier} of folder "Desktop" of folder "BP" of folder "Users" of startup disk to 3
end tell
merci
jai essayé de mixer votre script avec le mien mais ça done pas grand chose. voyez vous mêm
auriez vous un lien concernant le langage applescript!!! très intéressant en tout cas
voic imon script
tell application "Finder"
activate
set leContenuDuPressePapier to the clipboard as string
set leNouveauDossier to make new folder at folder "Desktop" of folder "BP" of folder "Users" of startup disk with properties {name:leContenuDuPressePapier}
set label index of folder {leContenuDuPressePapier} of folder "Desktop" of folder "BP" of folder "Users" of startup disk to 3
end tell
merci
tell application "Finder" activate set leContenuDuPressePapier to the clipboard as string set leCheminDAcces to (choose folder with prompt "Choisissez le dossier où vous souhaitez créer le dossier : " & leContenuDuPressePapier) as string set leNouveauDossier to make new folder at leCheminDAcces with properties {name:leContenuDuPressePapier} set label index of leNouveauDossier to 6 open leNouveauDossier end tell
Il n'y a plus qu'à modifié le numéro du label à utiliser ;-)
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
24 nov. 2007 à 11:55
24 nov. 2007 à 11:55
Celui-La me parrait excellent, juste un petit hic , une fois avoir cilquer sur ok un message d'erreur apparait : erreur dans finder IMpossible de crée la classe folder... que cela signifie t il???
tell application "Finder"
activate
set leContenuDuPressePapier to the clipboard as string
set leCheminDAcces to (choose folder with prompt "Choisissez le dossier où vous souhaitez créer le dossier : " & leContenuDuPressePapier) as string
set leNouveauDossier to make new folder at leCheminDAcces with properties {name:leContenuDuPressePapier}
open leNouveauDossier
end tell
mucho gracias
tell application "Finder"
activate
set leContenuDuPressePapier to the clipboard as string
set leCheminDAcces to (choose folder with prompt "Choisissez le dossier où vous souhaitez créer le dossier : " & leContenuDuPressePapier) as string
set leNouveauDossier to make new folder at leCheminDAcces with properties {name:leContenuDuPressePapier}
open leNouveauDossier
end tell
mucho gracias
alfadr
Messages postés
21
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
20 février 2008
213
3 déc. 2007 à 09:53
3 déc. 2007 à 09:53
Après moults et moults recherche j'ai compris le porblème merci pour votre aide
alfadr
alfadr
Je suis aussi confronté au problème de changer le nom d'un fichier avec un script.
select Finder window 1
select Finder window 1
set target of Finder window 1 to folder "documents pdf clients" of folder "Bases cosmAgora" of folder "14/cosmAtrade nouvelle version" of folder "15 Dossiers" of folder "Desktop" of folder "macmini" of folder "Users" of startup disk
select Finder window 1
select Finder window 1
set leContenuDuPressePapier to the clipboard as string
set name of document file "Sans titre.pdf" of folder "documents pdf clients" of folder "Bases cosmAgora" of folder "14/cosmAtrade nouvelle version" of folder "15 Dossiers" of folder "Desktop" of folder "macmini" of folder "Users" of startup disk to leContenuDuPressePapier
select Finder window 1
end tell
Le problème, c'est que l'expression "leContenuDuPressePapier" n'est pas reconnue ! Ce qui semble logique, puisque le language AppleScript est l'anglais !
Par quelle expression dois-je remplacer celle-ci pour qu'effectivement le dichier soit renommé avec le contenu du presse-papier ???
Merci d'avance...
select Finder window 1
select Finder window 1
set target of Finder window 1 to folder "documents pdf clients" of folder "Bases cosmAgora" of folder "14/cosmAtrade nouvelle version" of folder "15 Dossiers" of folder "Desktop" of folder "macmini" of folder "Users" of startup disk
select Finder window 1
select Finder window 1
set leContenuDuPressePapier to the clipboard as string
set name of document file "Sans titre.pdf" of folder "documents pdf clients" of folder "Bases cosmAgora" of folder "14/cosmAtrade nouvelle version" of folder "15 Dossiers" of folder "Desktop" of folder "macmini" of folder "Users" of startup disk to leContenuDuPressePapier
select Finder window 1
end tell
Le problème, c'est que l'expression "leContenuDuPressePapier" n'est pas reconnue ! Ce qui semble logique, puisque le language AppleScript est l'anglais !
Par quelle expression dois-je remplacer celle-ci pour qu'effectivement le dichier soit renommé avec le contenu du presse-papier ???
Merci d'avance...
Bonjour, alors premièrement, je vous conseille de lire quelques sites sur la programmation, car ce que vous appelez "l'expression leContenuDuPressePapier" est en fait une variable.
Une variable est un élément qui contient une valeur. Donc lorsque l'on fait appel au nom d'une variable en AppleScript, on fait en fait appel à sa valeur.
Dans votre script, la variable nommée : leContenuDuPressePapier aura pour valeur le contenu de votre presse papier (sous forme de texte).
Pourquoi est-ce-que cette variable aura cette valeur ? Tout simplement car vous dites dans votre script que le contenu de leContenuDuPressePapier est le presse papier :
Autre chose, dans votre code, vous utilisez des commandes pour le Finder, mais vous ne dites pas au script que vous allez passer utiliser le Finder. Pensez à utiliser :
Aussi, comme je disais plus haut dans cette page, vous avez utilisé la fonction d'enregistrement d'AppleScript, c'est bien, mais il faut tout de même savoir "faire le ménage" dans le code qu'il vous donne. Tous les "select Finder window 1" ne servent pas à grand chose. Aussi, à moins que vous souhaitiez voir le déroulement du script en direct, il ne sert pas à grand chose d'afficher la fenêtre dans laquelle l'action se déroule ;-)
Voici une version plus simple de votre script :
Alors quelques modifications :
1- Plus aucun select Finder window 1...
2- Plus de set target of Finder window 1...
3- Pas besoin de s'embêter à préciser que le fichier à modifier est un document, on utilise donc simplement file.
4- Accès plus direct au bureau en utilisant : "of desktop" au lieu de : "of folder "Desktop" of folder "macmini" of folder "Users" of startup disk".
Je trouve ça un peu plus simple comme ça.
Pour tout autres questions, n'hésitez pas.
Une variable est un élément qui contient une valeur. Donc lorsque l'on fait appel au nom d'une variable en AppleScript, on fait en fait appel à sa valeur.
Dans votre script, la variable nommée : leContenuDuPressePapier aura pour valeur le contenu de votre presse papier (sous forme de texte).
Pourquoi est-ce-que cette variable aura cette valeur ? Tout simplement car vous dites dans votre script que le contenu de leContenuDuPressePapier est le presse papier :
set leContenuDuPressePapier to the clipboard as string
Autre chose, dans votre code, vous utilisez des commandes pour le Finder, mais vous ne dites pas au script que vous allez passer utiliser le Finder. Pensez à utiliser :
tell application "Finder" LE CODE POUR LE FINDER end tell
Aussi, comme je disais plus haut dans cette page, vous avez utilisé la fonction d'enregistrement d'AppleScript, c'est bien, mais il faut tout de même savoir "faire le ménage" dans le code qu'il vous donne. Tous les "select Finder window 1" ne servent pas à grand chose. Aussi, à moins que vous souhaitiez voir le déroulement du script en direct, il ne sert pas à grand chose d'afficher la fenêtre dans laquelle l'action se déroule ;-)
Voici une version plus simple de votre script :
tell application "Finder" set leContenuDuPressePapier to the clipboard as string set name of file "Sans titre.pdf" of folder "documents pdf clients" of folder "Bases cosmAgora" of folder "14/cosmAtrade nouvelle version" of folder "15 Dossiers" of desktop to leContenuDuPressePapier end tell
Alors quelques modifications :
1- Plus aucun select Finder window 1...
2- Plus de set target of Finder window 1...
3- Pas besoin de s'embêter à préciser que le fichier à modifier est un document, on utilise donc simplement file.
4- Accès plus direct au bureau en utilisant : "of desktop" au lieu de : "of folder "Desktop" of folder "macmini" of folder "Users" of startup disk".
Je trouve ça un peu plus simple comme ça.
Pour tout autres questions, n'hésitez pas.