Mail mit kursivem Text aus Applescript

Hallo,

ich möchte aus Ragtime eine Mail erzeugen, in der ein Absatz des Textes kursiv und fett dargestellt wird.

Mit welcher Funktion kann man dies erreichen?

Besten Dank.

Viele Grüße
Hans-Jörg

Re: Mail mit kursivem Text aus Applescript

#12380 On 25 April, 2017 13:02 admin said,

Das wird nicht gehen. Ich kann in RagTime z.B. eine Verknüpfung erzeugen, die dann eine Mail schreibt. Die URL dazu wäre dann

mailto:m.mustermann@domain.de?subject=Hier%20steht%20der%20Betreff&body=Hallo,%0D%0A%0D%0Ahier%20_steht_%20die%20Nachricht.

oder auch per AppleScript

set theLink to "mailto:m.mustermann@domain.de?subject=Hier%20steht%20der%20Betreff&body=Hallo,%0D%0A%0D%0Ahier%20_steht_%20die%20Nachricht."

open location theLink

Wichtig ist hierbei, dass das Format der URL abhängig vom Mail-Client ist. Diese Variante geht mit Apple Mail und Thunderbird. Wie es mit anderen Programmen aussieht kann ich nicht sagen, da werden wohl Änderungen fällig.

Wichtig ist hier das "%"-Escape von Sonderzeichen inkl. Leerzeichen, also
%20 = Leerzeichen
%0D%0A = Neue Zeile
usw.

Nur kann man auf diese Art keine Formatierung erreichen. Dazu wäre dann ein vom Mailprogramme abhängiges bearbeiten der Mail nötig.

Alternativ könnte man sicherlich Texte aus RagTime nehmen und direkt ohne den Link eine neue Mail via AppleScript erzeugen. Dazu findet man einiges via Internet suche nach "Applescript create formatted mail".

Thomas Eckert
RagTime Support

Re: Mail mit kursivem Text aus Applescript

#12381 On 25 April, 2017 22:05 H. Steffes said,

Ich wollte das über AppleScript programmieren.
Das Mail-Script hierzu läuft bereits problemlos.

Eine scheinbar sehr einfache Lösung könnte man vielleicht mit den escape sequences erreichen. So kann man z.B. mit "\n" eine neue Zeile erstellen.
Mit "\e[3m" kann man kursiv einstellen. Leider gibts da aber mit AppleScript eine Fehlermeldung. Wird also so nicht unterstützt.

Viele Grüße
Hans-Jörg

Re: Mail mit kursivem Text aus Applescript

#12382 On 26 April, 2017 07:49 admin said,

Und wie wäre es mit "normalen" Zeichen?
Man könnte ja Zeichen wie "#" oder "_" in den Text einbauen, die dann im Mail-Skript gesucht werden und dann der Text kursiv oder fett gesetzt wird. Die Escape-Zeichen sind wohl eher für die Shell…

Thomas Eckert
RagTime Support

Re: Mail mit kursivem Text aus Applescript

#12383 On 27 April, 2017 19:16 werkwelt said,

Ich hab's nun!

Mein AppleScript ist noch nicht in RagTime eingebaut. Es wird noch vom Skript-Editor aus gestartet.

Dann ruft es RagTime auf und kopiert dort den vorbereiteten Text mit Auszeichnungen (schräg/italic, fett/bold, Textgröße, Font, Textfarbe). Dann erzeugt es in Mail.app ein neues E-Mail und geht in den Textbereich/Body. Dort fügt es den vorher kopierten Text ein. Er sieht so aus wie vorher in RagTime.

Was will man mehr?
Ich will nicht verschweigen: Es wird GUI-Scripting verwendet.
Besteht noch Interesse? Ich lade dann Musterdateien und Skript mit hoch.

RagTime, FileTime, FileMaker, AppleScript, Spell Catcher X, Zeichenmaschine, SVG und der Arc FritzSchreiber geben Flügel.

Mit freundlichen Grüßen,
Norbert Lindenthal

Re: Mail mit kursivem Text aus Applescript

#12384 On 30 April, 2017 14:30 H. Steffes said,

Hallo Norbert,

danke für Deine Tests. Das klingt sehr gut.
Hab versucht es in meinem Script einzubauen. Es wird jedoch keine Formatierung aus der Zelle übernommen. Mein Script wird über einen Button aus Ragtime gestartet.

Kannst Du das Script hochladen? Mit GUI-Scripting habe ich mich noch nicht beschäftigt.

Viele Grüße
Hans-Jörg Steffes

Re: Mail mit kursivem Text aus Applescript

#12386 On 30 April, 2017 18:10 werkwelt said,

Moin, Hans-Jörg,

hier mein AppleScript:

tell application "RagTime 6.5"
    activate
    select text of contents of text flow "Text 1" of document 1
    tell application "System Events"
        keystroke "c" using {command down} -- Text: Auswahl in Zwischenablage kopieren
    end tell
end tell
tell application "Mail"
    activate
    set meinEmail to (make outgoing message)
    -- set content of meinEmail to the clipboard -- Auszeichnungen gehen verloren
    tell application "System Events"
        key code 48 -- weiter vom Kopf bis zum "content"
        key code 48 -- weiter vom Kopf bis zum "content"
        key code 48 -- weiter vom Kopf bis zum "content"
        keystroke "v" using {command down} -- einsetzen aus der ZA mit Auszeichnung
    end tell
end tell

Ein neues RT-Layout mit Deinem Text mit schrägem Text (oder farbigem, fettem, großem, mit besonderer Schrift) kannst Du Dir selber erzeugen. Du mußt dann ja noch etwas abwandeln, damit der E-Mail-Text aus Deiner Rechenblattzelle kommen kann.

RagTime, FileTime, FileMaker, AppleScript, Spell Catcher X, Zeichenmaschine, SVG und der Arc FritzSchreiber geben Flügel.

Mit freundlichen Grüßen,
Norbert Lindenthal

Re: Mail mit kursivem Text aus Applescript

#12388 On 1 Mai, 2017 13:34 H. Steffes said,

Hallo Norbert,

funktioniert im Prinzip genau wie es soll - die kursive Formatierung bekommt man gut hin.
Allerdings springt das Script mit den Key Codes per Tab zwar in das Text-Feld der Mail, allerdings kann man so nicht steuern, daß der neue Text sich an den bestehenden hinten anfügt.
Wenn man den content per Script setzt, wird der bisherige Inhalt komplett überschrieben.

Ich werde versuchen was anderes zu probieren - leider fehlt mir Basiswissen zu Apple Script.

Viele Grüße
Hans-Jörg Steffes

Re: Mail mit kursivem Text aus Applescript

#12389 On 1 Mai, 2017 13:57 werkwelt said,

Moin, Hans-Jörg,

Deinen endgültigen E-Mail-Text könntest Du woanders, also vorher in RagTime, zusammenrechnen.
 

RagTime, FileTime, FileMaker, AppleScript, Spell Catcher X, Zeichenmaschine, SVG und der Arc FritzSchreiber geben Flügel.

Mit freundlichen Grüßen,
Norbert Lindenthal

Re: Mail mit kursivem Text aus Applescript

#12392 On 7 Mai, 2017 17:26 H. Steffes said,

Die direkte Lösung ist ein Einzeiler:

set font of paragraph zeile_kursiv to "Helvetica Oblique"

Viele Grüße
Hans-Jörg

Re: Mail mit kursivem Text aus Applescript

#12393 On 8 Mai, 2017 18:34 werkwelt said,

Moin, Hans-Jörg,

Deinen "Einzeiler" wendest Du innerhalb RagTime oder in Mail.app an?
Wenn Du die ganze Lösung nun hast, könntest Du sie mal ganz hier posten?

Mit freundlichen Grüßen,
Norbert Lindenthal

Re: Mail mit kursivem Text aus Applescript

#12394 On 9 Mai, 2017 20:54 H. Steffes said,

Hallo,

das Script wird aus Ragtime per Knopf gestartet und gibt die Werte an Mail weiter. Der Mail-Teil sieht so aus:

tell application "Mail"
activate

set MeinLokalerPfad to "System:users:tibook:"
set mypath to "System:Anhang.pdf"
set subj to "Betreff"
set body to "Inhalt\n\n\nText fett & kursiv"
set receiver to "Empfänger"
set logo_zeile to 10
set zeile_fett to 4

set theSignature to first item of (signatures where (name of it) = "E-Mail-Exporter")
set iCloudLogo to "Library:Mobile Documents:com~apple~CloudDocs:Ragtime-Server:Logo-Mail-Signatur.png"
set iCloudLogo to MeinLokalerPfad & iCloudLogo

set theMessage to make new outgoing message ¬
with properties {visible:true, subject:subj, content:body}

tell theMessage
make new to recipient at end of to recipients ¬
with properties {address:receiver}

set message signature to theSignature
make new attachment with properties {file name:iCloudLogo as alias} ¬
at after paragraph logo_zeile --- Signatur-Logo
make new attachment with properties {file name:mypath as alias} ¬
at after last paragraph --- ANHANG

set font of paragraph zeile_fett to "Helvetica Bold Oblique"

end tell
end tell

Re: Mail mit kursivem Text aus Applescript

#12379 On 25 April, 2017 12:52 werkwelt said,

tell application "Mail"
make outgoing message
end tell

Moin, Hans_Jörg,

das wäre mal ein Anfang.
Im AppleScript-Befehlsverzeichnis für Mail.app siehst Du weitergehende Befehle zum Ausfüllen vom Empfänger und so weiter.

RagTime, FileTime, FileMaker, AppleScript, Spell Catcher X, Zeichenmaschine, SVG und der Arc FritzSchreiber geben Flügel.

Mit freundlichen Grüßen,
Norbert Lindenthal