Ошибка could not load an object because it is not available on this machine

Открываю файл на др. машине — на форме пропадает listview

Antykus

Дата: Пятница, 22.05.2015, 18:58 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Есть готовый файл с формами и компонентами на ней.
При разработке был использован элемент list view — в additional controls был добавлен соответствующий элемент.

Открываю этот файл на другом компьютере — ругается. Говорит Could not load an object because it is not available on this machine.
Приходится добавлять в additional controls listview. Далее приходится добавлять вручную элемент листвью (ибо на форме его уже нет) и настраивать заново его свойства и т.д.
Кому несложно, вкратце на пальцах подскажите, как грамотно избегать подобных ситуаций.

 

Ответить

KSV

Дата: Пятница, 22.05.2015, 22:06 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 770


Репутация:

255

±

Замечаний:
0% ±


Excel 2013

Сложно «ставить диагноз по телефону»…
Но скорее всего, у вас на разных компьютерах установлены разные версии компонента ListView.

подскажите, как грамотно избегать подобных ситуаций

Самое простое — установить одинаковую версию на всех компах, где используется ваш файл.

[p.s.]Если версии контрола всеже одинаковые, то возможно, что на втором компе у вас некорректно зарегистрирован MSCOMCTL.OCX
Разрегистрируйте его и заново зарегистрируйте:
regsvr32 /u MSCOMCTL.OCX
regsvr32 MSCOMCTL.OCX
(подробнее о regsvr32)[/p.s.]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

Сообщение отредактировал KSVПятница, 22.05.2015, 22:33

 

Ответить

Antykus

Дата: Суббота, 23.05.2015, 10:45 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

KSV, попробовал: перерегистрировал OCX, проблема не ушла.
Дело в том, что на втором компе, с формы пропадает настроенный list view, но без проблем вручную добавляется и с ним можно работать. Вопрос в том, как сделать так, чтобы он не пропадал и не приходилось его заново настраивать

 

Ответить

Manyasha

Дата: Суббота, 23.05.2015, 11:09 |
Сообщение № 4

Группа: Модераторы

Ранг: Старожил

Сообщений: 2198


Репутация:

898

±

Замечаний:
0% ±


Excel 2010, 2016

Antykus, здравствуйте, а версии экселя одинаковые? Если на одном компе 2010-й а на другом, 2007 например, то версии list view будут отличаться. Прилагаю пример сделанный в 2007 экселе, у Вас 2010-й? Попробуйте запустить.

К сообщению приложен файл:

111.xlsm
(19.4 Kb)


ЯД: 410013299366744 WM: R193491431804

 

Ответить

Antykus

Дата: Суббота, 23.05.2015, 11:17 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Manyasha, версии одинаковые, а вот сборки, присмотрелся, — разные (прилагаю картинку)
А ваш файлик не заработал — выдал аналогичную ошибку

К сообщению приложен файл:

1122264.png
(6.7 Kb)

 

Ответить

Manyasha

Дата: Суббота, 23.05.2015, 11:40 |
Сообщение № 6

Группа: Модераторы

Ранг: Старожил

Сообщений: 2198


Репутация:

898

±

Замечаний:
0% ±


Excel 2010, 2016

Antykus, если на втором компе ОС win XP (нижний на скрине), то скорее всего нужно sp3 установить.
Кстати проверяли Вы мой фал именно на втором компе? У меня сборка:
MO excel 2007 (12.0.6665.5003) SP3 MSO (12.0.6662.5000)


ЯД: 410013299366744 WM: R193491431804

 

Ответить

Antykus

Дата: Суббота, 23.05.2015, 11:47 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Manyasha, на обоих компах стоит семёрка, на обоих выдалась ошибка при запуске формы)

 

Ответить

KSV

Дата: Суббота, 23.05.2015, 19:35 |
Сообщение № 8

Группа: Друзья

Ранг: Ветеран

Сообщений: 770


Репутация:

255

±

Замечаний:
0% ±


Excel 2013

перерегистрировал OCX, проблема не ушла

А версии контрола ListView одинаковые? (версии файла MSCOMCTL.OCX) Это первое, что нужно было проверить.

на втором компе, с формы пропадает настроенный list view, но без проблем вручную добавляется и с ним можно работать

Именно поэтому у меня и возникло подозрение на то, что у вас разные версии файла MSCOMCTL.OCX

[p.s.]на обоих Win7 x64?[/p.s.]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

Сообщение отредактировал KSVСуббота, 23.05.2015, 19:37

 

Ответить

Antykus

Дата: Воскресенье, 24.05.2015, 11:12 |
Сообщение № 9

Группа: Пользователи

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

KSV, большое спасибо. Проблему решил!
На обоих компах установлена win 7 64
На обоих на компах, если смотреть через vba excel в свойствах list view указана одинаковая версия, ОДНАКО
если глянуть через windowssyswow64 на файл MSCOMCTL.OCX , можно было увидеть, что файлы имеют разные свойства по размеру и времени.
Я ,недолго думая, перекинул этот файл с основного на второй
Разрегистрировал, и зарегистрировал OCX заново с помощью командной строки
Сейчас внимание, если кто столкнётся с этой проблемой в будущем
Разрегистрация прошла без проблем. Регистрация — выдавалась ошибка с кодом 0x80004005
Пришлось порыться в интернете в поисках что ж это за ошибка.. в итоге — запускайте командную строку при регистрации С ПРАВАМИ АДМИНИСТРАТОРА, и всё пройдёт на ура :)
Всем спасибо за внимание

 

Ответить

KSV

Дата: Воскресенье, 24.05.2015, 11:45 |
Сообщение № 10

Группа: Друзья

Ранг: Ветеран

Сообщений: 770


Репутация:

255

±

Замечаний:
0% ±


Excel 2013

пожалуйста! :)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

 

Ответить

 

neqkeet

Пользователь

Сообщений: 84
Регистрация: 11.03.2016

Добрый день!

Excel 2013. При подключении надстройки наблюдаются несколько сообщений об ошибке «Could not load some objects because they are not available on this machine.»
Проблема стала возникать при удалении предыдущей версии Office 2010.
Как починить?

Изменено: neqkeet22.08.2017 18:03:39

 

neqkeet

Пользователь

Сообщений: 84
Регистрация: 11.03.2016

В Tools->Refferences путь к некоторым библиотекам прописан по месту расположения надстройки PLEX.
Например «ActiveMovie control type library» указан путь @user@Documentsquartz.dll
Хотя данная библиотека должна находиться в папке system 32.
Изменить расположение на корректное не получается. Библиотека активируется только при перемещении в указанную выше папку.

 

Никаких внешних подключаемых библиотек в коде PLEX не используется принципиально.
Тем более ActiveMovie control type library (что это?)

Что у вас за версия Office? Лицензия или пиратка?
Как вариант, попробуйте восстановить через Панель управления — Программы и компоненты — Office — Восстановить  

 

neqkeet

Пользователь

Сообщений: 84
Регистрация: 11.03.2016

#4

23.08.2017 12:25:46

Версия 15.0.4420.1017. Корпоративная лицензия.
Переустановил офис, не помогло.

Проблема именно с надстройкой. Когда подключаю — появляются сообщения Microsoft Forms «Could not load some objects because they are not available on this machine.»

При перемещении надстройки в другую папку — путь некоторых references меняется на путь надстройки PLEX. Если необходим список всех библиотек, могу предоставить.

Макросы работают не все, например:

Ошибка с «Вып. список» на строчке workrng.Text = Selection.Address — Run Time Error ‘424’ Object required

Код
Private Sub UserForm_Activate()
    workrng.Text = Selection.Address
    Call EnabledOptions
End Sub

Ошибка с «Только видимые»  — Method or data member not found
на строчке Me.refFrom.SetFocus макроса

Код
Private Sub btnOK_Click()

'проверяем заполнение формы
    On Error Resume Next
    Set rngFrom = Range(refFrom.Text)
    Set rngTo = Range(refTo.Text).Cells(1, 1)
    On Error GoTo 0

    If TypeName(rngFrom) <> "Range" Then
        MsgBox "Некорректный адрес копируемого диапазона.", vbCritical + vbOKOnly, "Ошибка ввода"
        Me.refFrom.SetFocus
        Exit Sub

Изменено: neqkeet23.08.2017 13:03:44

 

The_Prist

Пользователь

Сообщений: 14272
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Снимите галочки со всех пунктов напротив библиотек, отмеченных MISSING. Такие баги могут возникать и при установке на корпоративных ПК, где развертывание офиса осуществляется «сриптами» со стороны админов.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

neqkeet

Пользователь

Сообщений: 84
Регистрация: 11.03.2016

The_Prist, В том то и дело, что галочек с MISSING нет. Подключены только:

Visual Basic for Applications,
Microsoft Excel 15.0 Object Library, (две одинаковых библиотеки при подключении Plex)
Microsoft Forms 2.0 Object Library (Только при подключении Plex, отключить при работающем Plex нельзя)
OLE Automation

 

The_Prist

Пользователь

Сообщений: 14272
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Есть подозрение, что возникает конфликт версий. Я бы попробовал удалить офис, вычистить все папки офиса полностью, почистить реестр, чтобы удалить все следы предыдущих версий. Установить новую версию офиса. Попробовать подключить надстройку.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

neqkeet

Пользователь

Сообщений: 84
Регистрация: 11.03.2016

The_Prist, подскажите, как грамотно произвести чистку? Особенно по части реестра?

 

The_Prist

Пользователь

Сообщений: 14272
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Вот здесь думаю лучше обратиться в Ваш ИТ отдел. Потому что могут быть нюансы и я лично не хочу быть крайним, если вдруг что-то удалите лишнее :) Но в общем случае, т.к. проблема с элементами форм, то обычно порядок такой:
1. Удаляете через Панель управления Microsoft Office
2. Находите папку MicrosoftForms. Для Windows 7 и выше это как правило папка: C:Users%USERNAME%AppDataRoamingMicrosoftForms. В неё можно быстро попасть через команду Выполнить. Пуск -Выполнить —%APPDATA%MicrosoftForms и нажмите Enter.
По хорошему можно удалить полностью эту папку, но беда в том, что она может использоваться другими приложениями Microsoft(вне офиса) и тогда это может повлиять на работу этих программ. Точнее это могут знать только Ваши ИТ-ники. Если будете делать на свой страх и риск, то лучше удалить только те файлы, у которых расширение EXD.

Еще есть рекомендации от самого Microsoft:

https://support.office.com/ru-ru/article/Удаление-Office-с-компьютера-9dd49b83-264a-477a-8fcc-2fdf5d…

P.S. Вот, вспомнил — ведь была в свое время тема с элементами…Попробуйте рекомендации отсюда:

Элементы ActiveX перестали работать или ведут себя непредсказуемо

Вполне возможно, что и в Вашем случае поможет.

Изменено: The_Prist23.08.2017 21:29:38

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

3ooM

Пользователь

Сообщений: 17
Регистрация: 01.02.2014

neqkeet, вы смогли решить данную проблему?

 

У меня решилось обновлением Office 2013..  

 

casimirus

Пользователь

Сообщений: 1
Регистрация: 30.01.2017

#12

26.02.2020 09:34:54

Такая же проблема появилась при установке Excel 2013 поверх Excel 2010. Помогло удаление, исправление ошибок реестра CCleanerом и восстановление офиса.

Внимание, откроется в новом окне.
PDFПечать

Ошибка «Could not load an object because it is not avilable on this machine» при вызове любого пункта меню программы «АТТЕСТАЦИЯ-5.1» в большинстве случаев возникает из-за не корректно установленного компонента MSCAL.ocx.

1. Для диагностики данной проблемы необходимо выполнить вызов календаря в любом протоколе (создать любой протокол и нажать кнопку «Дата оценки» на панели инструментов). Если календарь не откроется, тогда необходимо выполнить действия, описанные в пункте 2.

2. Установка компонента:
2.1. Закрыть все программы.
2.2. Перейти в каталог установки программы «Аттестация-5.1» ( «C:Program Files..Аттестация-5.1»).
2.3. Запустить файл mscal_update.exe (с правами администратора), как показано на рисунке.
2.4. Пройти установку файла обновления.

Далее, запустите программу и проверьте вызов календаря (п.1).

3. Если проблема не решится с использованием данного материала, необходимо отправить диагностическую информацию на адрес att_support@mail.ru.

Для получения диагностической информации необходимо перейти в каталог установки программы «Аттестация» ( «C:Program Files..Аттестация-5.1»)и запустить файл diag_att_ctls5.exe.

Признак корректной установки компонентов:

Test 1: execute code 101
Test 2: execute code 201
Test 3: execute code 301
Test 4: execute code 401
Test 5: execute code 501
Test 6: execute code 601

Если коды по какому-либо тесту отличаются, значит существует проблема в установке компонентов.

4. Дополнение: Было зафиксировано несколько случаев проявления данной ошибки из-за блокировки установки компонентов программы во время инсталляции дистрибутива (setup.exe). В связи с этим, если проблема не решится с использованием рекомендаций по п.2 необходимо выполнить повторную установку дистрибутива (setup.exe) в режиме отключенного антивирусного ПО и повторно отправить/проверить результаты диагностики по п.3.

5. На рисунке изображен файл с именем «mscal_update.exe», на другой системе расширение «.exe» может не отображаться. В этом случае имя файла будет «mscal_update».

Symptoms

When you start Excel or use the Microsoft Forecaster Excel Add-in, you receive this error message:

Microsoft Forms — Could not load an object because it is not available on this machine

Cause

The Excel Add-in engine did not register properly.

Resolution

Manually register the add in engine.

  1. Close Excel

  2. Select Run from the Start menu and then type: regsvr32 C:Program FilesFRx SoftwareFRx Forecaster ComponentsFCAddin.ocx

NOTE: Your path may be different, so use Windows Explorer to locate the FCAddin.ocx file and enter the appropriate path for the file.

References

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

We are using a set of Excel files on several machines in our company. These files contain a VBA application which utilizes a couple of ActiveX control objects from mscomct2.ocx library (namely, MonthView and DateTimePicker). ActiveX objects are to be displayed in UserForm. Unfortunately the portability of these files seems limited in a very peculiar way.

There appears to be 2 groups of machines:

  • Group A: I can create a Excel file containing MonthView on such machine and work with it on any Group A PC. But when I try to open this file on any machine from Group B, I’m getting a Could not load an object because it is not available on this machine error. However, files with the same ActiveX created on Group B machines work normaly on A machines.
  • Group B: File with an ActiveX in question created on these machines work everywhere (i.e. on any A and B machine). But, as I said earlier, B machines give the error mentioned above when the file with ActiveX saved on A machine is opened.

In one sentence: files created on A machine work only on other A’s, files created on B’s work everywhere!

The strangest thing here is that every machine has mscomct2.ocx registered (once again: I can create the form with the MonthView on any machine in question!). The .ocx itself is in place on each machine and the whole set of registry keys is present (CLSIDs for controls classes, IIDs, typelib ID…). In addition, the data in these registry keys seem to be the same on A and B group machines (GUIDs, ProgIDs, versions etc.). There are slight differences in description strings (values like «Microsoft MonthView Control 6.0 (SP6)») on some machines but this does not seem to affect the situation (some machines in B group have such descriptions different but files created on them still work everywhere).

Naturally, thanks to Murphy’s law, the machine I use to edit these Excel files belongs to Group A, so files saved here are ‘unportable’ to B machines…

The OS and Excel versions don’t seem to affect the situation. For example, one of B machines is working under Win 7 64 bit (Excel 2007), while most others group A and B machines are Win XP Prof (32 bit) SP3, with Excel 2003 installed. So it seems that OS and Excel versions don’t affect compatibility and the problem is somehow connected with ActiveX.

The only ActiveX-related difference between A and B groups I found is the file version of mscomct2.ocx: at least several of A machines have version 6.1.x.x, while Group B has 6.0.x.x. I don’t see how can such difference cause problems (ActiveX are COM objects after all, and according to registry key values, the exposed typelib, com objects and interfaces seem to be the same in all cases). Nevertheless I tried to replace my 6.1.x.x ocx with 6.0.x.x version… and ran into more trouble. What I did is:

  1. regsvr32 /u mscomct2.ocx — completed successfully
  2. Replaced the mscomct2.ocx with file of 6.0.x.x version
  3. regsvr32 mscomct2.ocx — completed successfully

After these steps I tried to make an Excel file with single form containing the MonthView. But when I tried to place a control in the form I’ve got a messagebox with error Class not registered. This is really strange cause everything seem to be registered: the control class, its interfaces, typelib (yes, I’ve checked the registry to be sure). But still the error was there.

After that I did the unregister/replace/register procedure again to go back to my original 6.1.x.x file. That took me back to the original SNAFU situation: I could again install ActiveX to user form and use it, but the Group B machines still gave the error on files saved by my machine.

I assume that the problem of files-with-ActiveX portability and the problem of ocx registration are somehow connected, but I don’t see how. Perhaps there are some additional requirements for registration of an ActiveX in Excel VBA which I don’t know…

The only thing I need is to have the ActiveX object contaned in my Excel file compatible with other machines. Can anyone help me with that?

  • Ошибка could not launch game only one instance of this
  • Ошибка cors javascript fetch
  • Ошибка could not initialize direct3d
  • Ошибка corona error message
  • Ошибка could not initialize a required audio device