Problem mit Listview in UserForm nach MS Patchday

  • Sonstige

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Problem mit Listview in UserForm nach MS Patchday

    Hi,

    seit dem letzten Patchday von Microsoft, bekomme ich diesen Code in Excel unter WIN7 (64-bit) nicht mehr zum Laufen:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Public WithEvents ListView1 As MSComctlLib.ListView
    3. Private Sub UserForm_Initialize()
    4. 'create Listview
    5. Set ListView1 = Me.Controls.Add("MSComctlLib.ListViewCtrl", "ListView1")
    6. With Me.Controls("ListView1")
    7. .Top = 6
    8. .Left = 6
    9. .Width = 606
    10. .Height = 252
    11. End With
    12. End Sub


    Ich erhalte diesen Fehler:

    Laufzeitfehler '-2147319779 (8002801d)':

    Bibliothek nicht registriert.

    Vor dem Update hat es problemlos funktioniert.

    Die OCX-Datei ist in den Verweisen eingebunden.

    Auch der Hinweis aus dem MS KB 2703186 Löschen von vorhandenen *.exd Dateien hat keinen erfolg gezeigt.

    Hat jemand eine Idee?
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Bei mir geht es mit Excel 2007 unter Win7 64 Bit. Bei den Verweisen musste ich nur die mscomctl.ocx einbinden.

    Es gibt 2 Arten von Lizenzen. Einmal die ganz normale User Lizenz zum ausführen und dann noch die Entwicklerlizenz. Evtl. fehlt diese bei Dir?
    Es gibt auch einen Befehl, um Bibliotheken im System zu registrieren. Der fällt mir nur grad nicht ein.
    Bilder
    • Zwischenablage01.png

      31,98 kB, 477×371, 326 mal angesehen
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Vor einiger Zeit hat Microsoft Updates für MS Office veröffentlicht, die einige Dateien deregistriert (oder deaktiviert) haben,
    weshalb es bei VBA-/VB6-Projekten zu Problemen kommt. Wir hatten damals das Problem bei uns in der Firma und auch bei Kunden.

    Im Anhang findest du zwei Registry-Dateien die ich damals erstellt habe (die Dateiendung ist "txt", einfach auf "reg" umbenennen). Führe die korrekte Datei (je nach dem ob du Windows x86 oder x64 hast) aus, dann sollte es eigentlich funktionieren.

    gruss
    sandiro
    Dateien
    • ActiveX.zip

      (3,24 kB, 357 mal heruntergeladen, zuletzt: )
    @sandiro: Vielen Dank für die reg-Dateien, leider dies noch nicht zum gewünschten Ergebnis geführt.

    @peterfido: Die Verweise sind gesetzt. Ich vergass zu erwähnen das ich mit Office 2010 arbeite.

    Generell ist dieses Problem aber nicht auf allen Rechnern vorhanden. Bei meiner Kollegin funktioniert es.

    Hat noch jemand eine Idee?
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „INOPIAE“ ()

    Wenn du auf dem 2010er ein neues Projekt machst und die Listview hinzufügst, läuft diese dann?

    Hilft dir eventuell das weiter?
    Ist zwar vom April, aber ich weiss ja nicht, wie lange du keine Updates mehr gemacht hast ^^
    Das ist meine Signatur und sie wird wunderbar sein!
    @mono: Danke für den Hinweis, aber wer lesen kann ist klar im Vorteil. Im Ursprungspost hatte ich schon geschrieben, dass ich die Dateien mit *exd gelöscht habe.



    Ich habe nun die Lösung, der Ansatz von sandiro hat mich weitergebracht.

    Ich habe das mscomctl.ocx deregistriert und neu registriert.

    Die angehängte Batch-Datei einfach als Admistrator ausführen.
    Dateien
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).