Microsoft Excel

Herbers Excel/VBA-Archiv

Syntax von GetOpenFilename

Betrifft: Syntax von GetOpenFilename von: Alex
Geschrieben am: 23.08.2004 11:47:11

Hallo,

ich habe folgende Frage:

Ich benötige vom Benutzer den Dateinamen der zu öffnenden Datei. Dies möchte ich mit GetOpenFilename abfragen. Da die Datei in einem festen Verzeichnis liegt und auch einen fixen Namensteil hat, möchte ich dies gerne als Filter-Parameter mitgeben. So habe ich es versucht:

fileToOpen = Application.GetOpenFilename("c:\automat\log\Summary*.log", 1, "Select summary log file")

Leider erhalte ich einen "Laufzeitfehler 1004" und die Hilfe dazu bleibt leer :-(

Kann mir jemand die richtige Syntax mitteilen ? Sind hier etwa nur die in Excel mitgelieferten Auswahlfilter erlaubt ? Gibt es ev. eine Alternativlösung ?

Vielen Dank !

Grüße, ALEX aus Mainz

  


Betrifft: AW: Syntax von GetOpenFilename von: Ramses
Geschrieben am: 23.08.2004 12:07:11

Hallo

"...und die Hilfe dazu bleibt leer ..."

Glaube ich nicht :-)

VBA-Online Hilfe:
Zeigt das Standarddialogfeld Öffnen an und bekommt einen Dateinamen vom Benutzer, ohne jedoch irgendwelche Dateien zu öffnen.

Ausdruck.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

Ausdruck Erforderlich. Ein Ausdruck, der ein Application-Objekt zurückgibt.

FileFilter Optionaler Variant-Wert. Eine Zeichenfolge, die die Dateifilterkriterien angibt.

Diese Zeichenfolge besteht aus Zeichenfolgepaaren für den Dateifilter, gefolgt von einer MS-DOS-Platzhalterspezifikation für den Dateifilter, wobei jeder Teil und jedes Paar durch Kommas getrennt sind. Jedes einzelne Paar wird im Dropdownlistenfeld Dateityp angezeigt. Die folgende Zeichenfolge gibt beispielsweise die beiden Dateifilter Text und Add-In an: "Textdateien (*.txt), *.txt, Add-In-Dateien (*.xla), *.xla".

Um mehrere MS-DOS-Platzhalterausdrücke für einen einzelnen Dateifiltertyp anzugeben, trennen Sie die Platzhalterausdrücke mit Semikolons. Beispiel: "Visual Basic-Dateien (*.bas; *.txt),*.bas;*.txt".

Wird dieses Argument ausgelassen, wird der Standardwert "Alle Dateien (*.*),*.*" verwendet.

FilterIndex Optionaler Variant-Wert. Gibt die Indexnummern der Standarddatei-Filterkriterien an, von 1 bis zu der Anzahl von in FileFilter angegebenen Filtern. Wenn Sie dieses Argument nicht angeben oder es größer als die Anzahl von vorhandenen Filtern ist, wird der erste Dateifilter verwendet.

Title Optionaler Variant-Wert. Gibt den Titel des Dialogfeldes an. Wenn Sie dieses Argument nicht angeben, wird der Titel "Öffnen" verwendet.

ButtonText Optionaler Variant-Wert. Nur bei Macintosh.

MultiSelect Optionaler Variant-Wert. True, damit mehrere Dateinamen ausgewählt werden können. False, damit nur ein Dateiname ausgewählt werden kann. Der Standardwert ist False

---------------------------------

Daraus resultiert:

ChDrive "C:"
ChDir "C:\Automat\Log"
fileToOpen = Application.GetOpenFilename("Log Files (*.log), c:\automat\log\Summary*.log", 1, "Select summary log file")


:-)

Gruss Rainer


  


Betrifft: AW: Syntax von GetOpenFilename von: Alex
Geschrieben am: 23.08.2004 14:57:01

"...und die Hilfe dazu bleibt leer ..."
Glaube ich nicht :-)

Hallo Reiner,

Doch, kannst Du ruhig glauben ! ;-)


Ich meinte damit natürlich nicht die normale Excel VBA Hilfe, sondern die Hilfe, die bei der Fehlermeldung angeboten wird, also das Fenster, in dem "Beenden", "Debuggen", "Hilfe" als Schaltflächen zu finden sind.

Aber vielen Dank auf jeden Fall !! Es tut so (bis auf die Maskierung Summary*, aber das ist nicht so schlimm)

Grüße, ALEX


  


Betrifft: AW: Syntax von GetOpenFilename von: Ulf
Geschrieben am: 23.08.2004 12:21:24

VBA gut? Halt dich einfach an die Syntax wie in der Hilfe beschrieben. Wenn du ein
bestimmtes Verzeichnis voreinstellen willst, zuvor mit ggf. mit ChDrive das Laufwerk und mit ChDir den Pfad wechseln.

Ulf


  


Betrifft: AW: Syntax von GetOpenFilename von: Alex
Geschrieben am: 23.08.2004 15:03:58

Ich habe schon ettliche Sachen unter Access VBA programmiert (für Kunden!), und kann mir daher durchaus ein VBA gut unterstellen. Also bitte, laß diese Kommentare.
Datei öffnen war bisher nicht dabei gewesen, daß hat man in Access auch eher weniger....

Ich gebe zu, kein Buch über Excel VBA zu besitzen (über Access VBA besitze ich ettliche, nur so nebenbei...). Ich finde die Hilfe von MS zu Excel VBA absolut spärlich. Weitergehende/tiefergehende Infos vermisse ich da absolut, Parameter sind oft bloß aufgeführt, nähere Erläuterungen fehlen komplett....
Und ein Hinweis auf zB. ChDir oä. fehlte dort gänzlich. Also, wie soll ich mich strikt an die Hilfe halten, wenn diese das gar nicht hergibt ???


ALEX

naja, seufz....


  


Betrifft: AW: Syntax von GetOpenFilename von: Ulf
Geschrieben am: 23.08.2004 18:31:01

Excel hat nun mal ein völlig anderes Objektmodell als Access. Deine Meinung über die Hilfe kann ich, bis auf wenige Ausnahmen, gar nicht bestätigen.
Ggf. solltest du auch mal die Art der Fragestellung überdenken. Nicht von vornherein auf
eine Lösung fixiert sein und wie setze ich das nun um, eher, ich möchte dies und das erreichen, wie kann ich das am effektivsten umsetzen.

Ulf


 

Beiträge aus den Excel-Beispielen zum Thema "Syntax von GetOpenFilename"