Domino 9 und frühere Versionen > Entwicklung

Textdatei ohne Festplattenzugriff erstellen

(1/1)

Onkel Domino:
Hallo,

ich möchte per Lotus Script eine Textdatei erstellen und diese dann per eMail verschicken. Allerdings möchte ich die Textdatei nicht speichern, sondern nur im Arbeitsspeicher erstellen und nach dem Versenden wieder löschen.

Der Funktion "Open" muss ein Dateiname übergeben werden. Somit scheidet die Option m.E. aus. Meine Idee ist nun ein (Textdatei-)Objekt zu erstellen (wie zum Beispiel bei einem Excel Export), und dieses Objekt später als Dateianhang an die zu versendende eMail zu hängen.

In Excel würde ich das Objekt mit der folgenden Zeile erzeugen:

Set excelApp = CreateObject("Excel.Application")

Wie kann ich nun eine Textdatei mit (am besten*) Notepad erstellen und "befüllen"?

*Der Agent soll auf den Clients ausgeführt werden. Es soll unter allen Windows Clients laufen (Win9x und WinXP) und Notepad.exe ist m.E. auf allen Windowsrechnern verfügbar.

koehlerbv:
Wenn Du das als Attachment versenden willst: No way, wenn das Teil nicht wirklich physisch vorliegt. Da hilft Dir auch kein Umweg über eine andere Applikation.

Bernhard

Onkel Domino:
Vielen Dank für die (wie immer) schnelle Hilfe :-)

heini_schwammerl:
Falls Du in Kürze vielleicht upgraden möchtest, einen Grund hättest Du jetzt.

--- Code: ---
Dim mbody As NotesMIMEEntity, mbodyChild As NotesMimeEntity
Dim header As NotesMIMEHeader
Dim stream As NotesStream

session.ConvertMIME = False
Set stream = session.CreateStream

Set maildoc = db.CreateDocument
maildoc.Form = "Memo"

Set mbody = maildoc.CreateMIMEEntity

maildoc.Subject = "Superblubber"

maildoc.SendTo = "textdatei@hhcs.de"
Set stream = session.CreateStream()

Set mbodyChild = mbody.CreateChildEntity()
Set header = mbodyChild.createHeader("Content-Type")
Call header.setHeaderVal("multipart/mixed")

Set header = mbodyChild.createHeader("Content-Disposition")
Call header.setHeaderValAndParams( |attachment; filename="blubb.txt"| )

Set header = mbodyChild.createHeader("Content-ID")
Call header.setHeaderVal( |"blubb.txt"| )

Set stream = session.CreateStream()
Call stream.WriteText("==========================================================" , EOL_CRLF)

Call stream.WriteText("REGISTRIERUNG DER ANWENDUNG", EOL_CRLF)
Call stream.WriteText("==========================================================" , EOL_CRLF)
Call stream.WriteText("", EOL_CRLF)
Call stream.WriteText("Bitte füllen Sie dieses Formular aus und senden es an:" , EOL_CRLF)
Call stream.WriteText("Reg. E-Mail            : "+doc.RegInternetAddress(0) , EOL_CRLF)
Call stream.WriteText("==========================================================" , EOL_CRLF)
Call mbodyChild.SetContentFromText(stream, "text/plain; charset=ISO-8859-15", ENC_IDENTITY_8BIT)

  Call maildoc.Send (False) 
session.ConvertMIME = True

--- Ende Code ---
Aber das Stream Zeugsel gibt es im 5er Release wohl leider nicht.

Onkel Domino:
Das Thema ist doch noch nicht ganz erledigt. Es entpuppt sich kniffeliger als angenommen:

siehe http://atnotes.de/index.php?topic=30466.0

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln