Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Hallo Peter, hallo Scripter-Foren-User - Email: ENTOURAGE ó>

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Christian
•->
•->


Anmeldedatum: 01.05.2002
Beiträge: 5
Wohnort: Schweiz

BeitragVerfasst am: 01.05.2002 - 13:28    Titel: Hallo Peter, hallo Scripter-Foren-User - Email: ENTOURAGE ó> Antworten mit Zitat

Hallo Peter, hallo Scripter-Foren-User

Mein Problem sieht wie folgt aus:

Um Daten aus Mail-Formularen (Entourage) weiterverarbeiten zu können, z.B. mit der Adressse ein Serien-Brief zu schreiben, brauche ich ein Skript, welches mir die Daten ausgesondert in FileMaker übernimmt.

Kann mir jemand helfen?


MEINE ERHALTENEN FORMULARE SEHEN WIE FOLGT AUS (DIE ZEILEN MIT EINEM * MÜSSEN NICHT BEANTWORTET WERDEN; DANN ERSCHEINEN SIE ALLERDINGS AUCH GAR NICHT AUF DEM MAILFORMULAR):

Below is the result of your feedback form.  It was submitted by
(email@email.com) on Monday, April 29, 2002 at 07:17:16
---------------------------------------------------------------------------

1: Probeexemplar

Anrede: Herr

Name: Muster

Vorname: Uwe

Strasse-Nr.: Beispielstraße 16

*Adresszusatz: Zweite Zeile für Adresse

PLZ: 88888

Ort: Irgendwo

Land: Deutschland

Email: mail@mail.ch

*Telefon:

*Ihre Mitteilung:

*Seitenbewertung: gut

*Kontakt: durch Freunde

---------------------------------------------------------------------------

REMOTE_ADDR: 888.88.888.888
HTTP_USER_AGENT: Mozilla/4.73 [de] (Win98; U)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 01.05.2002 - 16:10    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hallo Christian,

jetzt sind wir ja schon ganz schön weit von "Die ersten 7 Zeilen aus einem Word-Dokument löschen" entfernt. Wink

Um eMails von Entourage nach FileMaker Pro zu transferieren, solltest du dir das Skript "Crevier Archive 7.0" von Allan Watson genauer ansehen.

ftp://carolshosting.com/central/as-en/crevierarchive.hqx

Um zu verstehen, was in dem Skript genau vor sich geht, würde ich dir auch empfehlen, das MacScripter's Magazine 5 (dt.) herunter zu laden. In dieser fünften Ausgabe ging es genau um das Thema "eMail -> FMP". Im Magazin selbst wird Outlook Express behandelt. Vom Scripting her ist das kein großer Unterschied zu Entourage.

Da du die Daten eines Webformular auswerten willst, wird die Sache natürlich wesentlich schwieriger.

Bei den normalen Archivierungs-Lösungen landet ja immer der gesamte Message-Text in einem FileMaker-Feld. eMail-Adresse, Name usw. werden z.B. so ausfindig gemacht:

tell application "Microsoft Entourage"
set msgList to selection of window 1
repeat with theMsg in msgList
set eMailAdress to sender of theMsg
set senderName to (display name of eMailAdress)
set messageBody to content of theMsg
end repeat
end tell


In deinem Fall sind aber alle wichtigen Angaben im Nachrichtentext selbst enthalten und müssen daraus extrahiert werden.

Bevor die Daten an FileMaker Pro weitergeleitet werden, muss die komplette Message zerlegt sein und die einzelnen Daten müssen sich in den entsprechenden Variablen befinden.

Ich habe mit diesem Thema schon experimentiert und bin bisher zu folgendem Lösungsweg gekommen:

Du suchst die Position eines "Feldnamens" im Text und zählst dazu die Anzahl der Buchstaben des Feldnamens. Danach muss ja wohl der Inhalt des Feldes beginnen und den brauchen wir.

Da aber nicht klar ist, wie lange der Inhalt ist, muss eine zweite Position festgestellt werden. Und zwar der Anfang des nächsten Feldnamens.

Hier ein Beispiel, das deinen obigen Text benutzt (Ich habe das Feld Mitteilung quasi ausgefüllt):

set myText to "Below is the result of your feedback form. It was submitted by
(email@email.com) on Monday, April 29, 2002 at 07:17:16
---------------------------------------------------------------------------

1: Probeexemplar

Anrede: Herr

Name: Muster

Vorname: Uwe

Strasse-Nr.: Beispielstraße 16

*Adresszusatz: Zweite Zeile für Adresse

PLZ: 88888

Ort: Irgendwo

Land: Deutschland

Email: mail@mail.ch

*Telefon:

*Ihre Mitteilung: Hier könnte ja was wichtiges stehen.

*Seitenbewertung: gut

*Kontakt: durch Freunde

---------------------------------------------------------------------------

REMOTE_ADDR: 888.88.888.888
HTTP_USER_AGENT: Mozilla/4.73 [de] (Win98; U)"


set MessageInhalt to ¨
(characters ((offset of "*Ihre Mitteilung" in myText) + 18) thru ¨
((offset of "*Seitenbewertung" in myText) - 3) of myText) as string



Lass das Skript einmal laufen und du wirst im Ergebnisfenster sehen, dass der Inhalt der Mitteilung richtig extrahiert wurde.

Die optionalen Felder in deinem Webformular machen die Sache natürlich nicht gerade leichter. Wenn wir bei dem Feld "Mitteilung" bleiben; Du musst den Fall abfangen, dass es gar nicht in der Mail auftaucht. Ebenso könnte es natürlich sein, dass dieses Feld zwar ausgefüllt wurde, das nächste aber nicht. So würde es einen Fehler geben, wenn nach dem offset-Wert des nächsten Feldes gesucht wird. Das muss also alles in try-Anweisungen eingebettet werden. Falls die Suche nach dem offset des nächsten Feldes fehlschlägt, muss das übernächste probiert werden. Wenn gar kein Feld mehr folgt, würde ich nach dem offset der gestrichelten Linie suchen lassen.

Es gibt also viele Eventualitäten einzukalkulieren.

Wenn alle Daten in ihren entsprechenden Variablen untergebracht sind, können sie an FileMaker Pro übergeben werden.

global Mitteilung

set myText to "Below is the result of your feedback form. It was submitted by
(email@email.com) on Monday, April 29, 2002 at 07:17:16
---------------------------------------------------------------------------

1: Probeexemplar

Anrede: Herr

Name: Muster

Vorname: Uwe

Strasse-Nr.: Beispielstraße 16

*Adresszusatz: Zweite Zeile für Adresse

PLZ: 88888

Ort: Irgendwo

Land: Deutschland

Email: mail@mail.ch

*Telefon:

*Ihre Mitteilung: Hier könnte ja was wichtiges stehen.

*Seitenbewertung: gut

*Kontakt: durch Freunde

---------------------------------------------------------------------------

REMOTE_ADDR: 888.88.888.888
HTTP_USER_AGENT: Mozilla/4.73 [de] (Win98; U)"


set Mitteilung to ¨
(characters ((offset of "*Ihre Mitteilung" in myText) + 18) thru ¨
((offset of "*Seitenbewertung" in myText) - 3) of myText) as string

tell application "Microsoft Entourage"
set windowClass to the class of window 1
-- see if a message window is front most
if windowClass is message window then
my TransferMessage(displayed message of the window 1)
else
-- act on selection
set msgList to selection of the window 1
set messageCount to count of msgList

repeat with theMsg in msgList
my TransferMessage(theMsg)
end repeat

end if
end tell

on TransferMessage(theMsg)
-- Im Ernstfall so:
(*
tell application "Microsoft Entourage"
set messageBody to content of theMsg
end tell
*)

-- zu Demo-Zwecken jetzt mal so:

set messageBody to Mitteilung

tell application "FileMaker Pro"
create new record at the end of layout 0 of database 1 with data messageBody
end tell
end TransferMessage

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 21:57, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Christian
•->
•->


Anmeldedatum: 01.05.2002
Beiträge: 5
Wohnort: Schweiz

BeitragVerfasst am: 01.05.2002 - 20:20    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hallo Peter

Das empfohlene Skript "Crevier Archive 7.0" funktioniert bei mir nicht. Ich erhalte stets den Fehler "You must open the email database before running this script"?

Ich habe erst von den obersten 7 Zeilen gesprochen, da die für mich relevanten Daten nur die Adresse betreffen. Alle Daten nach der Adresse sind für mich nicht von Bedeutung.

Vereinfacht dies die Lösung?

Gruss Christian


(Geändert von Christian um 22:32 Uhr am 1 Mai 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 01.05.2002 - 20:42    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hi Christian,

mit dem Skriptpaket wird auch eine Beispiel-Datenbank geliefert ("EmailArchive Template, Crevier"), die vor dem Skriptstart geöffnet werden muss. Dann kommt die Fehlermeldung nicht mehr.

Ich habe heute mal an meinem eigenen Skript gebastelt, da ich ja auch per Webformular generierte eMails in FileMaker speichern möchte. Allerdings habe ich im Formular alle Felder als benötigt deklariert. Irgendwas muss also in jedem Feld drinstehen - und wenn's auch nur Schmarrn ist.

Der entsprechende Skriptteil, in dem der Nachrichten-Inhalt zerlegt wird, sieht so aus:

tell application "Eudora"

set msgRef to a reference to message 0
set mybody to field "" of msgRef

considering case

set Strasse to ¨
(characters ((offset of "Strasse" in mybody) + 9) thru ¨
((offset of "Postleitzahl" in mybody) - 3) of mybody) as string

set Postleitzahl to ¨
(characters ((offset of "Postleitzahl" in mybody) + 14) thru ¨
((offset of "Wohnort" in mybody) - 3) of mybody) as string

set Wohnort to ¨
(characters ((offset of "Wohnort" in mybody) + 9) thru ¨
((offset of "Telefon" in mybody) - 3) of mybody) as string

set Telefon to ¨
(characters ((offset of "Telefon" in mybody) + 9) thru ¨
((offset of "Kontakt" in mybody) - 3) of mybody) as string

set Kontakt to ¨
(characters ((offset of "Kontakt" in mybody) + 9) thru ¨
((offset of "Vorgang" in mybody) - 4) of mybody) as string

set Vorgang to ¨
(characters ((offset of "Vorgang" in mybody) + 9) thru ¨
((offset of "Rubrik" in mybody) - 3) of mybody) as string

set Rubrik to ¨
(characters ((offset of "Rubrik" in mybody) + 8) thru ¨
((offset of "Anzeige" in mybody) - 4) of mybody) as string


set Anzeige to ¨
(characters ((offset of "Anzeige:" in mybody) + 9) thru ¨
(((last character in mybody) - 78))) of mybody as string
end considering


end tell

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 21:59, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Christian
•->
•->


Anmeldedatum: 01.05.2002
Beiträge: 5
Wohnort: Schweiz

BeitragVerfasst am: 01.05.2002 - 22:50    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hallo Peter

Um die ganze Sache möglichst einfach zu halten habe ich mir folgende Überlegungen gemacht.

1) in einem ersten Schritt werden die gewünschten Mails von Hand in einen Ordner kopiert

2) Anschliessend will ich diese mit einem Skript in eine einfache Excelliste importieren.

Gibt es da eine Mölichkeit wie folgt vorzugehen?
Befehl "Suchen" -> "Anrede: " anschliessend <Shift> + <Alt> + < ó> > anschliessend "Copy"
ins Excel wechseln
zur Richtigen Stelle hüpfen (?)
einsetzen
zurück und das nächste Feld holen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 01.05.2002 - 23:20    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Wozu denn jetzt ins Excel wechseln? Das eigentliche Problem wird immer das gleiche sein - die Suchroutine, die aus dem Text die einzelnen Bestandteile ausfiltern muss.

Wie sieht denn deine FileMaker-Datenbank aus? Wie heißen die Felder?

Übrigens welche Systemversion läuft bei dir?

Ich habe hier meine Lösung bereits soweit fertig, dass alles ordnungsgemäß in der FileMaker-Datenbank landet. Jetzt muss ich mir über den Rückweg Gedanken machen. Die Daten hier müssen nämlich wieder auf eine Website.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Christian
•->
•->


Anmeldedatum: 01.05.2002
Beiträge: 5
Wohnort: Schweiz

BeitragVerfasst am: 01.05.2002 - 23:34    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Was??? Schon fertig??? Ich komme nirgends hin... und das seit Tagen!

Aber Du hast Recht, mit dem Wechsel ins Excel ist mir auch nicht geholfen.

Ich brauche daraus bloss
 Anrede,
 Vorname, Name,
 Strasse,
 PLZ, Ort,
 Land.

um einen Serienbrief zu versenden.

Ich schaffe das alleine noch nicht.
Darf ich Dir nicht mein Mail-Formular zusenden?
Bitte hilf mir.

Gruss Christian

PS: Ich arbeite unter 9.1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 01.05.2002 - 23:45    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hi Christian,

schick mir mal was du hast. Mailformular, FileMaker-Datenbank und was sonst noch wichtig sein könnte.

Von meiner jetztigen Lösung für Eudora kann's ja nicht mehr so weit zu einer Entourage-Lösung sein. Das werden wir dann schon für dich auch noch hinkriegen. Cool
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Christian
•->
•->


Anmeldedatum: 01.05.2002
Beiträge: 5
Wohnort: Schweiz

BeitragVerfasst am: 02.05.2002 - 20:04    Titel: Hallo Peter, hallo Scripter-Foren-User Antworten mit Zitat

Hallo Peter

Wollte mich erkundigen ob Du meine Files, die ich Dir senden durfte, gestern noch erhalten hast. Falls Du noch weitere Informationen brauchst, bitte frag mich.
Ich hoffe wirklich, dass Du mir helfen kannst.

Gruss Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter