Domino 9 und frühere Versionen > Entwicklung
Bild in RTF von anderem RTF
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