Błąd "Could not load an object because it is not available on this machine"

Anonimowe
2015-12-15T11:16:22+00:00

Problem:

Podczas wczytywania pliku xlsm otrzymuję błąd "could not load an object because it is not available on this machine". Nie wczytuje mscomct2.ocx, mimo, że jest zarejestrowane. Gdy próbuję użyć MS date and time picker w nowym pliku otrzymuję błąd "klasa niezarejestrowana".

Na drugim komputerze wszystko działa bez najmniejszego problemu - ta sama wersja office, te same OCX rejestrowane identyczną metodą.

Wielokrotne próby wyrejestrowania czy ponownego zarejestrowania nie dały rezultatu.

W czym może być problem?

Microsoft 365 i Office | Excel | Do użytku domowego | Windows

Pytanie zablokowane. To pytanie zostało zmigrowane ze społeczności pomocy technicznej firmy Microsoft. Możesz zagłosować, czy pytanie jest pomocne, ale nie możesz dodawać komentarzy ani odpowiedzi, ani też śledzić pytania.

Komentarze: 0 Brak komentarzy

Odpowiedzi: 11

Sortuj według: Najbardziej pomocne
  1. Oskar Shon 49,331 Punkty reputacji Moderator wolontariuszy
    2015-12-15T22:40:35+00:00

    Polecam ten artykuł: 

    Błąd kontrolek ActiveX

    Czy ta odpowiedź była pomocna?

    Inne osoby (3) uznały tę odpowiedź za pomocną.
    Komentarze: 0 Brak komentarzy
  2. Anonimowe
    2015-12-16T09:41:43+00:00

    Dzięki Oskar za podpowiedź. Spróbowałem tego rozwiązania. Niestety ot nie to. Dalej nie działa.

    Czy ta odpowiedź była pomocna?

    1 osoba uznała tę odpowiedź za pomocną.
    Komentarze: 0 Brak komentarzy
  3. Oskar Shon 49,331 Punkty reputacji Moderator wolontariuszy
    2015-12-16T13:02:47+00:00

    Pliki exd są też w ukrytych katalogach - dlatego napisałem BAT.file, który do nich sięga.

    Standardowe szukanie może nie sprawdzić wszystkiego.

    Skoro rejestrujesz biblioteki, to czy dobre pliki masz w lokalizacji syswow64 - dobre wersje?

    Jak wspomniałem przed rejestracją wypróbuj te, które nie będą krzyczeć pow komunikatu.

    Załączyłem zipa który sobie pobierasz i sprawdzasz na których plikach chodzi.

    Tak wiem - niewygodne, ale kto powiedział że w MS ma wszystko działać "od kopa".

    Jeśli takie jest twoje zdanie to rozwiązania pisz w .NET :)

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  4. Anonimowe
    2015-12-16T12:50:55+00:00

    No niestety jestem w tym 1%... :(

    Napiszę może, jak to robię, bo może coś robię źle. System mam x64

    1. Uruchamiam cmd.exe jako administrator
    2. Wyrejestrowuję kontrolki poleceniami

    %systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx

    %systemroot%\sysWOW64\regsvr32 /u mscomct2.ocx

    1. Kasuję wszystkie pliki z rozszerzeniem *.exd (przeszukałem cały dysk, obecnie znajduję tylko jeden plik w c:\Users\User\Application Data\Microsoft\Forms\MSComctlLib.exd
    2. rejestruję ponownie

    %systemroot%\sysWOW64\regsvr32 mscomctl.ocx

    %systemroot%\sysWOW64\regsvr32 mscomct2.ocx

    Nie pomaga...

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  5. Oskar Shon 49,331 Punkty reputacji Moderator wolontariuszy
    2015-12-16T11:03:36+00:00

    Na 99% to.

    Należy usunąć pliki tymczasowych kontrolek EXD i ponownie zarejestrować kontrolkę.

    Poza samą rejestracją należy ją dodać do systemu w odpowiedniej wersji w odpowiednie miejsce.

    (do system32 dla x86 i syswow64 dla x64)

    Wszystkie wersje plików kontrolek CommonControls podaje w linku do arta na swojej stronie.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy