🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Zeile an Datei anhängen

Alles zur Programmierung im LibreOffice.
Antworten
xundeenergie
Beiträge: 32
Registriert: Do 20. Jun 2013, 17:46

Zeile an Datei anhängen

Beitrag von xundeenergie » Do 27. Mär 2014, 20:29

Hi!

Ich möchte gerne aus einem Macro heraus in einem CSV-File einen Statistik erarbeiten. Das bedeutet, jedesmal, wenn das Makro aufgerufen wird, soll beim Statistik-File eine Zeile angehängt werden.

Auf der Unix-Shell würde ich das mit

Code: Alles auswählen

echo "$sSTAT" >> Statistik.csv
erledigen

Für die Makros unter Libreoffice hab ich bisher nur folgendes gefunden

Code: Alles auswählen

   if FILEEXISTS (sStatIndexUrl) = true then
      i = FreeFile()
      Open sStatIndexUrl For Output As i
      Print #i, sStat
      Close #i
   end if
Was aber jedesmal das ganze File überschreibt.

Wie mache ich es richtig?

lg xundeenergie
LibreOffice
Version: 4.1.4.2 Build-ID: 410m0(Build:2) auf Debian Wheezy mit Backports

xundeenergie
Beiträge: 32
Registriert: Do 20. Jun 2013, 17:46

Re: Zeile an Datei anhängen

Beitrag von xundeenergie » Fr 28. Mär 2014, 00:19

Ich hab es jetzt so gelöst:

Code: Alles auswählen

	Dim sLine$
	Dim sZeile$

	if FILEEXISTS (sStatIndexUrl) = true then
		iNumber = FreeFile()
		Open sStatIndexUrl For Input As #iNumber
		While not eof(#iNumber)
		REM - Hier fehlt noch der Vergleich mit bereits bestehenden Zeilen
			Line Input #iNumber, sZeile
			if sLine <> "" then
				sLine = sLine & chr(13) & sZeile
			else
				sLine = sZeile
			end if
		wend
		Close #iNumber
		Open sStatIndexUrl For Output As #iNumber
		REM - Hier fehlt noch der Vergleich mit bereits bestehenden Zeilen
		If sLine <> "" then
			Print #iNumber, sLine & chr(13) & sStat
		else
			Print #iNumber, sStat
		end if
		Close #iNumber 
	end if
LibreOffice
Version: 4.1.4.2 Build-ID: 410m0(Build:2) auf Debian Wheezy mit Backports


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten