Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Application.GetOpenFilename

Betrifft: Application.GetOpenFilename von: Thomas_W
Geschrieben am: 11.11.2014 10:44:58

Hallo und guten Tag,
ich habe ein Problem mit der Funktion Application.GetOpenFilename.

Ob der User die Auswahl abgebrochen hat kann ich ja über "If varFileNames <> False" abfragen. Das funktioniert solange ich keine Mehrfachauswahl zulasse.

varFileNames wird dann zu einem Array und die Boolean-Abfrage passt nicht dazu. Ab dann kommt die Fehlermeldung "Typen unverträglich". Aber nur bei Zulassung der Mehrfachauswahl, sonst läuft der Code.

varFileNames = Application.GetOpenFilename("All Files,.", 1, "Select a file", , True)

Mal auf eventuelle Lösungen gespannt.
Thomas

  

Betrifft: AW: Application.GetOpenFilename von: ChrisL
Geschrieben am: 11.11.2014 11:05:27

Hi Thomas

Ich würde isArray() verwenden...

Sub t()
Dim varFileNames As Variant
varFileNames = Application.GetOpenFilename("All Files,.", 1, "Select a file", , True)
If IsArray(varFileNames) Then
    If UBound(varFileNames) = 1 Then
        MsgBox "eine Datei"
    Else
        MsgBox "mehrere Dateien"
    End If
Else
    MsgBox "Abbruch"
End If
End Sub

cu
Chris


  

Betrifft: AW: Application.GetOpenFilename von: Thomas_W
Geschrieben am: 11.11.2014 11:10:15

Hallo Chris,
vielen Dank, Deinen Text habe ich jetzt erst gesehen - wir sind aber unabhängig zu einem grundsätzlich gleichen Ergebnis gekommen. Vielen Dank nochmal.
Thomas


  

Betrifft: AW: Application.GetOpenFilename von: Thomas_W
Geschrieben am: 11.11.2014 11:07:45

Hat sich erledigt. Über

If VarType(varFileNames) <> vbBoolean Then .....


frage ich den Variablentyp ab und damit komme ich weiter. Ob das so gewollt ist lasse ich mal offen, Hautsache es läuft.

Gruss
Thomas