Domino 9 und frühere Versionen > Entwicklung

Bild in RTF von anderem RTF

(1/5) > >>

robertpp:
Hallo, ich hab da mal eine frage:
Ich hab zwei RTF und füge in ein RTF ein Bild ein als Attachment.
So nun möchte ich im zweiten RTF haben das das Bild angezeigt wir.

Ich denke das müsste mit
Call uidoc.Import("JPEG Image",????????) aber wie kann ich auf das andere RTF zugreifen und mir den Pfad zum File das ja im doc liegt ausgeben lassen.
Per Formelsprache würde das galube ich so gehen:

@Text(@DocumentUniqueID) + "/$file/" + @AttachmentNames

Aber wie verknüpfe ich das?
robertpp

harkpabst_meliantrop:
Direkt aus einem RT-Feld importieren geht meines Wissens nicht, du musst es immer aus dem Dateisystem holen. Also musst du am besten vor dem Anhängen des Attachments den Pfad irgendwo speichern, dann den Import machen und frühestens dann (wenn das geplant sein sollte) die Datei im Dateisystem löschen.

robertpp:
Ich hab hier ein script ich glaub von eknori

Declare Function NEMGetFile Lib "nnotesws" ( wHandle As Integer, Byval szFileName As String, Byval szFilter As String, Byval szTitle As String ) As Integer

Sub Click(Source As Button)
    'Declare variables...
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim szFileName As String*256
   Dim szTitle As String
   Dim szFilter As String
   
   Dim szSelectedFile As String
   
'Set values...
   
   szFilename = Chr(0)
   szTitle = "Open File"
   szFilter = "All Files |*.*|Word Document |*.doc|Text Files|*.txt|"
   If NEMGetFile( 0, szFileName, szFilter, szTitle) <> 0 Then
      
      szSelectedFile = szFileName
      
      Set uidoc = workspace.CurrentDocument
      uidoc.GotoField( "BidsOS" )
      Call uidoc.Import("JPEG Image",szSelectedFile)
      
   End If
End Sub

Dieses Script fügt das Bild ein. Und ich hab dann das Script mit dem fettgedruckten erweitert:



Sub Click(Source As Button)
       'Declare variables...
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument    
   Dim obj As NotesembeddedObject
   Dim rti As NotesRichTextItem   
   Dim szFileName As String*256
   Dim szTitle As String
   Dim szFilter As String
   
   Dim szSelectedFile As String
   
'Set values...
   
   szFilename = Chr(0)
   szTitle = "Open File"
   szFilter = "All Files |*.*|Word Document |*.doc|Text Files|*.txt|"
   If NEMGetFile( 0, szFileName, szFilter, szTitle) <> 0 Then
      
      szSelectedFile = szFileName
      
      Set uidoc = ws.CurrentDocument      
      Set doc = uidoc.Document    
      
      uidoc.GotoField( "Bild" )
      Call uidoc.Import("JPEG Image",szSelectedFile)
   
   End If

   TEST$ = szSelectedFile
   Set rti = New NotesRichTextItem( doc, "Picture" )
   Set obj = rti.EmbedObject(EMBED_ATTACHMENT, "", TEST$)

   '         Call doc.save (True,True)
   
End Sub

Nur erstellt er mir dann im doc ein neues Feld Picture ich hab aber ein bestehendes!! Aber der Anhang hängt ganz unten am doc unter einer durchgezogenen linie aber das Feld Picture ist ganz wo anders?

koehlerbv:
Notes macht genau, was Du willst ;-)
Statt ein neues RTI anzulegen, hol' Dir das bestehende mit NotesDocument.GetFirstItem.
Dann klappt's auch mit dem Nachbarn ;-)

Ciao,
Bernhard

robertpp:
das hab ich vorher auch schon ausprobiert:
statt:
   Set rti = New NotesRichTextItem( doc, "Picture" )
   Set obj = rti.EmbedObject(EMBED_ATTACHMENT, "", TEST$)

das

   Set rti = doc.GetFirstItem( "Picture" )
   Set obj = rti.EmbedObject(EMBED_ATTACHMENT, "", OCXREG$)

aber da bekomm ich bei set obj einen fehler

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln