Beiträge von Lizzy

    Hallo


    ich möchte gerne rausfinden, an welche User ein (externes) Mail mit einem ganz bestimmten Betreff gesendet wurde.


    Ist es möglich, einen Agent über mehrere Datenbanken laufen zu lassen und eine Rückmeldung (Mail oder in Log ect) zu bekommen, in welchen Datenbanken das Mail vorhanden ist???


    Muss kein Agent sein, darf auch eine andere Lösung sein.



    Falls es da eine Möglichkeit gibt, schubst mich doch bitte mal in die richtige Richtung.


    Danke
    Lizzy

    Ok ich hab mal etwas rumprobiert


    Also ich würde den Wert schon ganz gerne als Datum behalten



    ist denn folgendes richtig?
    funktionieren tut es anscheinend



    Dim geburtstag As NotesDateTime
    ...
    Set geburtstag = New notesdatetime(maindoc.GetItemValue( "geburtstag" )(0))
    ...
    Call doc1.replaceItemValue("geburtstag", geburtstag)




    ------------
    und ist das Ganze mit Variant falsch oder auch ein möglicher Weg?

    OK - funktioniert - Danke



    noch eine Frage


    wie muss ich denn dann ein Datumsfeld definieren?


    mit String funktioniert es nicht, da kommt ein Fehler am Ende, wenn ich das Dokument aktualisiere.


    mit NotesDateTime geht's aber auch nicht



    Dim geburtstag As ???
    geburtstag = maindoc.GetItemValue( "geburtstag" )(0) ???







    PS: hab's grad gefunden, muss Variant sein

    OH OH, da hatte ich wirklich einen schweren Denkfehler.



    Jetzt bekomme ich aber schon vorher einen Type mismatch.


    Dim maindoc As NotesDocument 'Hauptdokument
    Set maindoc = session.DocumentContext
    Dim doc1 As NotesDocument 'Antwortdokumente
    Set doc1 = New NotesDocument(db)
    ...
    Dim abt As String,mname As String,....
    ...
    'Feld aus Hauptdokument holen für Antwortdokument, Feldname hat die gleiche Bezeichnung in Haupt u. Antwortdok
    mname = maindoc.GetItemValue( "mname" )
    ....
    Call doc1.replaceItemValue("mname", mname)




    bei der Zeile mname = maindoc.GetItemValue( "mname" ) kommt jetzt ein Type mismatch
    das Feld in der Maske ist ein Textfeld und im Script ist es als String definiert
    ???

    Gut, das habe ich jetzt verstanden.


    Aber mein Problem habe ich auch noch.



    Dim mname,..... As String
    .....
    mname = maindoc.GetItemValue( "mname" ) 'ist Hauptdok., Werte werden in Antwortdok. übernommen
    ...
    Dim lztext As String
    ...
    lztext = "Laufzettel: " & mname 'Text im Mailbody ---- und hier kommt der Type Mismatch




    ich komm einfach nicht drauf, was das noch sein könnte

    Ok, ich hab das jetzt auf String umgestellt.


    Das ändert aber nichts an meinem Problem, daß ich festen Text und Werte aus einer Variable nicht zusammenhängen kann.



    Und Deine Zeile
    call mailversand("empf","lzart","mitarb",doc,"subj","lztext")
    verstehe ich ehrlich gesagt nicht. Warum sind die Variablen hier in Anführungszeichen eingeschlossen?

    das ist die Sub in der Scriptbibliothek:


    Sub mailversand(empf,lzart,mitarb,doc,subj,lztext As Variant)
    'E-Mail versenden
    Dim session As New NotesSession
    Dim richStyle As NotesRichTextStyle
    Set richStyle = session.CreateRichTextStyle
    Set db = session.CurrentDatabase


    Dim maildoc As notesdocument
    Dim rtitem As NotesRichTextItem
    Set maildoc = db.createdocument
    Set rtitem = New NotesRichTextItem( maildoc, "Body" )



    maildoc.form = "MEMO"
    maildoc.sendto = empf
    maildoc.from = "Server"
    maildoc.subject = subj
    Call rtitem.appendtext("Bitte bearbeiten Sie den Laufzettel")
    Call rtitem.addnewline(3)

    richStyle.Bold = True
    Call rtitem.AppendStyle(richStyle)

    Call rtitem.appendtext (lztext )

    ' Call rtitem.AppendDocLink(doc,"Verknüpfung zum Laufzettel","")

    richStyle.Bold = False
    Call rtitem.AppendStyle(richStyle)

    Call rtitem.addnewline(3)
    Call rtitem.appendtext ("Abteilung/GS / Funktion: ")
    Call rtitem.AddTab(1)
    Call rtitem.AppendText ( " / " )
    Call rtitem.addnewline(1)
    Call rtitem.appendtext ("Eintrittsdatum: ")
    Call rtitem.AddTab(3)
    Call rtitem.AppendText("eintritt")
    Call maildoc.send( False,True )
    End Sub



    ---------------------------
    Aufruf im Agenten:


    'E-Mail versenden
    Dim empf,lzart,mitarb,doc,subj,lztext As Variant

    empf = dbprofile.GetItemValue( "p_edv" )
    lzart = laufzettelart
    mitarb = mname
    subj = "Laufzettel - "
    lztext = lzart(0) & mitarb(0)
    Set doc = doc1

    Call mailversand(empf,lzart,mitarb,doc,subj,lztext)
    --------------------
    bei der Zeile lztext = lzart(0) & mitarb(0) im Agenten kommt der Fehler: Variant enthält keinen Container


    wenn ich in der Zeile die (0) weglasse, bekomme ich Type mismatch

    Hallo


    Dank der Hilfe hab ich das Ganze jetzt hinbekommen.


    Damit das Ganze etwas übersichtlicher wird und weil ich den Mailversand auch in anderen Bereichen brauche, wollte ich diesen jetzt in ein Sub auslagern.


    Also im Agenten funktioniert alles.


    Im Sub bekomme ich es nicht hin, daß ich im Subject und im Mailtext Text und Variable mischen kann.


    ...
    maildoc.subject = "Text" & variable(0) & "Text"
    ...
    Call rtitem.appendtext ("Text " & variable(0)
    ...


    Die Formel funktioniert im Agenten - aber nicht mehr, wenn die Mailfunktion in ein Sub in einer Scriptbibliothek ausgelagert ist

    Danke. Ich hab gesucht, aber einfach nicht das richtige gefunden. So ist das leider, wenn man Anfänger ist.


    Ich hab aber leider noch ein Problem.
    Das Antwortdokument wird jetzt erstellt, aber es werden keinerlei Werte übernommen.


    Funktioniert die Einstellung "Formeln übernehmen Werte aus gewähltem Dokument" nicht, wenn es mit Script erstellt wird?


    Auch der Mailversand im Querysave des Antwortdokuments funktioniert so nicht.


    Kannst Du mir hier bitte auch noch ein paar Tips geben?
    Danke

    Na ja, das hab ich schon versucht. Das Problem ist, daß ich hier nur sehr wenig Erfahrung hab.


    Es wird zwar das Dokument angelegt, aber nicht als Antwort und es werden dann natürlich auch keine Werte übernommen.



    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase
    Set doc = New NotesDocument(db)
    doc.Form = "Antwortmaske1"
    doc.Save True, True, True



    was mache ich denn falsch?

    Hallo,


    ich habe ein kleines Problem bei der Erstellung von Antwortmasken.


    Zum Hintergrund: ich stehe in einem offenen (neu erstellten) Dokument und möchte über einen Button ca. 10 Antworten dazu erstellen, die auch Feldwerte übernehmen.


    Das Ganze funktioniert auch einwandfrei.
    Das Problem ist nur, daß die Erstellung der Antwortmasken sichtbar ist. Das heisst, der Benutzer sieht 10 Dokumente kurz aufblitzen, und das gefällt mir nicht so besonders.


    Lässt sich das verhindern?


    Mein Code:
    @Command([FileSave]) &
    @Command([Compose];"Antwortmaske1") &
    @PostedCommand([FileSave]) & @PostedCommand([FileCloseWindow]) &
    @Command([Compose];"Antwortmaske2") &
    @PostedCommand([FileSave]) & @PostedCommand([FileCloseWindow]) &
    @Command([Compose];"Antwortmaske3") &
    @PostedCommand([FileSave]) & @PostedCommand([FileCloseWindow]) ..................


    Danke schon mal
    Lizzy

    Hallo Torsten,


    daß die Firma sich das bezahlen lässt, kann ich vollkommen verstehen. Scheint ja auch ein ziemlich umfangreiches Programm zu sein.


    Ist aber eben für meine Bedürfnisse viel zu umfangreich (und zu teuer).
    Mir geht es eigentlich darum, einmal alle Mitarbeiter-Desktops auszulesen.
    Wir steigen von Notes 4.5 auf Notes 6 um und gleichzeitig von OS/2 (ja gibts auch noch) auf Windows XP.
    Und da würde es mir helfen, wenn ich bei der Notes-Neu-Konfiguration wüsste, welche Datenbanken die einzelnen Mitarbeiter vorher hatten.


    Lizzy

    Hallo,


    gibt es eine Möglichkeit auszulesen, welche Datenbanken der User auf seiner Arbeitsoberfläche sieht? (für viele User gleichzeitig).


    Beispielsweise in der Art: per Mail eine Schaltfläche verschicken, auf die die User klicken müssen - es wird ein Mail mit den gewünschten Angaben an mich zurückgeschickt.
    So was hab ich mal zum Auslesen des Kalenderprofils benutzt.


    Weis aber nicht wie die Formel hinter der Schaltfläche aussehen müsste, damit die Kacheln bzw. die Desktop.dsk ausgelesen werden können.


    Vielen Dank für Eure Hilfe
    Gruß
    Lizzy

    Hallo Ekki,


    das mit dem @Command([EditPaste]) funktioniert nicht, da ich ja den @Command([FileCloseWindow]) drin habe, um das Dokument und die Ansicht wieder zu schließen.
    Und dieser Befehl wird ja erst nach Abarbeitung der ganzen Formel ausgeführt.


    Aber daß ich die Textbausteine auch mit Word ect. nutzen könnte, daran hab ich noch gar nicht gedacht. Das wäre evtl. auch ganz interessant.


    Gruß
    Lizzy