Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 11.06.03 - 11:33:52
-
Hallo Leute,
ich habe hier ein Visual Basic Programm, welches ausserhalb von Lotus Dokumente erstellt und in eine LotusDatenbank kopiert.
Das funktioniert auch prima,
ABER WIE KANN ICH AN DIESES DOKUMENT EIN ATTACHMENT HÄNGEN ?
Das teil liegt auf C:\TEMP\0001.tif
Vielen Dank für Eure Hilfe
Don Pasquale
meine bisherige Lösung :
Public strLotusserver As String
Public strLotusDBFile As String
Public strPassword As String
Public bLogging As Boolean
Public strLogfile As String
Private Sub main()
Dim LNSession As NotesSession
Dim LNDB As NotesDatabase
Dim LNDoc As Variant
Dim item As Variant
Dim strCommandLine As String
Dim strNewPassword As String
On Error GoTo ErrHandler
strCommandLine = Command()
' Neues Lotus Password für den User in der Registry verschlüsselt ablegen.
If strCommandLine = "/config" Then
strNewPassword = InputBox("Bitte geben sie das neue Kennwort für die Anmeldung an die Lotus Posteingangsdatenbank an.", "Kennwort ändern.")
If strNewPassword <> "" Then
SetNewPassword (strNewPassword)
End If
Exit Sub
End If
' Programmeinstellungen einlesen
If Not readRegistry Then
MsgBox "Die Programmeinstellungen konnten nicht vollständig aus der Registry ermittelt werden. Das Programm wird beendet!", vbCritical
Exit Sub
End If
Set LNSession = New NotesSession
' Password aus registry wieder dekodieren
strPassword = Decode(strPassword)
Call LNSession.Initialize(strPassword)
If Not LNSession Is Nothing Then
Set LNDB = LNSession.GetDatabase(strLotusserver, strLotusDBFile)
Set LNDoc = LNDB.CreateDocument
Call LNDoc.AppendItemValue("e4ihk_Eingangsart", "XXX")
Call LNDoc.AppendItemValue("e4ihk_Seiten", "1")
Call LNDoc.AppendItemValue("e4ihk_Fileextension", "TIF")
Call LNDoc.AppendItemValue("e4ihk_Identnummer", "0000000001")
Call LNDoc.AppendItemValue("e4ihk_EXTENDED_ATTR3", "Lotus")
Call LNDoc.AppendItemValue("e4fld_Indexiert", "True")
Call LNDoc.AppendItemValue("e4fld_Prio", "Normal")
' Das Dokument speichern
LNDoc.Save True, False, False
' Das Dokument in den Mail in Folder verschieben
LNDoc.PutInFolder "($INBOX)", False
End If
Exit Sub
ErrHandler:
MsgBox "Fehler # " + Str(Err) + " aufgetreten:" + vbCrLf + Err.Description, vbExclamation + vbOKOnly
Set LNDB = Nothing
Set mLNsession = Nothing
End Sub
-
weiß net, ob das von COM unterstützt wird, aber du musst ein RTFeld auf dem Dokument erzeugen (CreateRichtextItem-Methode der Document-Klasse) und dann ein Attachment einfügen (EmbedObject-Methode der RTItem-Klasse)
-
Hallo Pasquale,
... ich habe auf meiner Homepage eine Windows-Hilfe-DB zu den COM-Klassen von Notes. In den dortigen Beispielen ist denke ich deine Aufgabenstellung enthalten...
http://www.aton-tauscher.de/download/comdoc.chm (http://www.aton-tauscher.de/download/comdoc.chm)
ata
-
Hab mir des ganze mal aus der notes hilfe gezogen. du bräuchtest eben noch diese drei Zeilen, dann müsste es eigentlich gehen.
-----------------------------------------------------------------------------
Dim rti As New NotesRichTextItem( notesDocument , name$ )
Dim obj As notesEmbeddedObject
'Die folgende Funktion dient dem Einbinden von Dateien
Set obj = notesRichTextItem.EmbedObject( EMBED_ATTACHMENT, "", "C:\..." )
------------------------------------------------------------------------------
Hoffe mal das hilft dir weiter
-
@enny
Vielen Dank,
merkwürdigerweise nörgelt der VB Compiler an den unmöglichsten Stellen rum, aber mit diesem kleinen Umweg hier habe ich jetzt ein
eingebettetes Object :
Dim obj As NotesEmbeddedObject
Dim rti As NotesRichTextItem
Set rti = LNDoc.CreateRichTextItem("Test")
Set obj = rti.EmbedObject(EMBED_ATTACHMENT, "", "C:\TEMP\00001.tif")
Vielen Dank sagt
:D
Don Pasquale