Anzeige
Archiv - Navigation
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehlermeldung 13, was nun oder wie denn?

Fehlermeldung 13, was nun oder wie denn?
13.04.2003 14:09:08
Reto
Hallo

Ich habe es jetzt mal so, aber es gibt mir einen LAufzeitfehler 13 Typen unverträglich. Was kann man da machen?

Also ich möchte keine Fehlermeldung, wenn das Öffnenfenster offen ist und ich Abbrechen betätige. Aber so funktioniert es auch nicht. Was nun ?

Selection:
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), *.txt", 1, _
"Bitte wähle die gewünschte .txt-Datei von DEINEM Verzeichnis aus ...", MultiSelect:=False)
If fileToOpen = False Then
MsgBox "Die Datei konnte wegen Benutzerabbruch nicht gespeichert werden!", vbOKOnly + vbCritical, "Speichern fehlgeschlagen"
Exit Sub 'Vorzeitiges Ende
Else
'Konvertierung
Workbooks.OpenText FileName:=fileToOpen, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False _
, Space:=False, Other:=True, OtherChar:="|", FieldInfo:=Array(Array(1, 1 _
), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)) ', _
TrailingMinusNumbers:=True

'Zeile 1-3 und die letzte Zeile löschen
Dim LoLetzte As Long
LoLetzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Rows(LoLetzte).Delete
Rows("1:3").Delete
End If

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 14:12:59
Knut

Als welchen Datentyp hast du fileToOpen deklariert?
Sollte Variant sein und dann erstmal den Rückgabetyp mit VarType prüfen, ist es Boolean, dann wuede nix ausgewählt.
Knut

Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 15:00:05
Reto

wurde als string deklariert.
Ich sehe du hast eine Vorstellung, wie das aussehen könnte, aber da habe ich zuwenig Erfahrung mit deklarieren und Rückgabewerten. Vielleicht kannst du das für mich optimieren,oder mindestens Infos geben. Bin im vornherein dankbar.

Gruss Reto

Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 16:04:39
Ramses

Hallo,

die einfachste Variante

If FileToOpen = "" Then

Gruss Rainer

Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 16:33:58
Reto

Hallo Rainer
das funktioniert auch nicht, denn jetzt kommt ein Laufzeitfehler 1004. Falsch.xls wurde nicht gefunden.
Bei Betätigung des Debbuggen wird die gesamte Konvertierung gelb markiert.
Gruss Reto

Anzeige
Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 16:49:19
Ramses

Hallo Reto,

habe gereade gesehen, dass du mit XP arbeitest.
Deine Code Anweisung ( Else... ) habe ich nicht getestet, aber der Rest funktioniert.

Ist ein klein wenig anders aufgebaut, nutzt dafür alle Vorteile von XP :-)



Sub A_Datei_wählen()
'Das muss in den Deklarationsbereich
Dim FileDlg As FileDialog
Set FileDlg = Application.FileDialog(msoFileDialogFilePicker)

'Dein bisheriger Code

Selection:
With FileDlg
    .Title = "Wählen Sie eine Datei oder mehrere aus"
    'Environ(25) ermittelt den Aktuellen Userpfad
    'Alternativ kann hier auch die Variable vom vorherigen
    'Dialog eingesetzt werden
    '.InitialFileName = Suchpfad
    .InitialFileName = Environ(25) & "\Eigene Dateien\"
    .Filters.Clear
    .Filters.Add "Nur Text Dateien", "*.txt", 1
    'Andere Filterauswahlen sind möglich
    'Die Zahl gibt die Position in der Auswahlbox an
    '.Filters.Add "CSV Dateien", "*.csv", 2
    .FilterIndex = 1
    .ButtonName = "Dateien öffnen"
    'AllowMultiSelect = True dann können mehrere Dateien gewählt werden
    .AllowMultiSelect = False
    'Hier werden nur kleine Symbole angezeigt
    '.InitialView = msoFileDialogViewSmallIcons
    .InitialView = msoFileDialogViewLargeIcons
    .Show
    If .SelectedItems.Count = 0 Then
        MsgBox "Sie haben keine Datei gewählt", vbCritical + vbOKOnly, "Dateifehler"
        Exit Sub
    Else
        'Konvertierung
        Workbooks.OpenText Filename:=fileToOpen, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=FalseTab:=False, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:="|", FieldInfo:=Array(Array(1, 1 _
        ), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1))
        'Zeile 1-3 und die letzte Zeile löschen
        Dim LoLetzte As Long
            LoLetzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
        Rows(LoLetzte).Delete
        Rows("1:3").Delete
    End If
End With
Set FileDlg = Nothing
End Sub 

     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

Anzeige
Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 17:35:57
Reto

Hallo Rainer
bei mir sind aber keine txt-dateien sichtbar.
Was mach ich falsch oder was muss ich ändern?

Gruss Reto

Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 17:48:00
Ramses

Hallo Reto,

dann gehe ich davon aus, dass keine txt-Dateien vorhanden sind.
Bei mir funktioniert es tadellos.

Ein kleiner Fehler ist mir noch aufgefallen, wenn du die gewählte Datei öffnen willst, geht es nicht, weil deine Variable noch drin steht. Es muss heissen:

Workbooks.OpenText Filename:=.SelectedItems(1), Origin:=xlWindows, _

Gruss Rainer

Re: Fehlermeldung 13, was nun oder wie denn?
13.04.2003 18:03:32
Reto

Mir ist aufgefallen, dass es mir allgemein nur Ordner anzeigt und keine Dateien.
Ich habe genügend .txt-Dateien im betreffenden Ordner. Aber sie werden nicht angezeigt.

Gruss Reto

Anzeige
Mein Fehler
13.04.2003 18:18:25
Reto

Sorry
Ich habe im Code bei Environ "\Eigene Dateien\" ausgeblendet und dann sind eben keine txt-dateien sichtbar. Das ist dumm.

Obwohl das für mich ist, habe ich da noch eine Interessenfrage.
Wie müsste das bei Office 97 oder so aussehen und warum?
Vielleicht hast du noch einwenig kostbare Zeit für diese Erklärung. Danke

Gruss Reto

Re: Mein Fehler
13.04.2003 18:42:39
Ramses

Hallo Reto,

die Anzeige in Office 97 ist grundsätzlich unterschiedlich, weil es diesen Dialogtyp dort nicht gibt.
Dort musst mit dem normalen FileDialog arbeiten.
Die Rückgabe des Dialogwertes dort musst du dann mit

If FileDialog_Anweisung = "" Then

abfangen.
Zum testen für eine O97 Anwendung musst du O97 installiert haben um es testen zu können. Es sind zuviele kleine Unterschiede zwischen 2000/XP um das einheitlich beantworten zu können.

Wenn du aber ein einheitliches Programm erstellen willst, kannst du die Version abfragen.

X = Application.Version
Select Case X
Case 8 'Office 97
Deine Anweisung für dieses Version
Case > 9
Deine Anweisung für diese Versionen
End Select


Gruss Rainer

Anzeige
Re: Mein Fehler
13.04.2003 23:02:03
Reto

Danke für deine Antworten. Deine Makro läuft bei mir tadellos. Merci nochmals.
Übrigens, aus welcher Gegend stammst du eigentlich(Schweiz)?

Ich war eben am grillieren, darum die späte Nachricht.

Gruss Reto

Re: Mein Fehler
14.04.2003 08:05:53
Ramses

Hallo Reto,

Ich bin 2 km vom geografischen Mittelpunkt der Schweiz entfernt :-)
... und nun schauen wir mal wie gut du die Schweiz kennst ;-))

Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige