Microsoft Excel

Herbers Excel/VBA-Archiv

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

Bitte um Hilfe....

Betrifft: Bitte um Hilfe.... von: Mark
Geschrieben am: 25.08.2004 12:49:24

hallo...
Ich habe ein Verzeichnis mit hunderten von Dateien, die heißen alle so z.b. "23-07-2004.log".
ich schaffe es mit meinen VBA-programm eine Datei aus diesem Verzeichnis auszulesen...
aber, wenn ich z.b. in einer MsgBox eingebe,von "01.08-25.08.2004", dann soll das Programm diesen String so gestalten, dass er in dem Verzeichnis nach all den Dateien in diesem Zeitraum sucht und sie dann öffnet...
ich hoffe es ist einigermaßen deutliger...
ich danke im Voraus...

- mark

  


Betrifft: AW: Bitte um Hilfe.... von: Wolfgang
Geschrieben am: 25.08.2004 13:05:58

hi Mark,

kannst du mal ein Beispiel hochladen ?

Gruß
Wolfgang


  


Betrifft: AW: Bitte um Hilfe.... von: Mark
Geschrieben am: 25.08.2004 13:11:07

ja...klar

ich habe soetwas bis jetzt....

Sub Auslesen()
 Dim b As Integer
    b = MsgBox("Wollen Sie Daten von einen Tag sehen?", vbYesNo)
  If b = 6 Then
   Dim i As String
    i = InputBox _
     ("Geben Sie den gewünschten Datum ein!" & Chr(10) & "z.B.: 22-08-2004")
  If i = "" Then Exit Sub
   Dim textzeile As String

    Open "c:\Neu\" & i & ".log" _
    For Input As #1
     Do While Not EOF(1)
      Line Input #1, textzeile
      Selection.TypeText Text:=textzeile
      Selection.TypeParagraph
     Loop
    Close #1
     ElseIf b = 7 Then
      Dim j As String
       j = InputBox _
       ("Geben Sie den gewünschten Zeitraum ein!" & Chr(10) & "z.B.: 01-01-2004-31-01-2004")
       If j = "" Then Exit Sub
      Dim textzeile2 As String
  End If
  End Sub


ich hoffe, dass sagt euch was....


- Mark


  


Betrifft: AW: Bitte um Hilfe.... von: Andreas Walter
Geschrieben am: 25.08.2004 13:17:48

Du musst wie folgt vorgehen
A) aus der Eingabe z.B. 01-01-2004-31-01-2004
zwei Datum herausfinden
(Es wäre einfacher zwei Fragen zu haben "von?" und "bis?")
dann hast Du zwei Variablen die ein "von-Datum" und ein "Bis-Datum" beinhaltem
B) Du musst z.B. mir DIR() alle Dateien im verzeichnis Datei nach Datei die Nmaen ansehen. Aus jedem Dateinamen muss Du das Datum in herausholen und in internes Datumformat umwandlen
C) dieses Datum vergleichst Du mit "von-Datum" und "Bis-Datum". Wenn das Datum bzw. die Datei daziwshcen liegt, musst Du diese bearbeitet=ausgeben.

(Du hast noch eine Stück Arbeit vor Dir - oder du musst auf jemand hoffen, der Dir das ganze programmiert. Daher stelle ich die Frage als "offen")


  


Betrifft: AW: Bitte um Hilfe.... von: Hans W. Hofmann
Geschrieben am: 25.08.2004 13:28:59

Wenn man von einer Fehlerbehandlung mal absieht dann etwa so
Sub lesen()
Dim varInput
Dim Start As Date, Ende As Date
varInput = InputBox("Datumsbereich z.B.: 01.01.04-10.10.04")
varInput = Split(varInput, "-")
Start = DateValue(varInput(0))
Ende = DateValue(varInput(1))
While Start < ende

'open mit Fehlerbehandlung wenn Datei nich da
'Das ganze Selection Zeugs ist aber auch net ausgereift

Start = Start + 1
Wend

End Sub


Gruß HW


  


Betrifft: AW: Bitte um Hilfe.... von: Mark
Geschrieben am: 25.08.2004 13:43:59

Danke Hans, jetzt kann ich zumindest in eine richtung basteln, falls jemand noch eine Idee weiß, nur her damit ;-)

Für alle Ideen bedanke ich mich....

-Mark