У нас есть приложение на C #, которое внутренне вызывает Excel. Это делается с помощью Microsoft.Office.Interop.Excel.dll. Приложение работает на большинстве компьютеров с Excel, но не на моем.
Первоначально сбой приложения с HRESULT 0x800706BE (удаленный вызов процедуры не выполнен). Я попробовал почти все советы, найденные в Интернете, но безуспешно. Затем я удалил свой MS Office 2013 Pro и установил Office 365 v2013. Приложение по-прежнему не работает в той же строке кода, но теперь с HRESULT 0x80010105 (RPC_E_SERVERFAULT).
Есть ли какой-нибудь совет, который вы можете дать, чтобы совместимость с Excel работала? Я предполагаю, что некоторые службы Windows не запущены или компонент DCOM не зарегистрирован. Но я не знаю какой.
Подробности:
- Windows 7 x64, MS Office 2013 Pro/365 ProPlus
- Это приложение на C #. Он скомпилирован с VS2010 для .NET 4.0, но проблема проявляется даже тогда, когда приложение скомпилировано с VS2012 для .NET 4.5. С использованием разных версий Microsoft.Office.Interop.Excel.dll.
Есть три факта, которые я считаю важными:
- Приложение работает на других компьютерах, поэтому причиной проблемы является не приложение.
- Приложение не работает даже после переустановки (немного другой версии) excel (2013), поэтому, вероятно, это не проблема самого Excel.
- Я использовал ProcessMonitor от SysInternals, чтобы выяснить, что приложению действительно удается создать экземпляр Excel и Excel успешно (?) читает файл .xlsx Но тогда преуспеть не удается.
Я также использовал отладчик VS2010, чтобы узнать, что происходит:
Это ядро кода. Сбой на последней строке в Open:
using Excel = Microsoft.Office.Interop.Excel; object misValue = System.Reflection.Missing.Value; Excel.Application myExcelApp = new Excel.Application(); myExcelApp.Visible = false; myExcelWorkbooks = myExcelApp.Workbooks; myExcelWorkbook = myExcelWorkbooks.Open(xlsxFileFullPath, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue);
В журнале событий Windows нет ничего релевантного (в момент сбоя приложения).
- Вот некоторые из ссылок, которые я нашел, но не дано никаких предложений, или они не помогли: link1, link2, ... (не может опубликовать более 2 ссылок)