Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA Textdatei zeilenweise schreiben

Frage Entwicklung VB for Applications

Mitglied: alex-tech

alex-tech (Level 1) - Jetzt verbinden

07.04.2011 um 09:39 Uhr, 23284 Aufrufe, 8 Kommentare

VBA Textdatei zeilenweise schreiben mit Schleife

Hallo,

ich erstelle aus Excel/VBA eine Textdatei und schreibe was rein, soweit funktioniert das auch. Aber jetzt möchte ich mit einer Schleife ein sich ändernder String nacheinander in die zeilen schreiben:

Funktioniert:

Open Textdatei.txt For Output As #1

Print #1 String

Close #1


So soll es sein:

Open Textdatei.txt For Output As #1

For i = 1 to 10

Print #1 String ' Schreibe in Zeile(i)

String = irgendwas
Next

Close #1


Geht das Irgendwie?

Kann mir jemand helfen?


Vielen Dank im Voraus.


Viele Grüße,

alex
Mitglied: bastla
07.04.2011 um 10:33 Uhr
Hallo alex-tech!

Woher bekommst Du denn Deine sich ändernden Strings (weil 10 x "irgendwas" in der Textdatei ist vermutlich auch nicht im Sinne des Erfinders)?

Grüße
bastla
Bitte warten ..
Mitglied: alex-tech
07.04.2011 um 10:42 Uhr
Der String ist nur als Beispiel. Der String wird an anderer Stelle mit der Split funktion aus mehreren Zellen in der Exceltabelle zusammengesetzt. In der Schleife werden dann noch weiter daten wie Uhrzeiten hinzugefügt.

Das funktioniert auch, nur das in meiner Textdatei immer nur der letzte Schleifendurchgang in der ersten Zeile der Textdatei steht.
Bitte warten ..
Mitglied: bastla
07.04.2011 um 11:23 Uhr
Hallo alex-tech!

Abgesehen davon, dass ich zuerst den Wert zuweisen und dann ausgeben würde, sehe ich eigentlich kein Problem ...
01.
Open "D:\Textdatei.txt" For Output As #1 
02.
 
03.
For i = 1 To 10 
04.
    strString = "irgendwas " & i 
05.
    Print #1, strString ' Schreibe in Zeile(i) 
06.
Next 
07.
Close #1
Grüße
bastla

P.S.: Da Du vermutlich schon danach gesucht hast: Codeformatierung
Bitte warten ..
Mitglied: alex-tech
07.04.2011 um 13:22 Uhr
Danke,

aber wenn er das zweite Mal die Schleife durchläuft, überschreibt er ja die Ausgabe der ersten. Er soll aber die zweite Ausgabe in die nächste Zeile setzten.
Bitte warten ..
Mitglied: vossi31
07.04.2011 um 14:39 Uhr
Hallo alex-tech,

so wie bastler es schreibt muss es funktionieren.
Vielleicht hast du kein Schreib/Löschrecht und guckst dir immer die gleiche (alte) Ausgabedatei an.

Henning
Bitte warten ..
Mitglied: alex-tech
08.04.2011 um 13:18 Uhr
Mmh, nein, ich erzeuge diese textdatei ja auch erst mit dem Open Befehl.
Irgendwie muss ich dem Print doch sagen in welche Zeile er den Strring Schreiben soll.

Ich habe da den Befehl Printline gefunden, weiß aber nicht so genau wie ich den einsetzen muss und ob das überhaupt damit geht.

Gruß
Bitte warten ..
Mitglied: vossi31
08.04.2011 um 14:45 Uhr
Das Programm von bastler macht genau das was du haben willst.

"Printline" kennt mein Excel2000/VBA nicht. Es gibt außer "print#" noch "write#" - das wird dir aber nicht helfen, da du in deinem Gesamtablauf einen Fehler haben wirst. Kannst ja mal den Debugger einschalten oder poste mal dein Programm.

Henning
Bitte warten ..
Mitglied: bastla
08.04.2011 um 15:00 Uhr
Hallo alex-tech!
Irgendwie muss ich dem Print doch sagen in welche Zeile er den Strring Schreiben soll.
Es wird einfach immer in die nächste Zeile geschrieben ...
Ich habe da den Befehl Printline gefunden
Es gibt für das "FileSystemObject" ein "WriteLine", was "Print#" entspricht, während "Write" eine Zeile ohne abschließende Zeilenschaltung erzeugt - also auch hier nicht: "Schreibe in die Zeile Nr x" ...
Wenn du etwas genauer beschreibst, was Du nun eigentlich wo in der Zieldatei haben möchtest, können wir ja an der passenden Ausgaberoutine "basteln" (obwohl ich - @vossi31 - meinen Nick nicht extra dafür ändern würde ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

Basic
gelöst IE im Private Mode per VBA öffnen und URL Übergeben (3)

Frage von thomas1972 zum Thema Basic ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (10)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...

Windows Server
gelöst Wechsel von Server 2016 GUI auf Core mit minimal server interface (10)

Frage von Fruehling2017 zum Thema Windows Server ...