Ошибка CoCreateInstance для класса Microsoft_Office Excel Worksheet. 0x80040514 "Класс не зарегистрирован" - PullRequest
0 голосов
/ 04 ноября 2008

Пример, над которым я работаю, вызывает CoCreateInstance для класса Microsoft_Office Excel Worksheet. Сбой с HRESULT 0x80040514 («Класс не зарегистрирован»). Другие классы Excel (Excel.Application) зарегистрированы в системе, но не класс для рабочего листа ..... Возможно ли зарегистрировать этот класс?

Обновление: я использую пример проекта Microsoft DSOFramer. Сначала он пытается связать, используя класс IMoniker. Если это не удается, он вызывает CoCreateInstance для clsid. Это может работать для других объектов MS Office, но когда это Excel, класс предназначен для рабочего листа. Я изменил образец на CoCreateInstance _Application, затем получил рабочие книги, затем назвал Workbooks :: Open для целевого файла, который возвращает объект Worksheet. Затем я вернул этот указатель и слил обратно с исходным путем образца кода. Все работает сейчас.

1 Ответ

1 голос
/ 04 ноября 2008

Я полагаю, что у вас может быть неудачная установка. Я обнаружил, что когда мои progIds будут повреждены, если я восстановлю установку, она зарегистрирует этот класс.

Хотя мой вопрос к вам обратно, почему вы пытаетесь создать объект листа? Похоже, что вы можете получить один из объекта Workbook. На самом деле я чувствую, что это, вероятно, то, что вам нужно сделать в любом случае.

...