Gibt es eine ähnliche Funktion in LS, mit der man in dem String nach der Position sucht : InStr function
Agenten erstellen, der aus einer eingehenden E-Mail die Betreffzeile ausliest und ein Mail verschick
- RudiRakete
- Erledigt
-
-
axo:
Aus VBA kenne ich eine Funktion, die heißt Mid, da kann man einen Teil aus dem String heraus extrahieren, aber die will Lotus hier nicht
aus der Hilfe:
Mid function
Extracts a string from within another string, beginning with the character at a specified position.
Syntax
Mid[$] ( expr , start [ , length ] )
Elements
expr
Any numeric or string expression. LotusScript converts a numeric to a string before performing the extraction.
start
The position of the first character to extract from the string, counting from 1 for the leftmost character.
length
The number of characters to extract from the string.
Return value
Mid returns a Variant of DataType 8 (a string), and Mid$ returns a String.
If there are fewer than length characters in the string beginning at the start position, or if you omit the length argument, the function returns a string consisting of the characters from start to the end of expr.
If start is greater than the length of expr, the function returns the empty string ("").VB und Lotus Script sind ja nicht SOOO unterschiedlich
in der Hilfe kannst du dich auch immer gut an den Referenzen unten langhangeln, die auf benachbarte Funktionen oder Formelsprache verweisen
-
Uj, hmm. Dann werde ich wohl vorher mal besser da rein schauen, bevor ich blöde Fragen stelle
Vielen Dank für die Hilfe(n)!!!!!! -
Hallihallo!
Ich bins schon wiederWie es so ist, wenn man einen Schritt schafft, kommen sofort die nächsten Wünsche Ist es irgendwie möglich, die Empfänger-E-Mail Adresse in meinem Lotus-Script variabel zu gestalten? Ich habe mir das so vorgestellt: Ich denke, ich werde nicht darum herum kommen, den Empfänger in einer Datei zu speichern, damit das Script jedes Mal beim Durchlaufen den Empfänger ausliest. Jetzt würde ich gerne wissen, ob man sich nicht über den Designer, eine Kachel erstellen kann, über die man dann eine Art Eingabemaske aufruft, in der man die E-Mail eintippen kann, und die dann in die Datei geschrieben wird...
-
InputBox Function
Edith: PickListStrings method
dann kannst du aus dem Names.nsf auslesen (keine Schreibfehler bei addi)
-
Gerade habe ich überlegt, warum du den Anwender die email eintippen lässt, statt einfach das Ganze weiterzuleiten.
Mach dir Konfigurationsdokumente, aus denen kannst du die Mailadresse dann auslesen.
-
Oh oh, jetzt hab ich glaub ich ein Problem Ich habe noch nie was von Konfigurationsdokumenten gehört *g*
Das Problem ist auch, dass die E-Mail Adresse einmal (vorher) festgelegt werden soll, wohin die Mails weitergeleitet werden, d.h. es soll nicht jedes Mal wenn der Agent durchlaufen wird, die E-Mail-Adresse eingegeben/ausgewählt werden, sondern der Agent soll auf eine Quelle (Datei!?!?) zugreifen, aus der er die E-Mail-Adresse ausliest. Später soll es nämlich nicht nur eine E-Mail-Adresse sein, auf die weitergeleitet wird, sondern auch eine Handynr (per SMS dann).
Es müsste also irgendwas "losgelöstes" vom Agenten geben, mit dem man den Empfänger verwaltet, und darauf greift mein schöner Agent dann zu Falls das mit den erwähnten Konfig-Dokumenten geht - umso besser...
LG
-
Ich würde das ausserhalb der Mail-DB stellen, eine Mini-Db mit einer Eingabemaske. soll jeder anwender seinen eigenen Empfänger pflegen?
Dann denn Anwender in einem Item auf dem Dokument verewigen, ein eingabefeld für die Mailaddi und eine versteckte ansicht, sortiert nach Anwendern. Der Agent sucht nach dem Eigentümer der Mailbox, liest die addi aus und verwendet diese für den Empfänger.
Die Eingabe würde ich über einen Button machen, so dass immer kontrolliert wird, ob bereits ein Dokument für den Anwender da ist, ansonsten wird ein Dokument neu erstellt. (um sicherzustellen, dass immer nur ein dokument da ist) .Je nachdem, was du genau machen willst, kannst du auch über Profildokumente arbeiten, aber diese werden gecacht, bei häufigem Ändern hast du evt. alte Werte drin.
axco: konfigurationsdokumente sind einfach normale Dokumente, die du zum steuern/konfigurieren verwendest.
Profildokumente sind Spezialdokumente, kommen nur einmal pro DB vor, können nicht in Ansichten angezeigt werden und haben Vor- und Nachteile. -
Ujujuj, das waren wieder schön viele Infos Danke dafür!
Werde mich dann auch wohl dafür entscheiden, das außerhalb der Mail-DB zu machen. Es gibt nämlich immer nur ein Empfänger der Mails, der sich aber schonmal (maximal wöchentlich) ändern kann. Deshalb werde ich wohl ein kleines Progrämmchen schreiben, dass die Nummern über eine Textdatei verwaltet, und der Agent liest dann die Nummer/E-Mail-Addi aus der Datei aus...
Da habe ich direkt eine Frage:
Habe mir das hier aus einer VBA Datei kopiert, die ich erstellt habe. Das wollte ich jetzt verwenden, um die Datei auszulesen, aber bei dem "As Object" wird gemeckert. Wie heißt der Variablentyp in LS?
-
notesstream class
Methode readoder
Input # statement
hilfe: Reading from files and writing to them
-
Hmm, also das klappt nicht.
Mit dem Notesstream funktioniert gar nichts. Auf einmal werden nämlich keine Mails mehr verschickt, wenn ich das eingebaut habe. Gibt es nicht irgendwo ein Log, das man sich anschauen kann, oder einen Debugger, mit dem man mal seinen Code Schritt für Schritt durchlaufen kann, im Moment teste ich den nämlich immer, indem ich mir eine E-Mail schicke, und so der Agent durchlaufen wird.
Als 2. habe ich in der HIlfe nachgeschaut, da steht dann so etwas hier drin:
CodefileNumber% = Freefile Open "DATA.DAT" For Input As fileNumber% fileContents$ = Input(Lof(fileNumber%), fileNumber%)
Bei dem FileNumber wird aber gemeckert. Und ehrlich gesagt versteh ich auch nicht, was die Prozentzeichen bedeuten :'-(
-
im Designer:
File--> Tolls --> debug Lotus Script aktivierenund dann den Agenten (manuell) starten
oder print-anweisungen (kommen unten am Client in der Statusleiste)
oder MSGBox (aber auskommentieren, bevor es nur auf dem server läuft, denn der server drückt nachher nicht auf en OK-Button)
die % Prozentzeichen deklarieren das ganze als Integer
-
So, ich glaube jetzt habe ich meinen Agenten zerstört...
Jedes Mal wenn ich jetzt Strg + S für Speichern drücke, passieren bei mir ganz seltsame Dinge: Auf einmal verschwinden Zeilen, bzw. es werden Zeilen zusammen gefasst. Man man man, mein ganzer Code ist jetzt durcheinander... Sch******
-
Also zu deinen Aussagen mal zwei Korrekturen:
Profildokumente können auch beliebig oft vorkommen. Nicht nur ein einziges Mal
Und der Punkt mit den Msgbox'en: Der Server braucht nicht auf den OK Button zu drücken weil die Meldungen einfach nur im Server Log kommen. Klar ist es sauberer die rauszunehmen, aber der Server wird davon weder blockiert noch muss da irgendwas gedrückt werden
-
Sub Initialize
Dim text As String, fileNum As Integer
Dim strTest As String
fileNum% = Freefile()
Open "C:\\blabla\\filename.txt" For Input As fileNum%
Do While Not Eof(fileNum%)
Line Input #fileNum%, text$
Print text$ ' Prints one line of config.sys
Loop
Close fileNum%
End Subläuft bei mir.
probiers mit einem eigenen Txtfile, und setz die \ doppelt (\ = Escape) -
Danke für den Code. Im Moment habe ich halt das Problem das nichts mehr läuft. Hab jetzt erstmal alles Datei-mäßige rausgenommen, um wenigstens es wieder hinzubekommen, dass das Mail/SMS verschicken klappt. Aber nix mehr.... Werde mal schnell versuchen, dass das wieder klappt.
Aus dem DominoDesigner selber heraus kann ich meinen Agenten nicht starten, da kommen immer Fehlermeldungen, von wegen: "Error Object Variable (91) not set on Line 27"...
-
poste mal den Code.
was steht denn in Zeile 27?
edith: und hast du unter Options "Option declare" ohne Hochkommata eingetragen?
-
In Zeile 27 steht strBetreff = doc.Subject(0).
Hab den Code jedenfalls wieder hinbekommen, weiß auch jetzt warum bei mir die Codezeilen so blöde verrutschen, bzw. verschwinden. Jedes Mal wenn ich etwas mit einer % bzw. $ bzw. # reinkopiere und dann speichere kommt das. Wisst ihr woher das kommen kann?
Also unter Options steht das bei mir
Option Public
Option Declare -
Natürlich kann dein Agent im Designer nicht gehen, weil er sich das Dokument auf die dafür falsche Art und Weise holt.
Um das dort zu testen musst du das Dokument während dem Testen auf andere Art und Weise holen, z.B. ein fixes Dokument per GetDocumentByUNID
-