Bug in Excel 2003 VBA - Multiselect bei GetOpenFilename

16/07/2009 - 11:09 von JogyB | Report spam
Hallo.

Ich denke, ich habe einen Bug im VBA von Excel 2003 gefunden.

Zum nachvollziehen des Fehlers folgender Code:

Sub MultiSelect()
Dim daTei

daTei = Application.GetOpenFilename(, , , , True)
MsgBox IsArray(daTei)

End Sub

Laut Dokumentation gibt wird ein Array of String zurückgegeben, wenn etwas
ausgewàhlt wurde, es müßte in der Messagebox also WAHR erscheinen (auch wenn
nur eine Datei ausgewàhlt wurde). Dies funktioniert in aller Regel auch wie
beschrieben.

Befindet sich jedoch auf dem aktiven Arbeitsblatt eine bedingte Formatierung
mit der Bedingung "Formel ist" und dort dann eine beliebige IST-Funktion oder
eine der Funktionen NICHT, UND bzw. ODER dann kann ich zwar mehrere Dateien
auswàhlen, die Rückgabe ist jedoch FALSCH. Es handelt sich also um keinen
Array, sondern um einen String, in dem nur die erste Datei steht.

Ob noch weitere Funktionen betroffen sind kann ich nicht sagen. Wichtig zum
Nachvollziehen ist, dass das Arbeitsblatt mit der bedingten Formatierung
aktiv ist. Auf einem nicht-aktiven Arbeitsblatt (auch wenn das Aktive in
derselben Arbeitsmappe liegt) hat diese Formatierung keinen Einfluss auf den
Code.

Ich kann den Fehler auf diversen Rechnern mit verschiedenen
Excel-Sprachversionen in verschiedenen Umgebungen reproduzieren. Die Version
die ich gerade hier habe hat die Versionsnummer 11.8307.8221 (ist nach
Aussagen der IT eine Multilingual mit deutschem GUI).

Ich hoffe, ein MS-Mitarbeiter sieht das und gibt es weiter. Eine andere
Möglichkeit des Bugreports scheint es ja nicht zu geben (zumindest habe ich
keine gefunden).

Gruss, Jogy
 

Lesen sie die antworten

#1 Andreas Killer
16/07/2009 - 12:16 | Warnen spam
On 16 Jul., 11:09, JogyB wrote:

    daTei = Application.GetOpenFilename(, , , , True)
    MsgBox IsArray(daTei)


...
Befindet sich jedoch auf dem aktiven Arbeitsblatt eine bedingte Formatierung
mit der Bedingung "Formel ist" und dort dann eine beliebige IST-Funktion oder
eine der Funktionen NICHT, UND bzw. ODER dann kann ich zwar mehrere Dateien
auswàhlen, die Rückgabe ist jedoch FALSCH. Es handelt sich also um keinen
Array, sondern um einen String, in dem nur die erste Datei steht.


Kann ich auch für XL2000 bestàtigen.

Andreas.

Ähnliche fragen