11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)
  • Q:
    Bijdrager
    Fubarry

    Applescript automatisch activiteit plannen

    Ik probeer al dagen (als beginneling) een script te schrijven dat op de volgende manier werkt:
    Ik moet op een geselecteerde map een voorziening kunnen toepassen die de naam van de map als titel van de activiteit maakt, op vandaag en eventueel in de map gaat lezen in een RTF bestand op een bepaalde alinea en deze info als notitie wegschrijft.
    Ik geraak wel zover dat de voorziening een activiteit aanmaakt met de RTF info als notitie, maar de mapnaam als titel van de activiteit krijg ik niet voor elkaar en krijg ik steeds een gekke foutmelding.
    Het veranderen van de variabele in het script naar een vaste naam zoals “nieuwe activiteit” werkt wel.

    Het belangrijkste is dat het script (voorziening) een activiteit aanmaakt met de titel als de geselecteerde map. Enig idee hoe dit script eruit moet zien?

    vriendelijk bedankt

    Bijdrager
    Fubarry

    owja,
    ik heb het wel voor elkaar gekregen dat hij het adres (url) van de map wegschrijft als titel van de activiteit. Redelijk onhandig maar dan weet ik wel dat het op de ene of andere manier moet te doen zijn.

    Bijdrager
    Verwijder

    Ik neem aan dat het een AppleScript is in Automator en praat tegen iCal.
    Wat heb je geprobeerd en wat is de gekke foutmelding?
    Dit werkt bij mij:

    on run {input, parameters}
    	repeat with aMap in input
    		tell application "Finder"
    			set aNaam to name of aMap
    		end tell
    		tell application "iCal"
    			tell calendar 1
    				make new event with properties {summary:aNaam}
    			end tell
    		end tell
    	end repeat
    end run
    Bijdrager
    Verwijder

    Er gebeuren rare dingen, het stukje code stond onderaan op de plaats van de 1.

    Bijdrager
    Fubarry

    tell application “Finder” to get the name of the front Finder window
    set project to (name)
    tell application “Calendar”
    tell calendar “Bart”
    set theDate to current date
    make new event at end with properties {description:”Event Description”, summary:project, location:”Event Location”, start date:theDate, allday event:true}
    end tell
    end tell

    Deze werkt, enkel zet hij dus de naam van het voorste venster (in dit geval wordt alles als script uitgevoerd in automator als voorziening) als naam van de activiteit. Het voorste venster is dus “automator”.

    tell application “Finder” to get the name of the front Finder window

    Deze zou moeten aangepast worden naar het geselecteerde venster ipv het voorste venster.

    Ik krijg het niet in orde..

    Bijdrager
    Verwijder

    name in de eerste twee regels is een property, niet een variabele. In de eerste regel vraag je aan de Finder een naam met name of …. In de tweede regel gebruik je weer name maar omdat je er niks bij zet is dat de naam van waar je default tegen praat, in jouw geval “Automator”. Voeg de eerste twee regels samen:

    tell application “Finder” to set project to the name of the front Finder window

    Bijdrager
    Fubarry

    OK, dit werkt, waarvoor veel dank!

    Nu wil ik bij de ‘url’ van mijn activiteit de url krijgen om direct vanuit iCal de map te openen waarnaar deze gelinkt is.
    Dan kom ik uit bij iets als:

     
    on run
    	tell application "Finder" to set project to the name of the front Finder window
    	tell application "Finder" to set locatie to the location of the front Finder window
    	tell application "Calendar"
    		tell calendar "Bart"
    			set theDate to current date
    			make new event at end with properties {url:locatie, summary:project, start date:theDate, allday event:true}
    		end tell
    	end tell
     
    end run
     

    maar ik krijg volgend resultaat:

     
    tell application "Finder"
    	get name of Finder window 1
    		--> "$0823120064"
    	get location of Finder window 1
    		--> error number -1728 from location of Finder window id 394
    Resultaat:
    error "Finder kreeg een fout: location of Finder window id 394 kan niet worden opgevraagd. " number -1728 from location of Finder window id 394
     

    Wat is de benaming voor de locatie van een file of map?

    Bijdrager
    Fubarry

    Oei, eerste 1 is eerste code en
    2de 1 is volgende code , resultaat dus.

    Bijdrager
    Verwijder

    De locatie van een map:
    get target of Finder window 1

    maar dit is van type folder, de url van die map:
    get URL of target of Finder window 1

    Bijdrager
    Fubarry
     
    on run
    	tell application "Finder" to set project to the name of the front Finder window
    	tell application "Finder" to set locatie to the URL of the target of the front Finder window
    	display dialog "Item toevoegen aan iCal?"
    	tell application "Calendar"
    		tell calendar "Bart"
    			set theDate to current date
    			make new event at end with properties {url:locatie, summary:project, start date:theDate, allday event:true}
    		end tell
    	end tell
     
    end run
     

    Deze werkt. Nu zet hij de geopende mapnaam als summary en de link naar de map als url.

    Zo simpel en toch zo moeilijk voor een beginner!

    Bedankt Willemien!

    Bijdrager
    Jakko Westerbeke
    Fubarry op 14 januari 2013

    Zo simpel en toch zo moeilijk voor een beginner!

    Dat heb je negenennegentig van de honderd keer als je AppleScript gebruikt om een programma aan te sturen … je wéét dat iets zou moeten kunnen, maar zie maar eens de juiste bewoordingen te vinden om het programma het ook te laten doen:(

11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.