Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 12.11.02 - 15:58:55

Titel: Attachment abspeichern
Beitrag von: Don Pasquale am 12.11.02 - 15:58:55

dachte ich sei einfach, leider bekomme ich in dieser Zeile
If ( rtitem.Type = RICHTEXT ) Then  

ein   ** OBJECT VARIABLE NOT SET

Wer kann mir helfen ?


Vielen Dank

Don Pasquale


Code
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection   
   Dim doc As NotesDocument
   Dim MergeDoc As NotesDocument
   Dim MergeView As NotesView
   Dim rtitem As NotesRichTextItem
   Dim w As New NotesUIWorkspace
   Dim WordDocs As Variant
   Dim WordDoc As Variant
   Dim WordDoc2 As Variant   
   Dim object As Variant
   Dim WordObj As Variant
   Dim range As Variant
   Dim tableobj As Variant
   Dim i As Integer
   Dim temp As String
   Dim templateName As String
   
   '**********************************************
'   Dim doc As NotesDocument
'   Dim session As New NotesSession
'   Dim db As NotesDatabase
   Dim user As String   
   Dim Reaktionsbriefpfad As String
   Set db = session.CurrentDatabase   
   
   user = session.UserName   
   Set doc = db.GetProfileDocument( "e4frmProfil" , user ) 
   Reaktionsbriefpfad = doc.Serien_1_Pfad(0) 
   '**********************************************   
   
   
   Set db = session.CurrentDatabase
   Dim dlgDoc As New NotesDocument(db)
   OK=False
   OK=w.dialogbox("TemplatePicker", True, True, False, False, False, False, "Choose Template",dlgDoc)
   If OK Then
      templateName=dlgDoc.templatechoices(0)
      Set MergeView = db.GetView( "Serienbriefvorlagen" )
      Set MergeDoc = MergeView.GetDocumentByKey(templateName,True)
'      Das Attachment wird abgespeichert unter Reaktionsbriefpfad
      
      If MergeDoc.HasEmbedded Then                        
         Set rtitem = doc.GetFirstItem( "Body" )
         If ( rtitem.Type = RICHTEXT ) Then   ' **************** OBJECT VARIABLE NOT SET
            Forall o In rtitem.EmbeddedObjects
               If ( o.Type = EMBED_Attachment ) Then
       'Messagebox o.name                              
                  Call o.ExtractFile ( Reaktionsbriefpfad & "\" & Filename1 )      'Anhang auf Laufwerk "Pfad" speichern
               End If
            End Forall
         End If
      End If
   End If
Titel: Re:Attachment abspeichern
Beitrag von: Axel am 12.11.02 - 16:07:10
Hi,

du beziehst dich eine Zeile davor auf doc

Set rtitem = doc.GetFirstItem( "Body" )

und doc ist laut deiner Zuweisung ein Profildokument.

Set doc = db.GetProfileDocument( "e4frmProfil" , user )
   
Meines Wissens funktionieren RTF-Felder nicht in Profildokumenten.

Axel

         

Titel: Re:Attachment abspeichern
Beitrag von: ata am 12.11.02 - 19:11:26
... das rtItem scheint nicht vorhanden zu sein. Prüfe die Objekte vorher ab mit ...

If doc.HasItem("ItemName")....

@Axel
Ob die in Profildokumentren nicht verwendet werden können ist mir unbekannt, werde ich für mich mal checken....

ata
Titel: Re:Attachment abspeichern
Beitrag von: ata am 12.11.02 - 22:06:19
... mir ist noch was aufgefallen:

du überprüfst das MergeDoc auf Embedded, das Richtext-Feld "Body" ziehst du dann aber aus dem doc...

ata
Titel: Re:Attachment abspeichern
Beitrag von: Axel am 13.11.02 - 08:55:31
@ata

RTF-Felder können anscheinend doch in Profildokumenten verwendet werden. Mir war so, irgendwo gelesen zu haben, dass es nicht möglich sei.

Allerdings gibt es in manchen Fällen doch Probleme.

Siehe hier:

http://www-1.ibm.com/support/docview.wss?rs=203&q=document%2BText%2BProfile%2BRich&uid=sim1030e2dc1c4a4e67285256c250071eb3c (http://www-1.ibm.com/support/docview.wss?rs=203&q=document%2BText%2BProfile%2BRich&uid=sim1030e2dc1c4a4e67285256c250071eb3c)


Axel
Titel: Re:Attachment abspeichern
Beitrag von: Don Pasquale am 13.11.02 - 09:22:01
Hallo Axel, hallo ata

Vielen Dank für Eure Hilfe

Zitat
... mir ist noch was aufgefallen:

du überprüfst das MergeDoc auf Embedded, das Richtext-Feld "Body" ziehst du dann aber aus dem doc...

ata
Das war des Pudels Kern.

Leider bin ich nicht sehr viel weiter gekommen, denn es gibt wohl verschiedene Möglichkeiten eine Datei in einem Notes DOkument zu speichern.

Die Worddateien, die ich mit "Anhängen" an das NotesDokument dranhänge werden von dieser Routine NICHT erfasst, sondern nur WordDokumente die als Objekt eingebettet sind.
Wie kann ich aber angehängte dateien abspeichern ?

Ciao
Don Pasquale

Titel: Re:Attachment abspeichern
Beitrag von: ata am 13.11.02 - 09:28:18
@Axel

... danke für den Hinweis mit den DocLinks, die in Profildokumenten nicht funktionieren. Generell verhält sich eine Profilmaske aber wie eine gewöhnliche Maske... mit dieser Ausnahme eben...

ata
Titel: Re:Attachment abspeichern
Beitrag von: sloe am 13.11.02 - 12:03:02
Hi,
bei den Zeilen
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
gibt es nur Probleme, wenn das doc kein Body-Field hat oder das doc nicht gefunden wird.
Sowohl
Set object = doc.GetAttachment( "hurz.doc" )
als auch
Set object = rtitem.GetEmbeddedObject( "hurz.doc" )
lassen sich bei mir zum "abhängen" verwenden.
sloe