Beiträge von Randy

    da war jemand schneller als ich.


    DerOzzy
    Ist auch meine Vermutung!!!



    Als Tipp!! :)


    Forall i In inputChars
    pos = Instr( txt, i )
    ........


    ........
    End Forall


    und die Schleife sieht schon übersichtlicher aus. ;)


    Gruß
    Ralph

    Hallo,


    1.
    Auswahlrand anzeigen "disabled"
    Auswahlrand verbergen "disabled"


    Der Auswahlrand ist definitiv nicht sichtbar. Er wird erst durch das Markieren von Dokumenten (Einträgen) dargestellt.


    2.
    Auswahlrand anzeigen "enabled"
    Auswahlrand verbergen "disabled"


    Der Auswahlrand wird dargestellt.


    3.
    Auswahlrand anzeigen "enabled"
    Auswahlrand verbergen "enabled"


    Der Auswahlrand wird dargestellt, aber die Trennlinie verschwindet.


    Es scheint sich also nur um eine unglückliche Übersetzung zu handeln. Besser wär so etwas Auswahlrandlinie verbergen. ;-))


    Gruß
    Ralph

    Ich meinte nur den Eintrag "Option Explicit".
    "Option Declare" wird automatisch eingetragen. Lettzterer überprüft jedoch nicht den Code auf Unstimmigkeiten hinsichtlich der Deklarationen. Hierfür ist dann "Option Explicit" zuständig.


    Jetzt aber wieder zum Thema!


    Der Screenshot zeigt die Inhalte der Variablen laut Debugger.


    Kannst du damit etwas anfagen?


    Gruß
    Ralph

    aber wir kommen der Sache immer näher.


    Den einzigen Unterschied zu meinem Script, die Reihenfolge der Objektzuweisungen.


    <
    Set body = doc.GetFirstItem("Body")
    Set rtnav = body.CreateNavigator
    Set rtrange = body.CreateRange
    >


    Noch etwas: :-?
    Der nächste Fehler wist vorprogrammiert, eine Zuweisung für das Objekt "db" fehlt noch.


    "Set doc = db.GetdocumentbyUNID( UNID )"


    Ich habe mir angewöhnt in den Deklarationen <Option Explicit> einzutragen. Dadurch werden alle Variablen und Objekte beim Kompilieren überprüft. Ist zwar zum Teil umständlich, aber es hilft.


    Gruß
    Ralph

    In deinem Script wird das Body-Feld gelöscht, bevor du es nach Text-Schnipseln durchsuchst.


    <
    Set body_Item = doc.GetFirstItem("Body")
    Call body_item.Remove


    Set body = doc.CreateRichTextItem("Body")
    >


    Danach wird ein neues, <b>leeres</b> Body-Feld erstellt.
    Dann darf das Script auch die entsprechende Meldung ausgeben.


    Gruß
    Ralph

    Hallo,


    Wieso von allen MailIn-DBs?


    Das Feld muss nur in MailIn Datenbank "Vertrieb". Und das auch nur in der Schablone. Somit werden alle DBs aktualisiert.
    So wie ich verstanden habe, ist das Problem ja nur bei Mails, welche aus der Vertriebs-DB gesendet wurden, oder?


    Wie wird denn dein Mail-Dok gesendet? Formel-Sprache, LotusScript, Masken-Einstellung?


    So hättest du evtl. noch alternativen für das Erzeugen des Feldes!


    Gruß
    Ralph

    Hallo,


    eine weitere Möglichkeit ist der Ordner


    xxx\notes\mui\de. Hier und im übergeordneten Ordner muß die Datei Mui.dat vorhanden sein.
    Die Einstellungen dein der Notes-INI müssen natürlich auch auf "de" eingestellt sein.


    Gruß
    Ralph

    Hallo,


    was ist dann bei dir anders???


    Sollen die Änderungen unbedingt im Workplace erledigt werden? Reicht nicht hierfür auch eine Ansicht mit entsprechnder Aktion auf die selektierten Dokumente?


    Ich habe eine Testmaske mit zwei Feldern (Titel und Body). Body ist dabei natürlich ein RT-Feld.


    Beim CopyAndPaste hat sich wohl im Script ein FATALER Fehler eingeschlichen (ENDLOS-SCHLEIFE).
    Daher, bevor das Script weiter eingesetzt wird, vor dem WEND muß folgender Codes-Schnipsel eingefügt werden:


    "erg = rtnav2.FindNextString(searchString)"


    Ansonsten funktioniert das Script bei mir.
    Habe es unter verschiedensten Möglichkeiten, wie:
    <Test Achtung TEXT!> oder


    <Test Achtung TEXT


    Test2 Achtung und weiter im TEXT


    Achtung>
    ausprobiert.



    Noch irgendwelche Ideen??


    Gruß
    Ralph

    dann war meine Antwort ja noch nicht zu spät..... ;)


    Wie das Leben so spielt! Nach deiner Antwort wollte ich meine Lösung testen und es funkionierte nicht. :-o War ich wohl zu euphorisch.


    Solch' eine Art der Anwendung habe ich mir gedacht. Alles andere macht hierfür keinen Sinn. Da ich etwas ähnliches benötige, teste ich noch mit den Möglichkeiten herum.


    Hierbei wurde ein Fehler erzeugt, wenn der gesuchte Text am Ende der Zeile im RT stand. Daher die If-Klausel.


    Aber jetzt :
    Script kann wahrscheinlich noch optimiert werden, aber es klappt.


    *****************************************
    if rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
    Call rtrange.SetBegin(rtnav)
    hitString = Instr(rtrange.TextParagraph, searchString)
    If hitString <> 0 Then
    Set rtnav2 = rtnav.Clone
    Set rtrange2 = rtrange.Clone
    erg = rtnav2.FindFirstString(searchString)
    While erg = True
    Call rtrange2.SetBegin( rtnav2 )
    Call rtnav.SetCharOffset( Len(searchString) )
    If Len( rtrange2.TextParagraph ) > erg Then
    Call rtrange2.SetEnd( rtnav2 ) '#
    End If
    Call rtrange2.SetStyle( richStyle1 )
    Wend
    End If
    Set rtrange2 = Nothing
    Set rtnav2 = Nothing
    Else
    Messagebox "Kein Element im Body",, "Kein Paragraph"
    End If

    doc.Save True, False, False
    strNoteId = doc.NoteID
    uidoc.Close
    Set doc = Nothing
    Set doc = db.Getdocumentbyid( strNoteID )
    Call ws.EditDocument( False, doc )
    ***********************************



    Hoffe das ich dir helfen konnte


    gruß
    Ralph

    Hallo Dirk,


    ich hoffe, das dir die Haare noch nicht ausgefallen sind.


    Nun zu deinem Script.


    Hier ist das klassische Problem von Notes. Richtext-Änderungen im Backend durchführen, welche im dann im geöffnetem Frontend nicht sichtbar sind.


    Also muss hierfür am Anfang in den Editmodus gewechselt werden.
    .: If uidoc.EditMode = False Then uidoc.EditMode = True :.



    Wenn ich den CharOffset richtig verstanden habe, dann ist das der Startpunkt für die Range. Somit würde in deinem Fall der Eintrag ab der 6. Stelle erzeugt.
    .: Call rtnav.SetCharOffset( 5 ) :.


    Und zum guten Schluß wird alles noch gespeichert.
    .: doc.Save True, True, True :.
    .: :.
    .: Call uidoc.refresh( True ) :.
    .: Call uidoc.Reload :.
    .: Call uidoc.Save :.
    .: :.
    .: uidoc.EditMode = False :.


    Bei mir hat's funktioniert.
    Ich hoffe das damit ein paar Haare retten konnte.


    Gruß
    Ralph