• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[gelöst] String im Dateinnamen ersetzen beim Evernote-Import

MasterDomino

Roter Eiserapfel
Registriert
28.04.05
Beiträge
1.438
Hallo zusammen!

Ich habe einen Watchfolder erstellt, dh. ich habe per Ordneraktion konfigurieren ein Script an einen Ordner angefügt, das dafür sorgt, dass Dateien, die ich dort hineinlege automatisch zu Evernote hinzugefügt werden. (Das Script habe ich irgendwo vor geraumer Zeit gefunden, weiß gerade nicht mehr wo).

Dieses Script will ich nun so erweitern, dass es die Notiztitel so ändert, dass alle Unterstriche durch " - " ersetzt werden.

Jetzt habe ich folgenden Codeschnipsel gefunden, um einen Teil eines Strings durch einen anderen zu ersetzen:

on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
Ich bin relativ neu beim Thema Scripting, aber meinem Verständnis nach entspricht das ja einer Funktion bei z.B. JavaScript.

Ich versuche daher im folgenden Code die Funktion aufzurufen und zwar folgendermaßen:

set notetitle to replace_chars(" - ", "_", notetitle)
Evernote importiert zwar zunächst die Datei, bricht den Vorgang dann aber ab mit dem Hinweis:

Import into Evernote failed

Error(-1708): „Evernote“ hat einen Fehler erhalten: Fortfahren nicht möglich: replace_chars.

Worin liegt hier der Fehler? Habe ich irgendetwas falsch gemacht.
Wenn nötig, kann ich auch den ganzen Code posten, aber vielleicht genügt der kleine Schnipsel ja schon.

Vielen Dank im Voraus!

MD


P.S: Wie kann ich denn hier Code so formatieren, dass er nach Code aussieht?
 

MasterDomino

Roter Eiserapfel
Registriert
28.04.05
Beiträge
1.438
Gut, jetzt habe ich die Antwort selbst herausgefunden.

Da mein Script in ein tell-Statement eingeklammert war (also: tell application "Evernote") muss man an dieser Stelle entsprechend kenntlich machen, dass mein Befehl ein Teil des Scripts ist und nicht ein Befehl für (und somit von) Evernote.

Dazu muss einfach "of me" an die Zeile angehängt werden. Die Zeile lautet also schlicht:

set notetitle to replace_chars(" - ", "_", notetitle) of me
Dann funktioniert's. Die Erklärung hatte ich letztendlich auf dieser Seite gefunden:

http://stackoverflow.com/questions/11157547/error-number-1708-while-splitting-a-string
http://stackoverflow.com/questions/11157547/error-number-1708-while-splitting-a-string
Grüße, MD