From an external application to Excel, what would I need to do to change the value of a cell?

- Is there a web service api? (not interested in trying though Sharepoint)
- Some other API? Maybe COM?
- Is it possible through Excel VBA?

Also, I would like to receive events when a user changes a cell and inform an external application (such as calling a bat file or something).

I need both parts (events due to modifications and changing cells from external invocation) to work independent of the excel file opened.

Any thoughts, tips or reading material would be useful. I come from a non-microsoft development background so am not familiar with add in programming but I get the feeling the solution may lie there.

Thanks,
Raj