While debugging, set the "Visible" and "DisplayAlerts" properties to 1 (true). This may give you information that will help you find the issue. But do remember to put them back afterwards. I would strongly advise against trying to take control of an existing instance of Excel, and have given some reasons in Re: Manipulating open excel sheet. What would happen if someone was using Excel and an external user accessed your web service? They would suddenly see their instance of Excel disappear as you make it invisible. Then they would be unable to open their files for writing in a new instance as they were already open in the (now invisible) instance your code has taken over.