Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommonDialog

CommonDialog
19.08.2002 14:35:18
andré
Hallihallo liebe excelgemeinde!

ich hab folgendes problem, ich möchte das steuerelement "microsoft common dialog control, version 6.0" einfügen, und es kommt folgende fehlermeldung:
Das steuerelement konnte nicht erstellt werden, da es nicht korrekt lizenziert wurde.

wer kann mir weiterhelfen?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: CommonDialog
19.08.2002 14:43:19
mathias r.
Liegt daran, daß nur der es (in VBA) nutzen kann, der die Office Developer-Edition oder Visual Basic installiert hat oder auf der Anwenderkiste das OCX durch ein Setup registriert wurde.
Abhilfe bringt die Verwendung der API-Funktion die ohne ocx auskommt.
Bei Interesse suche nach GetOpenFileName, GetSaveFileName wenn du diese nutzen willst.
Anzeige
Re: CommonDialog
19.08.2002 14:53:06
andré
wie meinst du das OCX durch ein Setup registriert?

Meinst du mit API-Funktion GetOpenFileName und GetSaveFileName? -wenn ja hilft mir das nicht weiter.

mfg andré

Re: CommonDialog
19.08.2002 15:17:27
mathias r.
Hatte das mal bei einem Kunden gelöst indem ich mit VB (das "Echte" also nicht VBA) ein Setup erstellt hatte. Wenn du VB nicht hast, scheidet der Weg schon einmal aus.
Ja ich meine diese API Funktionen. Welche Funktionalität willst du nutzen?
Anzeige
Re: CommonDialog
19.08.2002 15:22:51
andré
letzendlich möchte ich wie etwas oben (anderes Beitrag)von mir beschrieben ein "dir-steuerelement", dadurch bin ich erst darauf gekommen das der common dialog nicht geht.
Aber erklär mir mal was für einen setup du erstellt hast, das echte VB hab ich auch da (zumindest auf ´nem anderen rechner)

danke erstmal.

Anzeige
Re: CommonDialog
19.08.2002 16:10:38
mathias r.
Habe einfach das Control auf eine Form gesetzt. Dann mit dem "Verpackungs- und Weitergabeassisten" ein Setup erstellt. Hier kann man die Exe aus der Dateiliste wieder entfernen und keine Programmgruppe anlegen lassen (es geht ja nur um das Control).
Ist zwar unelegant hat aber funktioniert. So geht man sicher das alle DLLs etc. weitergegeben werden.

Aber die API Funktion für den "BrowseFor Folder" ist professioneller. Der Aufruf ist ja denkbar einfach:
AUFRUF: strFolder = BrowseForFolder("Wählen Sie einen Ordner aus.")


Anzeige
;
Anzeige

Infobox / Tutorial

Verwendung des Microsoft Common Dialog Controls in Excel


Schritt-für-Schritt-Anleitung

  1. Entwicklertools aktivieren: Stelle sicher, dass die Entwicklertools in Excel aktiviert sind. Gehe zu Datei > Optionen > Menüband anpassen und aktiviere das Kontrollkästchen für Entwicklertools.

  2. Steuerelement hinzufügen: Klicke auf Entwicklertools und wähle Einfügen. Suche nach dem Microsoft Common Dialog Control, Version 6.0 und füge es deiner Arbeitsmappe hinzu.

  3. Fehlerbehebung: Wenn du die Fehlermeldung erhältst, dass das Steuerelement nicht lizenziert ist, überprüfe, ob du die Office Developer-Edition oder Visual Basic installiert hast. Andernfalls musst du das OCX-Steuerelement registrieren.

  4. VBA-Code schreiben: Gehe in den VBA-Editor (Alt + F11) und schreibe den notwendigen Code, um das Steuerelement zu verwenden. Hier ein Beispiel für die Verwendung des Common Dialogs zum Öffnen einer Datei:

    Dim dlg As MSComDlg.CommonDialog
    Set dlg = New MSComDlg.CommonDialog
    dlg.ShowOpen

Häufige Fehler und Lösungen

  • Fehlermeldung: "Das Steuerelement konnte nicht erstellt werden": Diese Fehlermeldung tritt auf, wenn das Microsoft Common Dialog Control 6.0 nicht korrekt lizenziert oder registriert ist. Stelle sicher, dass du die erforderliche Software hast und das OCX-File registriert ist.

  • OCX-Registrierungsprobleme: Wenn du das OCX nicht registrieren kannst, könnte es daran liegen, dass du die falsche Version von Visual Basic oder die Office Developer-Edition nicht installiert hast.


Alternative Methoden

Falls du Schwierigkeiten mit dem Microsoft Common Dialog Control hast, kannst du auch die API-Funktionen GetOpenFileName und GetSaveFileName verwenden. Diese Funktionen benötigen kein zusätzliches Steuerelement und sind einfacher zu implementieren. Hier ein einfaches Beispiel:

Dim FileName As String
FileName = Application.GetOpenFilename("Excel-Dateien (*.xls;*.xlsx), *.xls;*.xlsx", , "Wählen Sie eine Datei aus")

Diese Methode ist besonders nützlich, wenn du schnell eine Datei öffnen oder speichern möchtest, ohne auf Steuerelemente zurückgreifen zu müssen.


Praktische Beispiele

Hier sind einige nützliche Beispiele zur Verwendung des Microsoft Common Dialog Control:

  1. Öffnen einer Datei:

    Dim dlg As MSComDlg.CommonDialog
    Set dlg = New MSComDlg.CommonDialog
    dlg.ShowOpen
    MsgBox "Die gewählte Datei ist: " & dlg.FileName
  2. Speichern einer Datei:

    Dim dlg As MSComDlg.CommonDialog
    Set dlg = New MSComDlg.CommonDialog
    dlg.ShowSave
    MsgBox "Die Datei wird gespeichert als: " & dlg.FileName

Diese Beispiele zeigen, wie du das Steuerelement nutzen kannst, um Benutzerinteraktionen zu ermöglichen.


Tipps für Profis

  • Verwende API-Funktionen: Wenn du Schwierigkeiten mit dem Microsoft Common Dialog Control hast, sind die API-Funktionen eine leistungsstarke und flexible Alternative.

  • Fehlerbehebung: Halte deine Office-Anwendungen immer auf dem neuesten Stand. Oftmals entstehen Probleme durch veraltete Software oder fehlende Updates.

  • Dokumentation: Lege Wert auf eine gute Dokumentation deines Codes. Dies wird dir helfen, wenn du später Anpassungen vornehmen musst.


FAQ: Häufige Fragen

1. Was ist das Microsoft Common Dialog Control? Es handelt sich um ein Steuerelement, das in VBA verwendet wird, um Dialogfenster für das Öffnen und Speichern von Dateien anzuzeigen.

2. Wie kann ich das Common Dialog Control registrieren? Du musst das OCX-File mit dem Befehl regsvr32 in der Eingabeaufforderung registrieren. Stelle sicher, dass du Administratorrechte hast.

3. Welche Alternativen gibt es zum Microsoft Common Dialog Control? Du kannst die API-Funktionen GetOpenFileName und GetSaveFileName verwenden, um Dateidialoge ohne das Steuerelement zu implementieren.

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