Herbers Excel-Forum - das Archiv

Datei über InputBox aufrufen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Datei über InputBox aufrufen
von: Korl

Geschrieben am: 27.02.2005 17:14:16
Hallo,
ich möchte meine Rechnungsliste etwas komfortabeler gestalten. Die Rechnungen wurden mit der Rechnungsnummer als Dateiname &.xls in einem Ordner abgespeichert.
Nun kommt es manchmal vor, dass ich eine Rechnung nachträglich aufrufen muß.
Diese Funktion würde ich gerne mit einer InputBox erledigen wollen, indem ich dort die Rechnungsnummer eintrage, den Dateityp ".xls" automatisch angehängt wird um dann die Datei aus folgendem Ordner aufzurufen!
Sub Datei_aufrufen()
' Datei_aufrufen Makro
' Makro am 27.02.2005 von Korl aufgezeichnet
ChDir "C:\Programme\Test\Archiv"
Workbooks.Open Filename:= _
"C:\Programme\Test\Archiv\           "Variable"      &.xls", UpdateLinks:=3
End Sub

Falls die Rechnung nicht vorhanden, dann eine "MsgBox("Rechnung nicht vorhanden!")" anzeigen lassen.
Könnte da jemand vielleicht helfen?
Gruß Korl
Bild

Betrifft: AW: Datei über InputBox aufrufen
von: Ramses
Geschrieben am: 27.02.2005 17:17:37
Hallo
Probier mal
Sub OpenFile()
Dim str As String
str = Application.GetOpenFilename
If stgr = "Falsch" Then
Debug.Print "NIX"
Else
Debug.Print str
'Workbooks.Open str
End If
End Sub

Gruss Rainer
Bild

Betrifft: Korrektur
von: Ramses
Geschrieben am: 27.02.2005 17:18:42
Hallo
Sorry, ... anstelle von
If stgr = "Falsch" Then
muss es natürlich
If str = "Falsch" Then
heissen.
Gruss Rainer
Bild

Betrifft: AW: Korrektur
von: Korl
Geschrieben am: 27.02.2005 17:48:09
Hallo Ramses,
danke für Deine Hilfe.
Der Code arbeitet, aber führt mich immer zu den Ordner der "zuletzt" geöffnet wurde.
Gruß Korl
Bild

Betrifft: AW: Korrektur
von: Ramses

Geschrieben am: 27.02.2005 18:43:59
Hallo
... ja und nun ?
Du wolltest doch dass der Benutzer die Datei suchen kann.
Wenn du nicht weisst wo die Datei liegt, welchen Ordner willst du dann vorschlagen ?
Hier eine Variante. Der Pfad muss existieren. Nur die Laufwerksangabe funktioniert nicht.
Sub OpenFile()
Dim myFile As String
'Verzeichniswechsel
ChDir ("C:\Verzeichnis")
myFile = Application.GetOpenFilename
If myFile = "Falsch" Then
Debug.Print "NIX"
Else
Debug.Print myFile
'Workbooks.Open str
End If
End Sub

Gruss Rainer
Bild

Betrifft: AW: Datei über InputBox aufrufen
von: Nepumuk
Geschrieben am: 27.02.2005 17:26:17
Hallo Rainer,
Str solltest du nicht verwenden. Siehe Str-Funktion
Gruß
Nepumuk
Bild

Betrifft: Mea Culpa :-)
von: Ramses
Geschrieben am: 27.02.2005 17:31:39
Hallo Nepumuk
In the heat of the night :-)
Danke. Nicht aufgepasst.
Ich glaube, ich wollte eigentlich auch "datStr" schreiben :-)
Gruss Rainer
Bild

Betrifft: AW: Datei über InputBox aufrufen
von: Josef Ehrensberger
Geschrieben am: 27.02.2005 17:19:09
Hallo Korl!
Noch komfortabler und ohne gefahr von Schreibfehlern, geht das
mit "GetOpenFilename"
Warte fünf Minuten und ich mach dir ein beispiel!

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: zu Spät, aber trotzdem ;-)
von: Josef Ehrensberger

Geschrieben am: 27.02.2005 17:22:56
Hallo Korl!


Sub Datei_aufrufen()
Dim myFile As String
ChDir "C:\Programme\Test\Archiv"
    
myFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlt; *.xla)," & _
"*.xls; *.xlt; *.xla")
    If myFile = "Falsch" Then Exit Sub
Workbooks.Open Filename:=myFile, UpdateLinks:=3
End Sub

     Code eingefügt mit Syntaxhighlighter 3.0

Gruß Sepp
Bild

Betrifft: Ja Sepp, so funktioniert es auch! Danke o.T.
von: Korl
Geschrieben am: 27.02.2005 17:54:00
.
 Bild
Excel-Beispiele zum Thema "Datei über InputBox aufrufen"
In eine InputBox eingegebene Daten in Elemente aufteilen Laufwerk über InputBox auswählen
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen Über InputBoxes Zeile und Spalte auswählen und Ergebnis nennen
Mit InputBoxes Zeilennummern abfragen und Summe bilden Suchbegriff über InputBox abfragen und Fundzeile löschen
Druckstart- und endzeilen über InputBox abfragen Msg- und InputBoxes kombinieren und nach Ergebnis verzweigen
Über InputBox festzulegenden Bereich kopieren Numerische InputBox-Werte fortlaufend in eine Spalte eintragen