Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 11.06.03 - 11:33:52

Titel: VISUAL BASIC Problem
Beitrag 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
Titel: Re:VISUAL BASIC Problem
Beitrag von: animate am 11.06.03 - 11:40:47
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)
Titel: Re:VISUAL BASIC Problem
Beitrag von: ata am 11.06.03 - 21:27:00
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
Titel: Re:VISUAL BASIC Problem
Beitrag von: enny am 12.06.03 - 07:16:25
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
Titel: Re:VISUAL BASIC Problem
Beitrag von: Don Pasquale am 12.06.03 - 14:27:32
@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