Textdatei aus Formular öffnen

Hallo zusammen,

ich habe ein kleines Problem:

Ich möchte aus einem Formular heraus eine, einem Datensatz zugeordnete Text-Datei öffnen.
Kann ich den Pfad der Text-Datei in ein Textfeld eintragen und dann mit einem Button diese Text-Datei aufrufen/öffnen???

Wenn ja, wie???

Im voraus schon mal vielen Dank für die Hilfe.

Grüße
Walter Schwarz

Hallo Walter,

grundsätzlich: JA! Kein Problem! Die Frage ist nur, wie’s dann weitergehen soll.

Willst Du aus der Datei lesen?

Private Sub ÖffnenButton\_Click()
 Dim ZeileAusTextDatei As String
 Open Textbox1 For Input As #1
 Do While Not EOF(1)
 Line Input #1, ZeileAusTextDatei
 MsgBox ZeileAusTextDatei
 Loop
 Close #1
End Sub

Darin schreiben?

Private Sub SchreibenButton\_Click()
 Open Textbox1 For Append As #1
 Print #1, "neue Zeile in Datei"
 Print #1, "noch eine neue Zeile in Datei"
 Close #1
End Sub

Hier kannst Du statt „print“ auch „Write“ nehmen, wenn das Ergebnis in „“-Zeichen stehen soll. „Append“ hängt Daten an eine Datei an, stattdessen kann man auch „output“ nehmen, dann wird die Datei überschrieben!

Einfach mal ein bischen experimentieren und vielleicht die Frage etwas genauer stellen.

Gruß
(Woly)

Hallo Walter,

ich habe das so gelöst:

Shell "C:\WINNT\Notepad.exe " & """ & Me.PfadEinstellung & """, vbNormalFocus

wobei „C:\WINNT“ der Pfad ist, in dem NOTEPAD.EXE liegt und „ME.PfadEinstellung“ das Textfeld in Deinem Formular ist, wo der Pfad und der Dateiname (z. B. C:\Texte\Protokoll.Txt) eingetragen wird.

Da das Feld PfadEinstellung einen String liefern soll, werden die Gänsefüßchen gleich mit eingetragen (""" & Me.PfadEinstellung & „“").

3x " sieht blöd aus, ist aber nötig, da 1x " als String behandelt wird und deshalb selbst in Gänsefüßchen eingebunden werden muß.

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Woly,

vielen Dank für deine Antwort. Hier noch zur Vervollständigung:

In einem Textfeld „txt_Konfigdatei“ ist der Pfadname einer Text-Datei „Beispiel.txt“ eingetragen. In dieser Datei stehen Konfiguratuionsdaten zum jeweiligen Gerät.
Diese Datei soll auch nur angezeigt werden. Es soll nichts in ihr verändert werden.

Mit Hilfe eines Buttons „cmd_Konfigdatei“ soll die entsprechende Text-Datei geöffnet werden.

Ist es auch möglich, den Pfad der Text-Datei mit Hilfe des Explorers in das Textfeld zu übernehmen, also z.Bsp.:

Button „cmd_Dateiauswahl“ => öffnet Explorer
Text-Datei auswählen => wird in Textfeld „txt_Konfigdatei“ übernommen
Button „cmd_Konfigdatei“ => Text-Datei wird geöffnet

Würde mir wirklich sehr weiterhelfen, da noch ziemlicher Access-Anfänger.

Danke und Gruß

Walter

Hallo moritzbock,

danke für deinen Tip.
Ich hab das mal probiert, bekomme aber die Fehlermeldung:

Die Datei & Me.txt_Konfigdatei & kann nicht gefunden werden. Möchten Sie eine neue Datei erstellen?

(Me.txt_Konfigdatei ist meine textfeld in dem der Pfad steht.)

Was mache ich falsch?

Gruß
Walter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Sorry Walter,

war wohl doch nicht in dieser Form richtig :-[

Jetzt stimmt´s:

**Shell "C:\WINNT\Notepad.exe " & Me.PfadEinstellung, vbNormalFocus**

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke moritzbock - funktioniert jetzt prima.

Vielleicht auch an dich noch eine Zusatzfrage:

Funktioniert das auch, dass ich mit einem Button „cmd_Verzeichnis“ den Explorer öffne, die entsprechende Text-Datei auswähle und diese dann in das Textfeld „txt_Konfigdatei“ geschrieben wird??

Falls du einen Tip hast…

Gruß
Walter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Walter,

das geht ähnlich mit

shell "C:\WINNT\Explorer.exe C:\Texte",vbNormalFocus 

Hier mußt Du noch den Pfad ändern („C:\Texte“).

Dann kannst Du dort im Explorer den Dateinamen 2x anklicken (kein Doppelklick!) und, wenn der Name dunkel markiert ist mit STRG+C in die Zwischenablage kopieren und in Dein Feld mit STRG+V einfügen.

Aber autom. den Dateinamen kopieren - da bin ich jetzt überfragt.

gruss
moritzbock

Danke moritzbock - funktioniert jetzt prima.

Vielleicht auch an dich noch eine Zusatzfrage:

Funktioniert das auch, dass ich mit einem Button
„cmd_Verzeichnis“ den Explorer öffne, die entsprechende
Text-Datei auswähle und diese dann in das Textfeld
„txt_Konfigdatei“ geschrieben wird??

Falls du einen Tip hast…

Gruß
Walter

CommonDialog…
Hallo Walter,

was Du brauchst, ist ein sog. „CommonDialogControl“. Es stellt Dir einen Standard-Windows-Dialog für „Datei öffnen“ usw. zur Verfügung. Das geht dann so:

Zuerst musst Du das Steuerelement in Deine Toolbox einbauen. Dazu klickst Du im Entwurfsmodus des Formulars in der Symbolleiste „Toolbox“ auf das Icon „Weitere Steuerelemente“.
Wähle dort das „Microsoft Common Dialog Control“ aus und setze es in Dein Formular. Das Ding trägt dann den Namen „ActiveXStr0“ oder so. Benenn’ es besser um in „CommonDialog“.

Dann erstellst Du Dir einen Button „Durchsuchen…“ und nennst ihn „DurchsuchenCmd“. Die Textbox heisst in meinem Beispiel „PfadTxt“.

Dann der Code für den Button:

Private Sub DurchsuchenCmd\_Click()
 With CommonDialog
 .Flags = cdlOFNHideReadOnly
 .Filter = "(\*.txt)|\*.txt"
 .ShowOpen
 PfadTxt = .FileName
 End With
End Sub

So müsste es gehen; ich schick Dir das Beispiel per eMail zu…

Gruß
(Woly)

Nachtrag
wenn Du eine Fehlermeldung bekommst, ändere die Flags-Zeile ab:

.Flags = 4

(Woly)