Autor Thema: Images in Richtextfelder attachen  (Gelesen 3810 mal)

Stephanie

  • Gast
Images in Richtextfelder attachen
« am: 21.10.04 - 14:44:28 »
Hallo Zusammen

Ich habe folgendes Problem. Würde gerne Bilder aus einem vordefinierten Pfad in diverse Notes Richtextfelder attachen.

Die Bilder werden wohl ins Dokument geschrieben jedoch nur in $FILE Felder. Kann man das umgehen.

Dim ses As New NotesSession
Dim uiw As New NotesUIWorkspace
Dim uid As NotesUIDocument
Dim ndb As NotesDatabase
Dim docCurrent As NotesDocument
Dim fileNameBig As String
Dim fileNameSmall As String
Dim rtitemBig As NotesRichTextItem
Dim rtitemSmall As NotesRichTextItem
Dim pathNameBig As String
Dim pathNameSmall As String
Dim pathNameBigEmb As String
Dim pathNameSmallEmb As String
Dim i As Integer
Dim FileNumber As String
Dim FileNumberSmall As String

Set uid = uiw.CurrentDocument
Set docCurrent = uid.Document

pathNameBig$ = "c:\Restwertzentrale\original\*.*"
pathNameBigEmb$ = "c:\Restwertzentrale\original\"
pathNameSmall$ = "c:\Restwertzentrale\thumbs\*.*"
pathNameSmallEmb$ = "c:\Restwertzentrale\thumbs\"
fileNameBig$ = Dir$(pathNameBig$, 0)

i = 0
Do While fileNameBig$ <> ""
i = i + 1
      
If i <= 15 Then
Set rtitemBig = docCurrent.GetFirstItem( "ImageB" & i )
If ( rtitemBig.Type = RICHTEXT ) Then
FileNumber$ = NotesLeft(fileNameBig$, "-", False)
Call rtitemBig.EmbedObject( EMBED_ATTACHMENT, "", pathNameBigEmb$ & fileNameBig$)
Kill pathNameBigEmb$ & fileNameBig$

fileNameSmall$ = Dir$(pathNameSmall$, 0)
Do While fileNameSmall$ <> ""
FileNumberSmall$ = NotesRight(NotesLeft(fileNameSmall$, "-", False), "_", True)
If FileNumber$ = FileNumberSmall$ Then

Set rtitemSmall = docCurrent.GetFirstItem( "ImageS" & i )
If ( rtitemSmall.Type = RICHTEXT ) Then
Call rtitemSmall.EmbedObject( EMBED_ATTACHMENT, "", pathNameSmallEmb$ & fileNameSmall$)
Kill pathNameSmallEmb$ & fileNameSmall$
Exit Do
End If
End If
fileNameSmall$ = Dir$()   
Loop
            
End If
End If
fileNameBig$ = Dir$(pathNameBig$, 0)
Loop
   
Call docCurrent.Save(True, True)

Bin für jede Hilfe dankbar.

Gruss

Stéphanie

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Images in Richtextfelder attachen
« Antwort #1 am: 21.10.04 - 23:24:52 »
Stephanie,
bitte beantworte auch Deine offenen Beiträge:
http://www.atnotes.de/index.php?topic=18857.0

Zu diesem Beitrag hier:
Meinst Du damit, dass die Attachments nicht sichtbar sind, wenn Du das Dokument öffnest?
$Files sind prinzipiell entwicklerseitig ziemlich uninteressant. Interessant ist, was das RT-Item beinhaltet. Dazu solltest Du noch ein paar Infos geben, also was genau in Deinem RT-Item enthalten ist nach dieser Aktion.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Images in Richtextfelder attachen
« Antwort #2 am: 21.10.04 - 23:31:00 »
Noch was:

Designerhilfe sagt zu embedded Object:
Zitat
For this method to work you must set a default view in the database.

Probiere auch mal einen BackendDoc.Save nach jedem attachen, nicht erst zum Schluss.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Stephanie

  • Gast
Re: Images in Richtextfelder attachen
« Antwort #3 am: 22.10.04 - 06:54:47 »
Hallo Matthias

Also meine RT-Item sind leer nach dem ich das Script laufengelassen habe, jedoch werden diverse $FILE Felder erstellt. Eine Default view habe ich auch und einen BackendDoc.Save nach jedem attachen funktioniert leider auch nicht.

Stéphanie

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Images in Richtextfelder attachen
« Antwort #4 am: 22.10.04 - 21:38:30 »
Stephanie,

hast Du den Code mal durch den Debugger laufen lassen und dort alle Variablen geprüft?

Was sein könnte auf den 1. Blick:
Code
Set rtitemBig = docCurrent.GetFirstItem( "ImageB" & i )

Das gefällt mir irgendwie nicht. Ich weiß jetzt nicht, ob hier automatisch als String ein "ImageB13" erstellt wird, wenn das Integer = 13 ist. Z.B. in einer Msgbox wird das umgewandelt. Mach mal testweise ein CStr(i) statt i.
Gibt es denn die RT-Felder "ImageB1", ImageB2 etc. in dem Dokument?

Bei mir funktioniert z.B. dieser Code hier astrein (gestartet von einem Button aus einem geöffnetem Dokument), es erscheint ein Attachment im Richtextfeld "Body":

Code
	Dim uiws As New NotesUIWorkspace
	Dim session As New NotesSession
	Dim db As NotesDatabase	
	Dim uidoc As NotesUIDocument	
	Dim doc As NotesDocument
	Dim vFile As Variant
	Dim rti As NotesRichTextItem	
	Set db = session.CurrentDatabase	
	Set uidoc = uiws.CurrentDocument
	Set doc = uidoc.Document
	vFile = uiws.OpenFileDialog( False, db.Title, "All files|*.*|", "c:\")
	If Isempty(vFile) Then Exit Sub
	Set rti = doc.GetFirstItem("Body")
	Call rti.EmbedObject( EMBED_ATTACHMENT, "", vFile(0))
	Call doc.Save( True, True )
« Letzte Änderung: 22.10.04 - 21:41:49 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re: Images in Richtextfelder attachen
« Antwort #5 am: 22.10.04 - 21:42:15 »
TMC hat einen scharfen Blick  ;)

Es muss tatsächlich
  Set rtitemBig = docCurrent.GetFirstItem( "ImageB" & cstr(i) )

heissen (oder man verwendet das + Zeichen, was Bernhard und ich nicht wollen  ;D )

Andreas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Images in Richtextfelder attachen
« Antwort #6 am: 22.10.04 - 21:49:07 »
Danke für die Bestätigung, Andreas  :)

Was mich noch wundert:
Müsste da denn nicht ein Error hochkommen wenn es das Item nicht gibt?

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Images in Richtextfelder attachen
« Antwort #7 am: 22.10.04 - 23:56:36 »
Was mir jetzt irgendwie spanisch vorkommt: Was heisst eigentlich "Die RT-Felder sind leer" ? Im Fontend solltest Du dort die Attachment-Symbole sehen, aber das RTI ist natürlich leer - das Attachment verbirgt sich dann in einem $File-Item.
Ergo: Was erwartest Du konkret ?

Ausserdem bietet Dein Code, Stèphanie, genügend nicht abgefangene Fehlermöglichkeiten, die das ganze Ding zum Krachen bringen können. Was jetzt aber nichts mit Deinem für mich nach wie vor unbekannten Problem zu tun hat.

Set rtitemBig = docCurrent.GetFirstItem( "ImageB" & cstr(i) )
heissen (oder man verwendet das + Zeichen, was Bernhard und ich nicht wollen ;D )

Das war mir jetzt natürlich ein innerer Parteitag. Kann aber diesmal leider wohl nicht beteiligt sein (Matthias hat da wahr  ;) )

Bernhard (gespannt, wie das jetzt ausgeht)

Glombi

  • Gast
Re: Images in Richtextfelder attachen
« Antwort #8 am: 23.10.04 - 09:30:33 »
Ok, ich habe es ausprobiert und was sagt man:
Set rtitemBig = docCurrent.GetFirstItem( "ImageB" & i )

geht auch  :o
Irgendwie versteh ich es ja nicht, denn es sollte ja eigentlich nur mit + anstelle von & gehen. Notes findet das Item.
Also darf man doch Äpfel und Birnen vergleichen - manchmal  ;D

Ich werde es trotzdem nicht machen, BASTA!

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Images in Richtextfelder attachen
« Antwort #9 am: 23.10.04 - 15:38:37 »
Natürlich geht "ImageB" & i

der Operator & führt gemäss Designer-Hilfe einen Cstr durch, wenn nötig.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re: Images in Richtextfelder attachen
« Antwort #10 am: 23.10.04 - 16:16:19 »
Jens, Du hast mal wieder recht.
Irgendwie war ich verwirrt wegen & und +. Ich hätte vorher einen Blick in die Designer Hilfe werfen müssen, da steht es schwarz auf weiß.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz