I have a free open-source add-in that can do that for you.
For example, these two formulas:
=RCHGetElementNumber("CSCO",1290)
=RCHGetElementNumber("CSCO",1295)
...return:
8-May-07
6-Feb-07
...from earnings.com. There is a template in the files area to return
the last 23 earnings announcements from earnings.com.