I have a situation where this failed while I was messing around with having it save 2007 format. That problem in itself was resolved because of the version I was using but the main issue is that when it failed, it left behind the file is was trying to save with 0 bytes in it. How do I make it so that if it fails, it never creates it in the first place?
You could create a MemoryStream and pass that into the Save method. If it succeeds, then you could copy the contents of the MemoryStream to a file.