Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Locke •->
Anmeldedatum: 18.05.2006 Beiträge: 3 Wohnort: Bregenz
|
Verfasst am: 18.05.2006 - 15:47 Titel: Umgewandelten Text in einer neuen Datei abspeichern - wie? |
|
|
Hallo Experten,
ich habe heute Urlaub genommen, sitze seit 9:00 Uhr an meinem ERSTEN Apple Script meines Lebens, bin funkelnagelneu im Forum und komme nun nicht recht weiter.
Es soll Exportdaten meines E-Banking in ein Format umwandeln, das mit Quicken 2003 auf meinem PC eingelesen werden kann. Die Umwandlung klappt schon recht gut. Leider gelingt es mir aber nicht, das Ergebnis in eine neue Textdatei abzuspeichern. Die mir zur Verfügung stehende Literatur hilft mir hier auch nicht weiter.
Kann mir von Euch bitte jemand helfen?
Gruß - Locke
-------------------------------------------------
nun das bisherige Script:
set Bankexport to choose file
tell application "TextEdit"
open Bankexport
set Dokument to text of first document
-- Ermittle die Anzahl der Buchungszeilen
set Anzahl to count paragraphs of Dokument
-- Variable zur Aufnahme des umgewandelten Textes
set Quickentext to ""
-- Zwischenspeichern des Standard-Trennzeichens
set olddelimiters to AppleScript's text item delimiters
-- Zeilenweise Umwandlung der von der Bank stammenden Buchungszeilen
-- Beginne mit zweiter Zeile (Erste Zeile enthaelt nur Spaltenbezeichnungen)
repeat with Zaehler from 2 to (Anzahl - 1)
-- die tabulatorgetrennten Spaltenelemente der Einzelzeilen des Ascii-Exportes der Bank werden voneinander getrennt
set Einzelzeile to paragraph Zaehler of Dokument as string
set AppleScript's text item delimiters to tab
set Quickentextzeile to every text item of Einzelzeile
(* Zeile liegt nun auf Einzeleintraege getrennt als Liste vor:
1. Auszugsnummer
2. Buchungsdatum
3. Valutadatum
4. Umsatzzeit
5. Swiftwaehrungscode
6. Buchungstext
7. Kundendaten
8. Umsatztexte
9. Betrag *)
-- Konvertierung des Datums (Item 2) von JJJJ-MM-TT in TT.MM.YY
set Tag to text 9 thru 10 of item 2 of Quickentextzeile
set Monat to text 6 thru 7 of item 2 of Quickentextzeile
set Jahr to text 3 thru 4 of item 2 of Quickentextzeile
set quicken_Buchungsdatum to "D" & Tag & "." & Monat & "." & Jahr as list
-- die benoetigten Eintraege werden mit den Quicken Ascii-Datenkennungen versehen
set Quicken_Betrag to "I" & item 9 of Quickentextzeile as list
set Quicken_Buchungstext to "L" & item 6 of Quickentextzeile as list
set Quicken_Umsatztext to "P" & item 8 of Quickentextzeile as list
-- Zusammenfassen der benoetigten Daten einer Zeile in eine Liste
set Quickentextzeile to quicken_Buchungsdatum & Quicken_Betrag & Quicken_Buchungstext & Quicken_Umsatztext
-- Listenelemente in zeilenumbruchgetrennte Textteile ueberfuehren (werden nun zum Datenblock "Quickentextblock")
set AppleScript's text item delimiters to return
set Quickentextblock to Quickentextzeile as string
-- umgewandelte Daten zum bisherigen Umwandlungsergebnis anhaengen
set Quickentext to Quickentext & Quickentextblock & return & "^" & return
end repeat
-- Standard-Trennzeichen restaurieren
set AppleScript's text item delimiters to olddelimiters
(* wie - verdammt noch mal - bekomme ich nun das Ergebnis "Quickentext" in eine neue Datei gespeichert? Das folgende Geschreibsel funktioniert nicht... *)
set text of first document to Quickentext -- Problem: zeigt zwar schon das Endergebnis, versaut aber die Originaldatei...
end tell |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 18.05.2006 - 23:57 Titel: |
|
|
naja, für's erste script bist du ja schon recht weit gekommen!!
so geht's (zieldatei bitte entsprechend ändern):
set Zieldatei to "HD2:blabla.txt"
try
open for access file Zieldatei with write permission
write Quickentext to file Zieldatei with replacing
close access file Zieldatei
on error
try
close access file Zieldatei
end try
end try
_________________ - anholn deit kriegen - |
|
Nach oben |
|
|
Locke •->
Anmeldedatum: 18.05.2006 Beiträge: 3 Wohnort: Bregenz
|
Verfasst am: 19.05.2006 - 00:30 Titel: |
|
|
Vielen Dank (für Lob und Tipp)
Es klappt! (sitze ja auch schon recht lange vor dem Problem)
Nun möchte ich auch beim Speichern ein angenehmes Dialogfeld erhalten. Da hänge ich schon wieder. Warum funktioniert mein Konstrukt (siehe unten Zeile 1) hier nicht aber Dein Vorschlag mit dem String für den Dateinamen (Zeile 2) schon?
Gruß Locke (schon etwas müde...)
Code: | set Zieldatei to choose file name with prompt "Name" default name ".qif"
set Zieldatei to "Macintosh HD:Users:heinz:Documents:Script-Projekte:test.qif" |
|
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 19.05.2006 - 00:49 Titel: |
|
|
na dann machs doch lieber so (du bist ja eh schon mit TextEdit am machen):
make new document
set text of document 1 to Quickentext
activate
save document 1
dann kommt der TextEdit dialog, wohin gesichert werden soll _________________ - anholn deit kriegen - |
|
Nach oben |
|
|
Locke •->
Anmeldedatum: 18.05.2006 Beiträge: 3 Wohnort: Bregenz
|
Verfasst am: 19.05.2006 - 08:55 Titel: |
|
|
Potz Blitz - gar viele Wege führen nach Rom!
Das klappt ja erfreulich gut. Die Datei kann aber nur als RTF, HTML,... und nicht TXT gespeichert werden, weil die Formatierung von TextEdit aktiv ist. Irgendwie müsste die doch zu knacken sein... (ich will ja niemandem zur Last fallen - aber falls ich hier nicht selbst die Lösung finde, werde ich nochmals nachfragen...)
Bisher war die Sache aber recht lehrreich - Vielen Dank!
Gruß - Locke (mit rot unterlaufenen Augen) |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 19.05.2006 - 09:57 Titel: |
|
|
so stellt man sich doch einen richtigen urlaubstag vor _________________ - anholn deit kriegen - |
|
Nach oben |
|
|
|