Ever since I started using Aperture to organize my ever-growing collection of photos, the lack of interoperability between Aperture and the rest of the iLife apps has made using those photos in the suite slightly cumbersome. So .... AppleScript to the rescue.
However, the problem is that AppleScript support is not one of Aperture's strong points. The particular script that I came up with uses a mix of Aperture's AppleScript abilities and a SQL query. Aperture uses SQLite3 for its backend database, and it is possible to run SQL queries against it with the included sqlite3 binary. Aperture's AppleScript interface will let you figure out IDd of individual images in projects/albums -- and with this information, it is possible to run SQL queries that will give you pretty much everything else.
So, without further ado, here's an AppleScript (or download the actual script file (24KB) from my blog) that will let you select particular albums/projects in Aperture, and will sync them over to iPhoto. This, combined with the iPhoto setting to prevent copying files to the iPhoto folder when importing, will let you (with the least amount of wasted space) export Aperture photos and albums into iPhoto -- and therefore, make them available in all iLife apps.
Just one note: When you run the script, it will present you with a list of projects and folders. If you select one which has nested projects/albums in it, the script will further prompt you to select one or more of the nested projects/albums, and will then proceed to export the selected projects/albums to iPhoto. If you select one which does not have any nested projects/albums in it, the script will try to move photos from the selected project/album to iPhoto. If you need more detail on any of this, I've also documented it on my blog.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20060726104552624