Требуемый класс отсутствует в classfactory excel

I have created an Excel template with with over 18,000 lines of VBA code, about 100 modules/classes/forms, 31 DLL declarations, and one reference to an addin I also created.  This template has worked fine for many years, for many users, in
two different companies.

About a week ago one user had one of his computers upgraded from WinXP to Win 7 and Office 2007.  He also has another computer with WinXP and Office 2007.  He used to be able to use the template on the first computer, but now can’t. 
So he tried to use the workbook on the other computer.  He cannot use the workbook on either computer now.  He can open Excel and the addin that is referenced by the offending template, but when he opens the template (or workbook created from the
template) he gets the following error message:

«System Error &H80040111 (-2147221231) ClassFactory cannot supply requested class»

after he clears the error message the VBA IDE opens up and an ‘Out of Memory’ message appears.  If he tries to close the editor he gets a message stating ‘This will stop the debugger..».  If he clicks Continue he gets the ‘Out of Memory’ message
again.  This repeats about four times and then he can exit the editor.

I cannot check the Tools/References to see if he is missing a reference because it is greyed out.  I did check to make sure he had the referenced dll’s (in Windows/System32) that were not in the addin referenced above.

What could be causing this problem?

Thanks.

terger

1

23.04.2010, 22:09. Показов 15429. Ответов 1

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем Здравствуйте!
столкнулся с такой проблемой, скачал макрос, там была папка SYSTEM с 6 файлами один из них regdll.bat
в котором содержится

Windows Batch file
1
2
3
4
5
@echo off
copy *.dll %SYSTEMROOT%system32
copy mscomct2.* %SYSTEMROOT%system32
%SYSTEMROOT%system32regsvr32.exe %SYSTEMROOT%system32dsofile.dll
%SYSTEMROOT%system32regsvr32.exe %SYSTEMROOT%system32MSCOMCT2.OCX

после запуска в командной строке написали что копирование прошло успешно

и теперь при запуске Exel с макросом пишет
System Error &H80040111 (-2147221231) Тебуемый класс отсутствует в ClassFactory, а потом
Out of memory

http://peltiertech.com/WordPre… ing-error/ здесь что-то есть. но на англ (

может кто знает как это исправить?

1605 / 1337 / 291

Регистрация: 25.10.2009

Сообщений: 3,487

Записей в блоге: 2

24.04.2010, 01:27

2

«I have tried a wide range of remedies. A few involve chicken’s blood at full moon, but most…» — улыбнуло)))
Ну вообщем там описаны пути исправления :
1.Удалить все файлы из пользовательской временной деректории «temp» и из C:Documents and SettingsUser NameApplication DataMicrosoftForms директории.

Попытка повторной регистрации RedEdit.dll не помогает, а также её копия с более новой версии

2.Недавно я обнаружил, что почти все случаи ошибок в Excel 2003 обнаруживаются и исправляются при помощи «Help menu» . 2007 Excel — Excel Options > Resources > Run Microsoft Office Diagnostics > Diagnose (бла бла бла,иногда помогает)

И дальше статья как починять ексель



0



Ошибка

  • при вызове расчётного блока программы УПРЗА Эколог из программы ПДВ-Эколог

или

  • при формировании файла с расширением *.int
  "Требуемый класс отсутствует в classFactory"

Способы решения

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

  • для Windows 2000:
  c:winntsystem32regsvr32 c:windowssystem32ecoint.dll
  • для 32-bit Windows XP, Windows Vista и Windows 7:
  c:windowssystem32regsvr32 c:windowssystem32ecoint.dll
  • для 64-bit Windows Vista и Windows 7:
  c:windowssysWOW64regsvr32 "c:windowssysWOW64ecoint.dll"

Например, Вы можете нажать кнопку «Пуск», выбрать из меню команду «Выполнить» и набрать или вставить указанный выше текст.

Примечание

Пути к файлам (c:windowssystem и пр.) указаны выше для случая установки операционной системы Windows по умолчанию. Если система установлена на Вашем компьютере не на диск C или в другой каталог, Вам придется соответственным образом изменить текст команды.

В случае успешного выполнения команды на экране должно появиться сообщение вида:

  DllRegisterServer in c:windowssystem32ecoint.dll succeeded

Using Visual Studio 2008 I first encountered this when trying to open a standard save file dialog box in visual basic. So far I’ve worked around it after fruitless searching. Now I find that any action which would cause a save/open dialog (eg. ctrl-O) also fails. I’ve searched more and still don’t know how to fix it.

Stuff I do know:
It’s not a Visual Studio error, it apparently can occur in any number of other applications (which is why searching for it is annoying)

It’s either .NET or COM related, I tried reinstalling all of .NET with no luck, and I’ve never mucked around with COM ever, I don’t really even know what it is.

Something is missing, misplaced, or it could be DLL version issues.

I really don’t want to deal with uninstalling VS2008, or MS Office (as one result I found suggested) or any other big application.

Jim Counts's user avatar

Jim Counts

12.4k9 gold badges45 silver badges63 bronze badges

asked Mar 9, 2009 at 1:15

2

The underlying problem here is that a CoCreateInstance is failing. Without attaching a debugger and breaking in CoCreateInstance it’s going to be fairly difficult to track down what the problem is. And even if you spend the time to do this, it’s unlikely that you’ll be able to fix the error.

I agree that a re-install is a last resort. But an in-between step is to attempt to repair the install. If you re-insert the VS Setup Disk, one of the options will be to «Repair» the installation. You may have to go through Add/Remove Programs to get this option.

A Repair is much faster than uninstall/reinstall and will very likely fix this particular issue.

EDIT

OP reported repair succeeded but did not fix the error. Can you check the event log and see if a more specific error is being generated for this failure?

answered Mar 9, 2009 at 2:51

JaredPar's user avatar

JaredParJaredPar

727k147 gold badges1232 silver badges1450 bronze badges

2

So, somebody, somewhere is trying to CoCreate some object that it (thinks) it needs to do its job. This may or may not be a Visual Studio object. Since it manifests in the Save / Open dialog it could very well be a shell object.

The most likely explanation is the registry entry for the object has been corrupted in some way, or the dll that exports the object is corrupted in some way. For the latter it could be missing completely, or just in a bad state for some reason.

One thing you can try doing is running regsvr32 on likely candidate DLLs, but that’s just shooting in the dark.

Another, more advanced option is to attach a debugger (such as ntsd or windbg) to the Visual Studio process it self and set a breakpoint on CoCreateInstance() in the system dll (make sure to look up its exact signature in the header file—it may be #defined to something else). Then get the GUID for the object that it is passing as the argument to CoCreateInstance(). Looking this up in your registry (or a friends registry that doesn’t have this issue) should give you a good idea of what DLL you need to go mess with.

answered Mar 9, 2009 at 1:23

i_am_jorf's user avatar

i_am_jorfi_am_jorf

53.4k15 gold badges130 silver badges221 bronze badges

6

I’ve faced similar issue with VS 2008 and luckily it got solved with the below solution. Try this!!

Locate devenv.exe.
Right click >Properties > Uncheck Disable Visual Themes Option

answered Mar 1, 2010 at 10:03

amritha's user avatar

Unchecking Disable Visual Themes didn’t work for me, but running in xp compatibility mode fixed it. I’m assuming the problem is a missing dll.

Jérôme Verstrynge's user avatar

answered Apr 28, 2010 at 18:42

Bill's user avatar

RRS feed

  • Remove From My Forums
  • Question

  • HI all I am getting above error in macro enabled excel files. How to resolve it . Can anyone please help.

    Thanks


    Want to add MVP with my name.

Answers

  • I solved it by installing office 2010


    Want to add MVP with my name.

    • Marked as answer by
      Calvin_Gao
      Tuesday, June 7, 2011 8:28 AM

All replies

    • Proposed as answer by
      System Error and H80040111 (-2147221231) Class fac
      Sunday, April 14, 2019 8:55 AM
  • 0x8 errors are normally read/write permission errors.  I also seen recently that a memory stack error where a person was only sending 6 parameters to a function that had a parameter list of 5 parameters also caused a 0x8 error.  Another
    possiblity is you are in an endless loop an keep on calling the same function recursively would over flow the stack and may cause this type error.  Also check your Public and Private variables/functions. You may have a error with your code accessing private
    data outside the class.


    jdweng

    • Proposed as answer by
      System Error and H80040111 (-2147221231) Class fac
      Sunday, April 14, 2019 8:47 AM

  • Hi sir thanks .

     But I am not  able to view macro code when I am opening View->Open Macro ( list of macro is opened ) and also error prompt comes up. I have to click 8 times to hide it . again when I click on any of the macro in the list same prompt comes up
    and again to hide it I have to click 8 times. If I press (ctrl + s) in the template same error occurs.

    Thanks 


    Want to add MVP with my name.

  • You may have a virus on your computer or spyware on your PC.  Sometimes just clearing out your IE history removes the cookies which are causing problems like this.    I’m not sure why just trying to view the macros is causing error messages
    to appear.  This is not normal.

    Do you get errors in compiling from VBA menu — Debug — Compile Project?  What line of code is causing the compiling errors if you have any.

    0x8 are run time errors but it seems like you can’t even view the macros.  You may have some addin which needs to be disabled from VBA menu «addins».  The try compiling/executing again.


    jdweng

  • I solved it by installing office 2010


    Want to add MVP with my name.

    • Marked as answer by
      Calvin_Gao
      Tuesday, June 7, 2011 8:28 AM

Понравилась статья? Поделить с друзьями:
  • Требования уверенный пользователь excel
  • Тренд с сезонностью excel
  • Требование накладная форма 0315006 скачать excel
  • Трассировка в word это
  • Требования работы в excel