Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListView 6.0

Forumthread: ListView 6.0

ListView 6.0
11.10.2008 15:21:00
Alfons
Hallo,
ab wann kann auf einem PC das Steuerelement ListView 6.0 verwendet werden?
Es geht um den Verweis auf: Microsoft Windows Common Controls 6.0 (SP6)
Datei: MSCOMCTL.OCX
Hängt das von der installierten Office-Version ab?
Danke und Gruß
Alfons
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListView 6.0
11.10.2008 15:28:00
Nepumuk
Hallo Alfons,
um das Control zu benutzen benötigst du keinen Verweis. Du muss dann natürlich die Konstanten daraus durch ihre Werte ersetzen, aber so viele werden es schon nicht sein.
Ich hab in einer Mappe den Verweis mal versehentlich drin gelassen, das Ding lief unter Windows 2000, XP und Vista mit Excel 2000, XP und 2003 ohne Probleme (unter Excel 2007 hab ich's noch nicht getestet).
Gruß
Nepumuk
Anzeige
AW: ListView 6.0
11.10.2008 16:18:00
Alfons
Hallo Nepumuk,
mit Verweis läuft das bei mir unter XP mit Excel 97 bis einschl. 2007.
Mit Win 98 und Excel 97 geht aber gar nichts mehr...
Hast Du eine ahnung woher die MSCOMCTL.OCX kommt?
Betriebssystem oder Officepaket.
-- um das Control zu benutzen benötigst du keinen Verweis. Du muss dann natürlich die Konstanten daraus durch ihre Werte ersetzen, aber so viele werden es schon nicht sein.
Wie geht das denn?
besten Dank
Alfons
Anzeige
AW: ListView 6.0
11.10.2008 17:56:55
Nepumuk
Hallo Alfons,
Mscomctl.ocx und Comctl32.ocx sind Bestandteile von Windows.
Konstanten durch ihrer Werte ersetzen meinte ich so:
'mit Konstanten
With ListView1
    .View = lvwReport
    .LabelEdit = lvwManual
End With

'mit den Werten der Konstanten
With ListView1
    .View = 3
    .LabelEdit = 1
End With

Gruß
Nepumuk
Anzeige
AW: ListView 6.0
12.10.2008 10:43:00
Alfons
Hallo Nepumuk,
erstmal besten Dank
und noch zwei neue Fragen:
Ist es generell günstiger mit Verweisen zu arbeiten oder besser ohne?
Mit einem Verweis könnte man schon beim öffnen der Datei prüfen, ob das
Steuerelement auf dem PC überhaupt verfügbar ist und entsprechend reagieren.
Andererseits könnte die Mscomctl.ocx installiert sein, aber in einem anderen Verzeichnis als auf meinem Rechner.
Passt sich die Pfadangabe in so einem Fall automatisch an?
also von C:\windows\system32\ nach: f:\keine_ahnung\system64\
schönen Sonntag
Alfons
Anzeige
AW: ListView 6.0
12.10.2008 10:55:10
Nepumuk
Hallo Alfons,
ein Verweis geht immer direkt auf eine Datei (DLL, OCX, TLB ....) und die Datei muss sich immer in selben Verzeichnis befinden. Wenn du den Verweis weg lässt, dann sucht sich das Control über die Registry ihre Bibliothek. Damit ist der Installationsordner variabel, aber die Bibliothek muss registriert sein. Wobei du davon ausgehen kannst, dass Windowsbibliotheken ganz sicher registriert sind.
Gruß
Nepumuk
Anzeige
AW: ListView 6.0
12.10.2008 11:29:00
Alfons
Hallo Nepumuk,
Es ist also günstiger die Datei ohne Verweis weiterzugeben, weil das Steuerelement seine Bibliothek dann selbst sucht.
Wenn aber diese Bibliothek auf dem Rechner gar nicht da ist, kommt beim
öffnen der Datei die Meldung: "ein Objekt konnte nicht geladen werden".
(eben das Steuerelement ListView)
(hoffentlich) letzte Frage:
kann man das noch irgendwie abfangen?
Bisher habe ich beim Öffnen nach kaputten Verweisen gesucht:
If Application.VBE.ActiveVBProject.References(x).IsBroken = True Then
Danke
Alfons
Anzeige
AW: ListView 6.0
12.10.2008 11:52:00
Nepumuk
Hallo Alfons,
nein, das geht nicht. Die Meldung wird schon generiert, wenn die Makros noch garnicht aktiv sind. Aber gerade beim ListView hatte ich noch nie Probleme, und wer arbeitet heute noch mit Windows 95 / 98 und darunter? Wegen der paar würde ich mir nun wirklich keine Gedanken machen. Schreib einfach dazu, dass mindestens Windows 2000 installiert sein muss. Keine Software muss alle Betriebssysteme abdecken.
Gruß
Nepumuk
Anzeige
AW: ListView 6.0
12.10.2008 12:10:01
Alfons
Hallo Nepumuk,
-- Die Meldung wird schon generiert, wenn die Makros noch garnicht aktiv sind.
Hatte ich irgendwie anders in Erinnerung - bin mir aber nicht sicher...
Egal, dann geht es eben nicht mit 98.
Nepumuk, besten Dank
Gruß Alfons
AW: ListView 6.0
12.10.2008 11:53:12
Nepumuk
Hallo Alfons,
nein, das geht nicht. Die Meldung wird schon generiert, wenn die Makros noch garnicht aktiv sind. Aber gerade beim ListView hatte ich noch nie Probleme, und wer arbeitet heute noch mit Windows 95 / 98 und darunter? Wegen der paar würde ich mir nun wirklich keine Gedanken machen. Schreib einfach dazu, dass mindestens Windows 2000 installiert sein muss. Keine Software muss alle Betriebssysteme abdecken.
Gruß
Nepumuk
Anzeige
;
Anzeige

Infobox / Tutorial

ListView 6.0 in Excel VBA nutzen


Schritt-für-Schritt-Anleitung

  1. Überprüfe die Systemanforderungen: Stelle sicher, dass du mindestens Windows 2000 verwendest, da das Microsoft ListView Control Version 6.0 nur auf neueren Betriebssystemen zuverlässig funktioniert.

  2. Füge das ListView-Steuerelement hinzu:

    • Öffne den Visual Basic for Applications (VBA) Editor in Excel.
    • Gehe zu „Einfügen“ > „UserForm“.
    • Klicke in der Toolbox mit der rechten Maustaste und wähle „Steuerelemente“.
    • Suche nach „Microsoft Windows Common Controls 6.0 (SP6)“ und füge das ListView-Steuerelement hinzu.
  3. Verwende das ListView in Deinem Code:

    • Du kannst das ListView steuern, indem du die Eigenschaften wie .View oder .LabelEdit direkt in deinem VBA-Code anpasst. Beispiel:
      With ListView1
       .View = lvwReport
       .LabelEdit = lvwManual
      End With
  4. Testen: Führe dein VBA-Projekt aus, um sicherzustellen, dass das ListView korrekt angezeigt wird und funktioniert.


Häufige Fehler und Lösungen

  • Fehler: "Ein Objekt konnte nicht geladen werden"

    • Lösung: Überprüfe, ob die Datei MSCOMCTL.OCX auf deinem PC installiert und registriert ist. Wenn du ohne Verweis arbeitest, muss diese Datei in der Registry registriert sein.
  • Fehler: Verweisprobleme bei verschiedenen Office-Versionen

    • Lösung: Es ist oft günstiger, ohne Verweis zu arbeiten. So sucht das Steuerelement seine Bibliothek selbst. Beachte, dass dies nicht funktioniert, wenn die Bibliothek nicht vorhanden ist.

Alternative Methoden

Wenn du das ListView-Control nicht verwenden kannst, gibt es alternative Ansätze:

  • ActiveX-Steuerelemente: Du kannst auch andere ActiveX-Steuerelemente verwenden, die ähnliche Funktionalitäten bieten.
  • Daten in Tabellen: Verwende Excel-Tabellen, um die Daten anzuzeigen, anstatt ein ListView zu implementieren. Dies kann in vielen Fällen einfacher sein.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Excel VBA ListView effektiv nutzen kannst:

  1. Daten aus einer Tabelle in das ListView laden:

    Dim i As Integer
    For i = 1 To 10
       ListView1.ListItems.Add , , Cells(i, 1).Value
    Next i
  2. Ereignisse im ListView nutzen:

    • Du kannst auf Ereignisse wie ItemClick oder ItemDoubleClick reagieren, um spezifische Aktionen auszuführen, wenn der Benutzer mit den Listenelementen interagiert.

Tipps für Profis

  • Effiziente Verwendung von Konstanten: Ersetze Konstanten durch ihre Werte, um die Lesbarkeit deines Codes zu verbessern. Beispiel:

    With ListView1
      .View = 3 ' lvwReport
      .LabelEdit = 1 ' lvwManual
    End With
  • Regelmäßige Updates: Achte darauf, dass dein System und deine Office-Version regelmäßig aktualisiert werden, um Kompatibilitätsprobleme mit dem ListView zu vermeiden.


FAQ: Häufige Fragen

1. Ab wann kann ich das ListView-Control verwenden?
Das ListView-Control kann ab Windows 2000 in Kombination mit Excel 2000, XP, 2003 und höher verwendet werden.

2. Muss ich einen Verweis auf das ListView-Control setzen?
Nein, es ist nicht zwingend notwendig, einen Verweis zu setzen. Es kann auch ohne Verweis funktionieren, solange die nötigen Bibliotheken registriert sind.

3. Was ist die MSCOMCTL.OCX Datei?
MSCOMCTL.OCX ist eine essentielle Datei, die das Microsoft ListView Control enthält. Sie muss auf deinem PC vorhanden und registriert sein, um das Control zu verwenden.

4. Wie gehe ich mit fehlenden Bibliotheken um?
Wenn das Control nicht geladen werden kann, solltest du sicherstellen, dass die Bibliothek auf dem Computer vorhanden ist. Du kannst auch die Installation der benötigten Dateien anfordern oder alternative Steuerelemente verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige