jonas.rundqvist Postad 16 juli, 2007 Share Postad 16 juli, 2007 Jag håller på med ett Automator-workflow för att kopiera, ändra upplösning och filformat på bilder från en katalog i iPhoto. Jag vill ha resultatet (de nya bilderna) i clipboard-minnet så att det bara är att högerklicka och sedan "paste item" där jag vill ha bilderna. Hur kopierar man jpeg-filerna i en mapp till clipboard med en Automator-action? Jag har testat "copy"-action men den verkar bara kopiera filernas "path" och verkar bara fungera för text. En annan fråga... När jag skapar en ny katalog med Automator så är den alltid stängd och jag måste sedan dubbelklicka den för att öppna katalogen. Finns det någon action som öppnar en befintlig katalog? Mycket tacksam för alla idéer och svar! Länk till kommentar Dela på andra webbplatser More sharing options...
snowdog Postad 16 juli, 2007 Share Postad 16 juli, 2007 För att öppna en mapp med Automator. Lägg till ett Applescript i flödet och tell application "Finder" open "Macintosh HD:Users:Wolf:Documents" end tell Byt ut "Wolf" till ditt användarnamn. Länk till kommentar Dela på andra webbplatser More sharing options...
jonas.rundqvist Postad 16 juli, 2007 Författare Share Postad 16 juli, 2007 Tusen tack för tipset, skall genast testa det! Några ideér om hur man kopierar en mapps innehåll till clipboard, någon?? Länk till kommentar Dela på andra webbplatser More sharing options...
snowdog Postad 16 juli, 2007 Share Postad 16 juli, 2007 Vad jag förstår så vill du kopiera några jpg från ett ställe till ett annat? I så fall kan du väl använda åtgärden "Kopiera Finder-objekt". Eller är det så att det är till olika ställen varje gång? Länk till kommentar Dela på andra webbplatser More sharing options...
snowdog Postad 16 juli, 2007 Share Postad 16 juli, 2007 Det här funkar om du vill kunna byta destination varje gång... Spara som en plugin till Findern. Då kan du högerklicka på en eller flera filer. Välj Automator från menyn och ditt flöde. Länk till kommentar Dela på andra webbplatser More sharing options...
jonas.rundqvist Postad 16 juli, 2007 Författare Share Postad 16 juli, 2007 Skriptet för att öppna mappen funkade bra - tack. Det är inga problem att kopiera filerna från ett ställe till ett annat med en action. Problemet är att kopiera filerna från en mapp till clipboard - alltså till minnet på samma sätt som när man högerklickar och gör "copy". Om jag kan göra detta kan jag köra ett workflow och sedan ha resultatet, dvs jpg-filerna, i minnet och allt som återstår för mig är att manuellt köra "paste items" där jag vill ha dem (t ex i ett fotoalbum i iWeb). Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 16 juli, 2007 Share Postad 16 juli, 2007 Ett av förslagen har varit att koppla ett AppleScript till Automator. Men om det går lika bra att skippa Automator och göra allt i AS föreslår jag följande skript (jag skulle tro att det är vad du söker): tell application "Finder" activate set new_folder to choose folder with prompt "Välj mapp med Jpeg-bilder för kopiering till klippbordet." open new_folder select the files in new_folder tell application "System Events" tell process "Finder" try keystroke "c" using [command down] on error display dialog "Ett fel har uppstått!" & return & return & "Troligen består felet i att innehållet i mappen är av fel typ eller att antalet bilder eller storleken på bilderna överskrider vad klippbordsminnet klarar av." buttons ("OK") default button "OK" with icon stop end try end tell end tell end tell tell application "Finder" activate try close Finder window 1 end try end tell (* spar gärna skriptet som 'programpaket' för bästa effektivitet *) Länk till kommentar Dela på andra webbplatser More sharing options...
jonas.rundqvist Postad 17 juli, 2007 Författare Share Postad 17 juli, 2007 Wow, funkade mycket bra det där. Jag skall definitivt titta närmare på AppleScript. En följdfråga (pga mina bristande kunskaper i AppleScript)... Om jag vill undvika att välja katalog varje gång med... set new_folder to choose folder with prompt "Välj mapp med Jpeg-bilder för kopiering till klippbordet." open new_folder ...utan vet vilken (min "Picture Export Web"-katalog på Desktopen). Vilket kommando använder man då? Efter denna justering är mitt script klart. Vad är det för skillnad på "save as application", "save as application bundle" och "save as script bundle"? Vet du någon tutorial på nätet eller bra bok för AppleScript som du vill rekommendera? Igen, stort tack för hjälpen. Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 17 juli, 2007 Share Postad 17 juli, 2007 Wow, funkade mycket bra det där. Jag skall definitivt titta närmare på AppleScript. En följdfråga (pga mina bristande kunskaper i AppleScript)... Om jag vill undvika att välja katalog varje gång med... set new_folder to choose folder with prompt "Välj mapp med Jpeg-bilder för kopiering till klippbordet." open new_folder ...utan vet vilken (min "Picture Export Web"-katalog på Desktopen). Vilket kommando använder man då? Efter denna justering är mitt script klart. Vad är det för skillnad på "save as application", "save as application bundle" och "save as script bundle"? Vet du någon tutorial på nätet eller bra bok för AppleScript som du vill rekommendera? Igen, stort tack för hjälpen. Ja, AppleScript är verkligen värt att titta närmare på. Med AppleScript kan man i de flesta fall skriva program som exakt motsvarar ens behov ner i minsta detalj istället för att hålla på och försöka kombinera modul-koder som jag uppfattar att Automator bygger på. Du har alltså en mapp som du återkommande vill kopiera från? I så fall kan du hoppa över raden med "set new_folder to choose folder with prompt "Välj mapp med Jpeg-bilder för kopiering till klippbordet."" I stället skrivet du in namnet på mappen och sökvägen i skriptet. Exempel: tell application "Finder" activate set new_folder to folder "Picture Export Web" of desktop (* om mappen istället ligger på hårddisken: ändra "desktop" till "startup disk" *) -- därefter följer exakt samma kod som i det tidigare postade exemplet Den skillnad mellan de olika skripttyperna som jag själv känner till och som för min del brukar ha praktisk betydelse, är att för alla utom 'application bundle' ('programpaket' på svenska) använder OS:et Rosetta för att köra skripten. Programpaket-skript är undantagna detta och är följaktligen de snabbaste av AppleScripten även om prestanda-skillnaden kanske inte alltid spelar så jättestor roll. Vill man i något sammanhang skriva ett mer komplext AppleScript-program som använder flera skript-filer - eller kanske vill man använda Automator för att starta skript med - är också programpaket-skript att rekommendera då dessa spars som fristående programfiler som okomplicerat startas i ett automatiserat flöde utan att skript-editorn behöver öppnas ('save as application' innebär att man spar skript som manus att köra från skript-editorn). Jag har tyvärr ingen litteratur att rekommendera. Den jag själv äger är flera år gammal och jag tycker heller inte att den är särskilt bra. Men det finns gott om AppleScript-instruktion på nätet och det handlar egentligen bara om att hitta den nivå och det upplägg som passar ens egna behov (det är just det som brukar vara porblemet med litteraturen enligt min erfarenhet); utöver nybörjarinstruktioner finns också forum som macscripter.net, eller Apples eget skriptforum. Det amerikanska av de senare forumen är internationaliserat genom deltagandena, och diskussioner och problemlösningar brukar ligga på hög nivå. Länk till kommentar Dela på andra webbplatser More sharing options...
jonas.rundqvist Postad 18 juli, 2007 Författare Share Postad 18 juli, 2007 Tack ännu en gång för ditt svar - jag har nu mitt första scritpt klart vilket gör EXAKT det jag vill. Förvisso en kombination av Automators actions och AppleScript-kod, men i alla fall. Har fått blodad tand och skall återuppväcka den slumrade programmeraren i mig. Det har dock dykt upp ett felmeddelande när jag kör mitt script som en plugg-in till Finder eller som en egen application: ASReceiverEvaluationScriptError: 4 (1) Scriptet fungerar alltså från Automator men inte som plug-in eller fristående applikation. Något bekant problem eller är det Automators export som är problemet? Just nu känns det som om jag skall undvika Automator så snart som möjligt och köra "rena" AppleScript. Jag har nu börjat läsa Apples introduktionsmanual till AppleScript vilken tar allt från början. Den verkar vara lite gammal med sina exempel från OS 9, men duger. MacScripter ser bra ut. Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 18 juli, 2007 Share Postad 18 juli, 2007 Det har dock dykt upp ett felmeddelande när jag kör mitt script som en plugg-in till Finder eller som en egen application: ASReceiverEvaluationScriptError: 4 (1) Scriptet fungerar alltså från Automator men inte som plug-in eller fristående applikation. Något bekant problem eller är det Automators export som är problemet? Vad märkligt. Nej, jag vet inte vad detta kan bero på. Skriptet fungerar utmärkt som egen applikation i min MacBook med Tiger 10.4.9 och...jag är inte säker på vad du menar med "plug-in"? Men om det innebär att köra skriptet från script-mappen i ditt användarbibliotek så fungerar det också utmärkt när jag prövar. Faktum är att jag kan inte ens hitta feltypen när jag 'googlar' på den. Är det inte ett "NSReceiverEvaluationScriptError: 4 (1)" som du får? Åtgärd nr 1: kan du posta din skriptkod? [fast jag förmodar att den är OK eftersom det fungerar i Automator] 2: Använder du OS Tiger? 3: När jag spar skriptet som programpaket kryssar jag inte för någon av "Startskärm" eller "Lämna manuset öppet" - har du gjort likadant? 4. Felsökning: görs med fördel i skripteditorn i vilken man kan pröva koden sektionsvis. Enklast är att använda klamrarna (* *) mellan vilka de delar av koden som inte ska användas placeras (så slipper man hålla på och radera respektive återinskriva mängder av kod medan man testar). Vad som är särskilt bra med skripteditorn - överhuvud taget är det bra att spara skriptet som manus under ett skripts utvecklingsfas - är att man ser resultatet av skriptets aktivitet returnerat i nederkanten av editorn. Exempel - test av skriptets första rader: tell app "Finder" activate set new_folder to folder "Picture Export Web" of desktop end tell (* obs att "end tell" behöver stå med för att avsluta det s k tell-blocket som inleder skriptet - när du testar olika koddelar behöver du ha med lika många avslutande 'end tell' som du har påbörjade tell-block - annars kommer editorn att hävda att koden är felaktig och vägra kompilera *) I botten av skript-editorn ska denna korta kod ge hela sökvägen till samt namnet på mappen "Picture Export Web" (förutsatt att mappen finns där den ska och är rätt namngiven). Därmed fås bekräftelse på att skriptet har placerat korrekt information i variabeln "new_folder". Osv Ett sätt att kontrollera fel kan också vara att ta bort alla "try" och "end try" ur skriptet. Detta minskar toleransmarginalerna hos koden och man kan åtminstone hoppas på lite mer upplysande felmeddelanden (hela "on error"-delen av koden måste också tas bort om du tar bort den delen av 'try/end try'). Dock är den testmetoden egentligen bäst för fall då man inte får några felmeddelanden alls. Dessvärre verkar den typ av felmeddelande som innehåller "EvaluationError" kunna röra sig om mer komplicerade saker och som möjligen kan bero på inställningar i datormiljön som inte direkt berör skriptet eller de objekt som skriptet anropar (det är åtminstone det intryck jag fick efter att ha 'googlat' som hastigast på ämnet). Vad åtminstone ett test med körning av bitvisa delar av koden bör kunna ge är att det kanske går att lokalisera var i koden felet uppstår. Men publicera som sagt gärna din skriptkod som en första åtgärd. Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 18 juli, 2007 Share Postad 18 juli, 2007 Sen tanke: jag förmodar att tekniken i forumet tillåter att du laddar upp skriptfilen? Då kan jag testa den i min datormiljö och se om jag får samma fel. Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 18 juli, 2007 Share Postad 18 juli, 2007 Sen tanke nr 2: att jag inte är någon expert på AS har du ju märkt vid det här laget (jag kan bara komma med förslag när det gäller felet - och möjligen har du bättre ideer själv). Men en sak som jag funnit och som möjligen kan leda till en lösning: om skriptkoden placeras i skripteditorn samt med klickande på 'eventlogg' längs ned i editorn innan skriptet körs finns möjligheten att det syns i skriptets beskrivning av kodexekveringen var felet uppstår. Länk till kommentar Dela på andra webbplatser More sharing options...
jonas.rundqvist Postad 23 juli, 2007 Författare Share Postad 23 juli, 2007 Igen, tusen tack för förslagen. Jag skall titta igenom dina idéer och förslag noggrant men har för tillfället ett par veckors semester som sätter käppar i hjulen för mina AppleScript-planer. Jag återkommer, även om det kanske tar ett tag innan jag har tid att fortsätta med scriptet. Mvh, Jonas Länk till kommentar Dela på andra webbplatser More sharing options...
OldMac Postad 25 juli, 2007 Share Postad 25 juli, 2007 Lycka till! Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.