Lotus Script - Rechtschreibprüfung

  • Hallo alle zusammen,
    wir haben eine neue Software auf Lotus Notes Basis von der wir auch eMails versenden können.


    Unser Problem ist, dass keine Rechtschreibprüfung vorhanden ist. Ich habe mir vom Programm den SENDEN Button im Designer angeschaut und musste leider feststellen das Lotus Script hinterlegt ist.


    Wie folgt:

    Code
    Sub Click(Source As Button)	On Error Goto ErrorHandling	Dim workspace As New NotesUIWorkspace	Dim session As New NotesSession	Dim db As NotesDatabase	Dim uidoc As NotesUIDocument	Dim doc As NotesDocument	Dim maildoc As NotesDocument	Dim item As NotesItem	Dim bodyRT As NotesRichtextItem, grussRT As NotesRichtextItem	Dim UNIDFeld As Variant	Dim MailAdrFeld As Variant	Dim zieldoc As NotesDocument	Dim mainkonfdoc As NotesDocument	Dim neudoc As NotesDocument	Dim k As Integer	Dim resDB As NotesDatabase	Dim resdoc As NotesDocument	Dim em As String	Dim EMess As String	Set uidoc = workspace.CurrentDocument	Set db = session.CurrentDatabase	If GetKonfigDB ( "", "profilServer", "profilFile", resDB, EMess ) = False Then Error 15010, EMess	If HoleRessourcenDoc ( GetAbbreviateUserName ( Session.UserName ), resDB, resdoc , EMess  ) = False Then Error 15010, EMess	Set mainkonfdoc = GetConfigDoc("MAIN")	If mainkonfdoc Is Nothing Then		Msgbox "No main configuration available ?!?"		Exit Sub	End If	Call uidoc.FieldSetText( "MailStatus", "2" )	Call uidoc.FieldSetText("DokStatus", "3")	Call uidoc.save	Set doc = uidoc.Document	Set maildoc = db.CreateDocument	maildoc.Subject = doc.Subject(0)	Set item = doc.GetfirstItem("Body")	Call item.CopyItemToDocument(maildoc, "")	maildoc.from = doc.From(0)	maildoc.SendTo = doc.SendTo	maildoc.CopyTo = Evaluate("CopyTo : AKMCopyTo", doc)	maildoc.BlindCopyTo = doc.BlindCopyTo	maildoc.DeliveryPriority = doc.DeliveryPriority	maildoc.ReturnReceipt = doc.ReturnReceipt	maildoc.DeliveryReport = doc.DeliveryReport	Call maildoc.send(False)	Messagebox "  Mail was sent!  ", MB_IconInformation, "Mail dispatching"	Print("Mail transferred for delivery")	UNIDFeld = doc.AKMRef	MailAdrFeld = doc.AKMCopyTo	anz = Ubound(UNIDFeld)  'fängt bei Null an!!	If anz = 0 Then		If UNIDFeld(0) = "" Then Exit Sub	End If	Print("Create mail references")	For k = 0 To anz		Set zieldoc = db.GetDocumentByUNID(UNIDFeld(k))		If zieldoc Is Nothing Then			Messagebox "The mail reference could not be created:" + Chr$(10) + MailAdrFeld(k)		Else			If  ErzeugeMailReferenz ( db, resdoc, zieldoc, doc, 2, mainkonfdoc.f_MailReferenzen ( 0 ), neudoc, mainkonfdoc, EMess )  = False Then Error 15010, EMess			If  neudoc.Save( True, False, True ) = False Then Error 1010, "The mail reference for document " & Cstr ( zieldoc.UniversalID ) & Chr ( 10 ) & _			"could not be saved in AKM !"		End If	Next	Print("Mail references created")	Exit SubErrorHandling:	ErrorNr = Err	Select Case ErrorNr	Case 4091		Set zieldoc = Nothing		Resume Next	Case Else		End Select	Messagebox Error$ & "(" & Cstr(ErrorNr) & ") [Zeile " & Cstr ( Erl ) & "]", 16, "Error:"	Exit SubEnd Sub


    Es muß doch eine Möglichkeit geben diesen Script zu sagen das es vor dem senden eine Rechtschreibprüfung macht. In der Designerhilfe finde ich nur den Befehl

    Code
    @Command( [ToolsSpellCheck] )

    , dass mir aber in meinen Fall nicht hilft.


    Kann mir jemand sagen was ich an diesen Script ändern muß, dass bevor das Dokument versendet wird eine Rechtschreibprüfung kommt.


    Gruß


    Olli

  • Code
    Call uidoc.save
    	Set doc = uidoc.Document[b]
    	Dim ws As New notesuiworkspace
    	Set uimaildoc = ws.composedocument( "", "", "testform" )
    	'Set maildoc = db.CreateDocument
    	Set maildoc = uimaildoc.document
    	uimaildoc.editmode = True
    	uimaildoc.spellcheck[/b]
    	maildoc.Subject = doc.Subject(0)
    	Set item = doc.GetfirstItem("Body")


    So koennte man unter gewissen Umstaenden den Spellchecker aktivieren....KLasse NotesUIDocument

  • Moijns!


    Ok, vielleicht hab ich was verpasst. Aber warum willst du das per script lösen? In der Maske Memo gibt es die Aktion Zustelloptionen. Da gibt es den Haken Automat. Rechtschreibprüfung. Ich persönlich würde eher diesen Haken setzen (damit man die Prüpfung auch ausschalten will, wenn man mag), als irgendwo im script rumzufriemeln... Ein load design macht die Änderung für alle Mail-DBs verfügbar


    greetz
    RW

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hallo olma,


    da du offensichtlich kein Lotusscript kannst (wie du bei atnotes.de bei der aselben Frage ja bereits zugegeben hast), lass besser die versuche in in Scripts was zu ändern und mach das erst wenn du verstehst was dort steht.


    Folge einfach RockWilder's Tip.


    Bye
    Torsten

    Bye
    Torsten


    IBM Advanced Certified System Administrator - Lotus Notes and Domino 8.5

  • hi,
    es geht in unserer Firma um eine Software auf Lotus Notes Basis, in der man auch eMails verschicken kann. Diese hat ein eigenes Mail Dokument eben mit dieser Funktion. Und ich benötige in dieser Software eine Rechtschreibprüfung die auf Lotus Skript basiert. Ist es nicht Sinn und Zweck von einen Forum Leuten zu helfen?


    Ich hoffe das reicht schon als Erklärung.


    Gruß


    Olli

  • Dann wirst du an der Stelle aber ein Problem bekommen.
    Die Rechtschreibprüfung ist eine UI-Funktion, d.h. Sie funktioniert nur mit einem geöffneten Dokument.
    Du willst aber so wie ich das sehe ein Dokument im Hintergrund also im Backend verschicken.
    Und dort gibt es die Funktion weder im Script noch in der Formelsprache.
    Und zu der Aussage von TorstenM:
    Seine Aussage stimmt schon ist vielleicht nur ein wenig unglücklich formuliert.
    Bevor man sich an Änderungen oder Erweiterungen in Script macht sollte man erstmal die Grundzüge lernen.
    Ein Forum wie dieses versucht natürlich zu helfen, aber das ist eben nur bei konkreten Fragestellungen möglich. Für eine Script Einführung fehlt hier sowohl der Platz wie auch die Zeit.

  • ok ich habe mich wahrscheinlich auch falsch ausgedrückt. ich bin domino admin und entwickle anwendungen für das web(dynamische homepages) bei einen isp. da ich auf diesem sektor noch ziemlich unerfahren bin und lotus skript für das web nicht relevant ist frage ich euch.


    das skript läuft im front end und soll über ein geöffnetes dokument laufen.


    gruss


    olli

  • Setz mal die folgende Zeile:
    Call notesUIDocument.SpellCheck()
    vor den Call uidoc.Save


    Damit wird die Rechtschreibprüfung auf das Uidoc (das grade geöffnete) ausgeführt.
    Aber beachten: Das Dokument muss im Bearbeiten-Status sein. Sonst gibts nen Fehler. :idea:


    Natürlich muss auch ich RockWilder Recht geben. Änderungen an LS sollte man echt nur machen, wenn man (einigermassen) versteht, worum es geht.

  • wenn ich

    Code
    Call notesUIDocument.SpellCheck()

    einsetze lässt sich das skript nicht mehr speichern.


    Designer Meldung=Send: 37: Not a sub or function name: NOTESUIDOCUMENT

  • wenn ich

    Code
    Call notesUIDocument.SpellCheck()

    einsetze lässt sich das skript nicht mehr speichern.


    Designer Meldung=Send: 37: Not a sub or function name: NOTESUIDOCUMENT