Excel библиотека не зарегистрирована

На чтение 4 мин. Просмотров 35 Опубликовано 13.05.2021

Когда вы запускаете Excel, он выполняет несколько процедур, чтобы убедиться, что все работает правильно. Если он обнаруживает ошибку, вы можете увидеть сообщение об ошибке в диалоговом окне. Иногда сообщения, которые вы видите в диалоговом окне, не так понятны, а некоторые просто загадочны.

Например, вы можете увидеть сообщение «Библиотека объектов не зарегистрирована» и быть полностью потеряно относительно того, что это значит. В этом случае полезно понять, как Excel работает с внешними программами.

Во время части процесса запуска Excel может загрузить любое количество надстроек, которые обеспечивают дополнительные функции вашей копии Excel. . По сути, эти надстройки представляют собой наборы макросов, которые выполняют определенные задачи. Макросы, в свою очередь, могут полагаться на другие файлы, содержащие информацию, которая помогает им выполнять свои обязанности. Эти внешние файлы называются библиотеками .

Excel поставляется с удивительным количеством библиотек, но не все они доступны одновременно. Библиотека доступна только после того, как она была «зарегистрирована» в Excel. Если библиотека не зарегистрирована, Excel не может ее использовать, а макросы в надстройке не могут ее использовать. Результат: сообщение об ошибке.

Лучший способ устранить эту проблему – определить, какие надстройки загружаются при запуске Excel. Изучите папку автозагрузки Excel и убедитесь, что вы знаете, что они все делают. (Вам не нужно знать, что они делают, шаг за шагом, но вы должны быть знакомы с тем, что делает надстройка в целом.)

Затем найдите другую систему, которая загружается те же надстройки. (Это должно быть легко сделать, если вы работаете в офисе, но сложнее, если вы домашний пользователь.) Как только вы найдете похожую систему, убедитесь, что она запускается без проблем. Если это так, то в исправной системе выполните следующие действия:

  1. Нажмите Alt + F11 , чтобы открыть редактор VBA.
  2. Выберите «Ссылки» в меню «Инструменты». Вы видите диалоговое окно «Ссылки». (См. Рис. 1.)
  3. Рисунок 1. Диалоговое окно «Ссылки».

  4. Запишите (на листе бумаги) имена библиотек, рядом с которыми есть галочки. Напишите точные имена, так как может быть много библиотек с похожими именами. Кроме того, все выбранные библиотеки, отмеченные флажками, должны быть перечислены вверху списка ссылок.
  5. Закройте диалоговое окно «Ссылки».
  6. Закрыть редактор VBA.

Теперь в системе, в которой есть проблемы, выполните те же действия, за исключением шага 3, вам нужно убедиться, что выбраны те же библиотеки, что и те, которые вы написали вниз. Когда вы закроете редактор VBA, перезапустите Excel, чтобы проверить, сохраняется ли проблема. Если это так, или если вы не смогли найти одну из отмеченных библиотек в проблемной системе, вам может потребоваться полностью перерегистрировать Excel. Если да, выполните следующие действия:

  1. Убедитесь, что Excel не запущен (выйдите из программы).
  2. Нажмите кнопку “Пуск”, чтобы отобразить меню “Пуск”.
  3. В меню “Пуск” выберите “Выполнить”. Windows отображает диалоговое окно «Выполнить». (См. Рис. 2.)
  4. Рисунок 2. Диалоговое окно «Выполнить».

  5. В поле «Открыть» введите полный путь к вашей программе Excel, а затем установите переключатель/regserver. Если полное имя пути включает пробелы, заключите полное имя пути в кавычки. Ниже приведен пример того, что вы можете ввести в поле «Открыть» (ваш путь может быть другим):
  6.  "c:  Program Files  Microsoft Office  Office  Excel.exe"/regserver 
  7. Нажмите “ОК”.

После перезапуска Excel проблема должна исчезнуть. Если этого не произошло, вам нужно точно выяснить, какая надстройка вызывает проблему. Для этого нужно найти файлы надстройки в папке автозагрузки и переименовать их или переместить во временную папку. Делайте это по одному файлу за раз, перезагружая Excel после каждого переименования или перемещения. Когда проблема исчезнет, ​​вы знаете, что нашли надстройку с проблемой, и можете связаться с поставщиком, чтобы узнать, как решить проблему.

When I try to access an Excel spreadsheet using the following code I get a «Library not registered’ error when defining the workbook object wrkbuk using C# from Visual Studio 2012 with Office 2007 (ver 12) installed

Microsoft.Office.Interop.Excel.Application excapp = new Microsoft.Office.Interop.Excel.Application();
        string bookname = @"C:UsersPublicDocumentsRECRUITMENT & SELECTIONMOVEMENTSMOVEMENTSMiscellaneous DocumentsVacanciesREAL.xls";
        Workbook wrkbuk = excapp.Workbooks.Open(bookname); 
        Worksheet wrksht = new Worksheet();

The error details are

System.InvalidCastException was unhandled HResult=-2147467262
Message=Unable to cast COM object of type
‘Microsoft.Office.Interop.Excel.ApplicationClass’ to interface type
‘Microsoft.Office.Interop.Excel._Application’. This operation failed
because the QueryInterface call on the COM component for the interface
with IID ‘{000208D5-0000-0000-C000-000000000046}’ failed due to the
following error: Library not registered. (Exception from HRESULT:
0x8002801D (TYPE_E_LIBNOTREGISTERED)). Source=mscorlib

I’ve created a reference to Microsoft.Office.Interop.Excel.dll in the Office 14 Primary Interop Assembly that comes with VS 2012 and also for the Office 12 version of the dll and neither fixes the problem. I’ve tried registering the dlls with regasm but this does not help either.

I can create the worksheet wrksht on the following line OK with the Office 14 and Office 12 dlls so the problem seems only affect workbook definition.

Dec 17 2013

Tried reinstalling Office 2007 to no avail but found this solution, which worked. It was at

http://social.msdn.microsoft.com/Forums/vstudio/en-US/d3f92da7-96d3-404b-89d0-d236800ceae5/vs-2012-rc-and-visual-studio-tools-for-office?forum=vsto

Problem is code from multiple versions of Office — I had code from Office 14, possibly coming from VS 2012 install

I suspect that VS 2012 RC has installed the Office 2013 type libraries, and that there are now duplicate versions registered. I got that specific error message

(‘unable to cast
_Application’….’TYPE_E_LIBNOTREGISTERED’)

after a messy uninstall, and then re-installing an older version of Office. I solved it by following the advice of another forum thread here which I’m sadly unable to find…basically I searched the registry for the CLSID in the error message, so, {00020970-0000-0000-C000-000000000046}. Its registry key contained two keys, one of which was called ‘TypeLib’, which in turn contained another CLSID for the type library. I then searched the registry, starting at the beginning again, for that second CLSID, which led me to the relevant interop type library. It had two entries….8.3 and 8.4, the bigger number corresponding to the later version of Office….which I deleted…and immediately was able to run my program.

There no reason to think this is a vb error.

Returns or sets the name of the object or application that originally generated the error.

object.Source [= stringexpression]

Arguments
object
Always the Err object.

stringexpression
A string expression representing the application that generated the error.

Remarks
The Source property specifies a string expression that is usually the class name or programmatic ID of the object that caused the error. Use Source to provide your users with information when your code is unable to handle an error generated in an accessed object. For example, if you access Microsoft Excel and it generates a Division by zero error, Microsoft Excel sets Err.Number to its error code for that error and sets Source to Excel.Application. Note that if the error is generated in another object called by Microsoft Excel, Excel intercepts the error and sets Err.Number to its own code for Division by zero. However, it leaves the other Err object (including Source) as set by the object that generated the error.

Source always contains the name of the object that originally generated the error — your code can try to handle the error according to the error documentation of the object you accessed. If your error handler fails, you can use the Err object information to describe the error to your user, using Source and the other Err to inform the user which object originally caused the error, its description of the error, and so forth.

From Automating Microsoft Office 97 and Microsoft Office 2000
Lori Turner
Microsoft Corporation

March 2000

PROBLEM:
My Automation client worked fine with the Office 97 version of my application. However, I rebuilt my project and it works fine with Office 2000 but now fails with Office 97. What could be wrong?

New versions of Office include new features and enhance some of the existing ones. To provide clients with programmatic access to these new and enhanced features, the object models must be updated. Because of this update, a method may have more arguments for Office 2000 than it did with Office 97.

The new arguments to existing methods are usually optional. If you use late binding to the Office Automation server, your code should work successfully with either Office 97 or Office 2000. However, if you use early binding, the differences between the 97 and 2000 type libraries could cause you problems in the following situations:

If you create an Automation client in Visual Basic and reference the Office 2000 type library, your code might fail when using an Office 97 server if you call a method or property that has changed.

If you create an MFC Automation client and use the ClassWizard to wrap classes from the Office 2000 type library, your code might fail when using an Office 97 server if you call a method or property that has changed.
To avoid this problem, you should develop your Automation client against the lowest version of the Office server you intend to support. For the best results in maintaining compatibility with multiple versions of Office, you should use late binding. However, if you choose to use early binding, bind to the type library for the earliest version of the Office server you want to support. To illustrate, if you are writing an Automation client with Visual Basic and want that client to work with Excel 97 and Excel 2000, you should reference the Excel 97 type library in your Visual Basic project. Likewise, if you are writing an Automation client using MFC, you should use the ClassWizard to wrap the Excel 97 type library.

For more information, please see the following article in the Microsoft Knowledge Base:

Q224925 INFO: Type Libraries for Office 2000 Have Changed

Содержание0.1 Исправить код ошибки 0x8002801C после сбоя регистрации файла OCX1 Исправление обновления ноября 2019: 1.1 Использовать восстановление системы1.2 Установите разрешения для библиотеки под своим именем пользователя в редакторе реестра. Когда я пытаюсь получить доступ к электронной таблице Excel, используя следующий код, я получаю ошибку «Библиотека не зарегистрирована» при определении объекта workbook wrkbuk с использованием С# […]

Симптомы

“Ошибка выполнения — 2147319779 (8002801d) Библиотека ошибок автоматизации не зарегистрирована”. Эта ошибка возникает при попытке задать компанию по умолчанию.

Исправление обновления ноября 2019:

Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

download.png
(дополнительное предложение для Advanced System Repair Pro -> Cайт | Лицензионное соглашение | Политика конфиденциальности | Удалить)

Это и есть. Это и есть. Эти четыре шага можно использовать для предоставления соответствующих разрешений любому файлу OCX, вызывающему код ошибки 0x8002801. В большинстве случаев вы можете использовать его для регистрации компонента ActiveX и решения проблемы.

Использовать восстановление системы

system-restore-300x239.png

Эффективный способ исправить некоторые компьютерные ошибки — это использовать восстановление системы полезность. Это отличная программа, которая создает точки восстановления через определенные промежутки времени. Это означает, что вы можете вернуться к точке, где вы начали получать системную ошибку. Чтобы использовать этот инструмент, нажмите Пуск — Программы — Стандартные — Системные инструменты — Восстановление системы.

Установите разрешения для библиотеки под своим именем пользователя в редакторе реестра.

registry-editor-300x177.png

  1. Нажмите Пуск; введите regedit в поле Начать поиск и нажмите Enter.
  2. Когда будет предложено проверить учетную запись пользователя, нажмите Да.
  3. Перейдите в редактор реестра (regedit) и введите ключ HKEY_CLASSES_ROOT TypeLib
  4. Щелкните правой кнопкой мыши на TypeLib, выберите Permissions, затем перейдите на вкладку Security.
  5. Проверьте, есть ли ваше имя пользователя в списке пользователей, если это так, убедитесь, что у вас есть полный контроль / удаление ограниченных пользователей из списка.
  6. В противном случае нажмите «Добавить» и введите имя пользователя. После добавления убедитесь, что пользователь имеет полный контроль.
  7. Примените изменения и закройте редактор реестра.
  8. Перезагрузите компьютер

Примечание: пожалуйста, сделайте резервную копию журнала перед сменой авторизации.

pexels-photo-769768.jpeg

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

0x8002801c

Шаг №1

В первую очередь вам нужно открыть перед собой Командную строку с правами администраторской учетной записи операционной системы. Чтобы сделать это, нажмите правой кнопкой мыши на Пуск и выберите из контекстного меню пункт «Командная строка(администратор)».

Шаг №2

Открыв Командную строку, впишите в нее команду regsrv32 mscomct2.ocx и нажмите на Enter. После нажатия на кнопу ввода перед вами, скорее всего, появится окошко с ошибкой с кодом 0x8002801c, в которой будет указано, что модуль “cwindowssystem32mscomct2.ocx” был загружен, но при запросе к DllRegisterServer возникла ошибка 0x8002801c.

Шаг №3

Закройте окошко с ошибкой, а затем перейдите в директорию CWindowssystem32. Теперь впишите в поисковую строку проводника библиотеку mscomct2.ocx и нажмите Enter. Как только библиотека будет обнаружена, нажмите на нее правой кнопкой мыши и выберите «Копировать».

Шаг №4

Теперь пройдите в директорию CWindowssysWOW64 и вставьте файл mscomct2.ocx из буфера обмена прямо в папку. Как только файл будет вставлен в папку, снова откройте Командную строку с правами администраторской учетной записи и выполните в ней команду regsrv32 mscomct2.ocx. После выполнения команды перед вами появится окошко, в котором будет указываться, что библиотека mscomct2.ocx была успешно зарегистрирована в операционной системе.

Перезагрузите свой компьютер и убедитесь, что проблема была устранена. Напоминаем, что в вашем случае может возникать проблема с иной библиотекой. Мы надеемся, что данный материал помог вам избавиться от ошибки 0x8002801c и вы продолжили использовать свою систему как и полагается.

Environment

This problem has been seen with the following different environments:

Example #1

Both of the following are true:

  • the client device has either Office 2010 or 2013 installed onto it.
  • afterwards, the client device has had “Skype for Business 2016” installed onto it.

In other words, inside ‘Programs and Features’, client device has both
Skype for Business 2016 and also a
separate version of MS Office (for example
2013) installed:
Example #2
Both of the following are true:

  • the client device has Office 365 installed on it, configured to give the end user access to Office 2016
  • afterwards, the client device has had “Skype for Business 2016” installed onto it.

In other words, inside ‘Programs and Features’, client device has both Skype for Business 2016 and also Office 365 installed: Office 365 has been configured to install Office 2016.

  • Specifically, inside Microsoft Excel, inside ‘File – Account’ the following information is displayed:

Решение

Тьфу. Эта проблема разрушила мое воскресенье.

Я на QT 5.9.1, Windows 10, Surface Book.

Я попытался переустановить Windows, не работает. Я попытался переустановить Microsoft Runtime, не сработало. Переустановил QT миллионами разных способов, не сработало.

Поэтому я был на последних обновлениях и проверил свою версию oleaut32.dll — 1.1.15063.0. В соответствии с предыдущим сообщением на форуме, которое я нашел, эта ошибка может быть вызвана тем, что приложение запрашивает более новую версию oleaut32.dll, чем у вас. Поэтому я запрыгнул на предварительные версии инсайдеров (выбрав медленное кольцо) и был обновлён до версии 10.0.16251, которая также обновила мою oleaut32.dll. Исправлено, ошибки больше нет. Создатель QT наконец-то работает.

Я думаю, QT требует, чтобы вы были на бета-версии Windows сейчас?

4

1ответ

Проблема решена. Я восстановил SQL Server из “Центра установки SQL Server”, перезапустил, и он заработал.

Источник

PawanS 05 апр ’18 в 14:222018-04-05 14:22

2018-04-05 14:22

Другие вопросы по тегам

sql-serversql-server-2012

Причина

Фркс пытается получить доступ к набору спецификаций и системным базам данных с помощью незарегистрированной зависимости объекта ADO. Это обычно устанавливается вместе с текущей версией MDAC (компоненты доступа к данным Microsoft) (MDAC версии 2,8 и более поздних).

Другие решения

Других решений пока нет …

Проблема с 0x800B0001 все еще не устранена

Обращайтесь к нам в любое время в социальных сетях для получения дополнительной помощи:

Установить необязательные продукты – WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Рекомендации:

Установить необязательные продукты – WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Код ошибки 0x80070002 в Windows 7 как исправить

Об авторе: Джей Гитер () является президентом и генеральным директором корпорации Solvusoft — глобальной компании, занимающейся программным обеспечением и уделяющей основное внимание новаторским сервисным программам. Он всю жизнь страстно увлекался компьютерами и любит все, связанное с компьютерами, программным обеспечением и новыми технологиями

Решение

Зарегистрируйте файл msadox.dll, расположенный в папке C:Program FilesCommon Филессистемадо. Сведения о регистрации библиотек DLL можно найти в статье как зарегистрировать DLL файл.

Признаки ошибки 0x800B0101

  • Появляется сообщение “Ошибка 0x800B0101” и окно активной программы вылетает.
  • Ваш компьютер часто прекращает работу после отображения ошибки 0x800B0101 при запуске определенной программы.
  • Отображается “Microsoft Error Code 0X800B0101”.
  • Windows медленно работает и медленно реагирует на ввод с мыши или клавиатуры.
  • Компьютер периодически “зависает” на несколько секунд.

Такие сообщения об ошибках 0x800B0101 могут появляться в процессе установки программы, когда запущена программа, связанная с Microsoft Corporation (например, Microsoft), при запуске или завершении работы Windows, или даже при установке операционной системы Windows

Отслеживание момента появления ошибки 0x800B0101 является важной информацией при устранении проблемы.

Symptom

Different errors appear, depending on:

(a) what function the user tries to launch (b) the environment (MS Office/Skype/Windows version and so on).Example #1a User clicks the green ‘X’ button. An error appears:Error Launching menu item “Controller Link”Error DetailsLibrary not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))German:Example 1b: Unable to cast COM object of type ‘Microsoft.Office.Interop.Excel.ApplicationClass’ to interface type ‘Microsoft.Office.Interop.Excel._Application’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{000xxxxxxxxxxxxxx}’ failed due to the following error: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).Example #2 User tries to open a Data Entry form: Source: Microsoft.Office.Interop.Excel Description: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) at Microsoft.Office.Interop.Excel.ApplicationClass.get_COMAddIns() at Cognos.Controller.Forms.Common.fFrmFrangoFunc.InitExcelLink (Object& xlApp, String sText, Int32 excelProcessId) at Cognos.Controller.ControllerForms12.frmDataEntrySelection. StartExcel()

Компания Solvusoft имеет репутацию лучшего в своем классе независимого поставщика программного обеспечения,

и признается корпорацией Microsoft в качестве ведущего независимого поставщика программного обеспечения, с высшим уровнем компетенции и качества. Близкие взаимоотношения компании Solvusoft с корпорацией Microsoft в качестве золотого партнера позволяют нам предлагать лучшие в своем классе решения, оптимизированные для работы с операционной системой Windows.

Как достигается золотой уровень компетенции?

Чтобы обеспечивать золотой уровень компетенции, компания Solvusoft производит независимый анализ,добиваясь высокого уровня опыта в работе с программным обеспечением, успешного обслуживания клиентов и первоклассной потребительской ценности. В качестве независимого разработчика ПО Solvusoft обеспечивает высочайший уровень удовлетворенности клиентов, предлагая программное обеспечение высшего класса и сервисные решения, постоянно проходящие строгие проверку и отбор со стороны корпорации Microsoft.

CLICK HERE to verify Solvusoft’s Microsoft Gold Certified Status with Microsoft >>

Понравилась статья? Поделить с друзьями:
  • Excel бесплатная версия скачать с официального сайта
  • Excel бесплатная версия онлайн
  • Excel бесконечно открывает файл
  • Excel безусловная ссылка на ячейку
  • Excel безопасность макросов как отключить