Drop Parent folder to action script

Hi all,

I have the below script which works really well - I would like to modify this to make the manual actions simpler.
The folder structure has a main (parent) folder (which is not referenced in my script) that the below referenced “theDroppedItems” (child folder) resides. Currently I have to manually open the parent folder and drag and drop the “theDroppedItems” onto the below script for it to action.

What I want to do is drag the enclosing Parent folder itself and have the script action as below, keeping in mind the “theDroppedItems” is the child folder the script is essentially working on throughout and the Parent folder would not essentially need to be referenced again. I’m not sure how to do this. There is only ever one Adobe Illustrator file within the theDroppedItems folder.
Any help greatly received.


on open theDroppedItems
tell application “Finder”
set theAi to first item of ((files of (item 1 of theDroppedItems) whose name extension is “ai”) as alias list)
end tell – finds the Illustrator file within the sub child Artwork folder

tell application "Adobe Illustrator"
	activate
	open theAi -- opens the Illustrator file from the sub child Artwork folder
	
	tell document 1
		do script "APPROVED RELEASE FILE" from "Dave's" -- runs the specific Illustrator Action (preps for release, outlines, changes approval layer, etc)
	end tell
	
end tell


tell application "Finder"
	repeat
		try
			alias "Dave's Mac:Users:uk:PDF's:Not Distilled:" -- does the distilled file exists? This section checks to see if the new approved PDF has been created and is in the "Not Distilled" folder (where the Illusutrator Action ultimately saves the PDF)
			
			tell application "Finder"
				set a to "Dave's Mac:Users:uk:Desktop:PDF's:Not Distilled:" as alias
				delay 0.1
				duplicate files of entire contents of a to theDroppedItems with replacing
			end tell
			
			
			tell application "MakeZipOnly"
				activate
				open theDroppedItems
			end tell
			exit repeat
		end try
		delay 0.1
		delete files of entire contents of a -- this removes the Approved PDF from the Not Distilled folder after it has been "moved" ("move" doesnt seem to move but "copies")
		
	end repeat
	
	-- the above block activates an Automator application to zip file (need to figure out how to do this in Applescript to make this self contained - although all references point to this being incredibly complex - Automator makes this section easy
	
	tell application "Finder"
		set a to "Dave's Mac:Users:uk:Desktop:PDF's:Not Distilled:" as alias
		set b to "Dave's Mac:Volumes:MacRAID:TEMPORARY FILE TRANSFERS:RELEASES:PDF's:" as alias
		move files of entire contents of a to b with replacing
	end tell
	
	delay 0.1
	delete files of entire contents of a -- this removes the Approved PDF from the Not Distilled folder after it has been "moved" ("move" doesnt seem to move but "copies")
	
	
end tell



tell application "Finder"
	set NameOfFile to (name of (info for theDroppedItems))
	set NameOfFile to text 1 thru ((offset of "." in NameOfFile) - 1) of NameOfFile
	set myFile to theDroppedItems as alias
	--display dialog NameOfFile
end tell


tell application "Microsoft Outlook"
	set mySubject to NameOfFile & " APPROVED FILE RELEASE" as text
	set myContent to "<p style=font-family:Calibri>Hi</p><p style=font-family:Calibri>Attached is the Approved Release File for " & NameOfFile & "<p style=font-family:Calibri>Thanks</p>"
	set myAttachment to theDroppedItems
	set myMsg to make new outgoing message with properties {subject:mySubject, content:myContent}
	tell myMsg
		make new attachment with properties {file:myFile}
		make new recipient with properties {email address:{name:"Dave Leicester", address:"name.name@name.co.uk"}}
		
	end tell
	open myMsg
	
end tell

end open

end open
end open


on open theDroppedItems -- drop here parent folder
	
	set parentFolder to item 1 of theDroppedItems -- result: alias
	tell application "Finder"
		tell parentFolder to set childFolder to item 1 of its folders -- result: Finder reference
		tell childFolder to set theAi to (first file whose name extension is "ai") as alias -- result: alias
	end tell -- finds the Illustrator file within the sub child Artwork folder
	
	-- the rest stuff
	
end open -- 1 end open instead of 3 end open

Thanks for this - I keep getting this error though?

Can’t get every «class cfol» of alias “Dave’s Mac:Users:uk:Desktop:test file 76477 - Tube Moisture Deep Conditioning Treatment - Mibelle:”. (-1728)

The filename “test file 76477 - Tube Moisture Deep Conditioning Treatment - Mibelle” is the Parent folder.

Here’s the script with your block replacing my on open etc.
Any clues on what I’m doing wrong?


on open theDroppedItems – drop here parent folder

set parentFolder to item 1 of theDroppedItems -- result: alias
tell application "Finder"
	tell parentFolder to set childFolder to item 1 of its folders -- result: Finder reference
	tell childFolder to set theAi to (first file whose name extension is "ai") as alias -- result: alias
end tell -- finds the Illustrator file within the sub child Artwork folder

-- the rest stuff


tell application "Adobe Illustrator"
	activate
	open theAi -- opens the Illustrator file from the sub child Artwork folder
	
	tell document 1
		do script "APPROVED RELEASE FILE" from "Dave's" -- runs the specific Illustrator Action (preps for release, outlines, changes approval layer, etc)
	end tell
	
end tell





tell application "Finder"
	repeat
		try
			alias "Dave's Mac:Users:uk:Desktop:PDF's:Not Distilled:"
			
			tell application "Finder"
				set a to "Dave's Mac:Users:uk:Desktop:PDF's:Not Distilled:" as alias
				delay 0.1
				duplicate files of entire contents of a to theDroppedItems with replacing
			end tell
			
			
			tell application "MakeZipOnly"
				activate
				open theDroppedItems
			end tell
			exit repeat
		end try
		delay 0.1
		delete files of entire contents of a
		
	end repeat
	
	
	tell application "Finder"
		set a to "Dave's Mac:Users:uk:Desktop:PDF's:Not Distilled:" as alias
		set b to "Dave's Mac:Volumes:TamworthMacRAID:TEMPORARY FILE TRANSFERS:RELEASES:PDF's:" as alias
		move files of entire contents of a to b with replacing
	end tell
	
	delay 0.1
	delete files of entire contents of a
	
end tell


tell application "Finder"
	set NameOfFile to (name of (info for theDroppedItems))
	set NameOfFile to text 1 thru ((offset of "." in NameOfFile) - 1) of NameOfFile
	set myFile to theDroppedItems as alias
end tell


tell application "Microsoft Outlook"
	set mySubject to NameOfFile & " APPROVED FILE RELEASE" as text
	set myContent to "<p style=font-family:Calibri>Hi</p><p style=font-family:Calibri>Attached is the Approved Release File for " & NameOfFile & "<p style=font-family:Calibri>Thanks</p>"
	set myAttachment to theDroppedItems
	set myMsg to make new outgoing message with properties {subject:mySubject, content:myContent}
	tell myMsg
		make new attachment with properties {file:myFile}
		make new recipient with properties {email address:{name:"name", address:"name@name.co.uk"}}
		
	end tell
	open myMsg
	
end tell

end open

tell application "Finder"
	repeat
		try
			alias "Dave's Mac:Users:g-uk-tam1-retail-2:Desktop:PDF's:Not Distilled:"
			
			tell application "Finder"
				set a to "Dave's Mac:Users:g-uk-tam1-retail-2:Desktop:PDF's:Not Distilled:" as alias
				delay 0.1
				duplicate files of entire contents of a to theDroppedItems with replacing
			end tell
			
			
			tell application "MakeZipOnly"
				activate
				open theDroppedItems
			end tell
			exit repeat
		end try
		delay 0.1
		delete files of entire contents of a
		
	end repeat
	
	
	tell application "Finder"
		set a to "Dave's Mac:Users:g-uk-tam1-retail-2:Desktop:PDF's:Not Distilled:" as alias
		set b to "Dave's Mac:Volumes:TamworthMacRAID:TEMPORARY FILE TRANSFERS:RELEASES:PDF's:" as alias
		move files of entire contents of a to b with replacing
	end tell
	
	delay 0.1
	delete files of entire contents of a
	
end tell


tell application "Finder"
	set NameOfFile to (name of (info for theDroppedItems))
	set NameOfFile to text 1 thru ((offset of "." in NameOfFile) - 1) of NameOfFile
	set myFile to theDroppedItems as alias
end tell


tell application "Microsoft Outlook"
	set mySubject to NameOfFile & " APPROVED FILE RELEASE" as text
	set myContent to "<p style=font-family:Calibri>Hi</p><p style=font-family:Calibri>Attached is the Approved Release File for " & NameOfFile & "<p style=font-family:Calibri>Thanks</p>"
	set myAttachment to theDroppedItems
	set myMsg to make new outgoing message with properties {subject:mySubject, content:myContent}
	tell myMsg
		make new attachment with properties {file:myFile}
		make new recipient with properties {email address:{name:"name", address:"name@name.co.uk"}}
		
	end tell
	open myMsg
	
end tell

end open

It was my mistake. 1 more coercion is needed:


on open theDroppedItems -- drop here parent folder
	
	set parentFolder to item 1 of theDroppedItems -- result: alias
	tell application "Finder"
		set parentFolder to folder (parentFolder as text) -- result: Finder reference, ADDED
		tell parentFolder to set childFolder to folder 1 -- result: Finder reference, EDITED
		tell childFolder to set theAi to (first file whose name extension is "ai") as alias -- result: alias
	end tell -- finds the Illustrator file within the sub child Artwork folder
	
	-- the rest stuff
	
end open -- 1 end open instead of 3 end open

Perfect thank you!!