Операция не выполнена, вызов QueryInterface для компонента COM для интерфейса с IID не выполнен из-за отсутствия библиотеки.

1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;

namespace GridComplete
{
    public partial class Form1 : Form
    {
        private static Excel.Workbook MyBook;
        private static Excel.Application MyApp;
        private static Excel.Worksheet MySheet;

        private void bRun_Click(object sender, EventArgs e)
        {
            MyApp = new Excel.Application();
            MyApp.Visible = false;
            MyBook = MyApp.Workbooks.Open(tbFile1);
            MySheet = (Excel.Worksheet)MyBook.Sheets[1];

        }

    }
}

В строке, которая устанавливает MyApp.Visible в false, я получаю следующее необработанное исключение:

Необработанное исключение типа "System.InvalidCastException" произошло в файле GridComplete.exe

Дополнительная информация: Невозможно передать COM-объект типа "Microsoft.Office.Interop.Excel.ApplicationClass" в тип интерфейса "Microsoft.Office.Interop.Excel._Application". Эта операция завершилась неудачно, потому что вызов QueryInterface на COM-компоненте для интерфейса с IID '{000208D5-0000-0000-C000-000000000046} не удался из-за следующей ошибки: библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).

** Кажется, я не понимаю, что происходит. Я попытался удалить ключи из реестра и повторно запустить. Это не сработало. Я также полностью удалил Microsoft Office, а затем переустановил. Я не уверен, что еще нужно сделать, чтобы исправить эту проблему.

  • 0
    В реестре на вашем компьютере отсутствует ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ TypeLib \ {00020813-0000-0000-C000-000000000046}. Переустановка Office, безусловно, должна исправить это, конечно, очень вредно для здоровья. Получить еще один.
Теги:
excel

1 ответ

0
Лучший ответ

Возможно, у вас нет установленной версии Microsoft Excel, установленной на компьютере, где вы используете этот код. Или это установка сломана. Попробуйте переустановить Office

Ещё вопросы

Сообщество Overcoder
Наверх
Меню