Autor Thema: rtitem ???  (Gelesen 1932 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
rtitem ???
« am: 13.11.02 - 13:45:45 »
Hallo Leute,

ich stecke immer noch fest bei meinen Serienbriefen.
Folgender Code bringt immer den Fehler OBJECT VARIABLE NOT SET

Set WordDoc2 = object.Activate(True)


Und ich sehe wieder nicht warum.
Hat jemand eine Idee ?

Ciao
Don Pasquale

   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 i As Integer
   Dim temp As String
   Dim templateName As String
   
   Set db = session.CurrentDatabase
   Dim dlgDoc As New NotesDocument(db)
   
   OK=False
   OK=w.dialogbox("Reaktionsschreibenpicker", True, True, False, False, False, False, "Wählen Sie eine Vorlage",dlgDoc)
   If OK Then
      templateName=dlgDoc.templatechoices(0)
      Set MergeView = db.GetView( "Reaktionsschreibenvorlagen" )
      Set MergeDoc = MergeView.GetDocumentByKey(templateName,True)
      Set rtitem = MergeDoc.GetFirstItem("Body")
      Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")
      Set WordDoc2 = object.Activate(True) '******** OBJECT VARIABLE NOT SET
      
   End If
   

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:rtitem ???
« Antwort #1 am: 13.11.02 - 14:16:56 »
Hi,

ich denke "der Hund liegt hier gegraben".

Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")

Als Parameter erwartet die Methode einen Dateinamen. Ich denke mal das es so ausehen sollte:

Set object = rtitem.GetEmbeddedObject("document.doc")

Den Namen musst du natürlich anpassen.

Axel

           
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Myron

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
    • www.myphotoart.at
Re:rtitem ???
« Antwort #2 am: 13.11.02 - 14:24:40 »
Hallo!!

Bekommst du ein Objekt von dem GetEmbeddedObject ?? (man sieht das eh im debugger)
Hatte auch mal eon änliches Problem .. bei mir hats so ausgesehen

Forall o In doc.EmbeddedObjects
  Set handleV = o.Activate(False)
  handleV.SaveAs("C:\temp\NotesEp.xls")
  handleV.Close
  Set handleV = Nothing
End Forall
« Letzte Änderung: 13.11.02 - 14:37:14 von Myron »
Einst sagte mal ein IBMler zu Gates.. : Junger Mann, Geld macht man mit Hardware.. :-) Hohoho
--
http://www.myphotoart.at
http://www.similon.at

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:rtitem ???
« Antwort #3 am: 13.11.02 - 14:37:05 »
... wie das Axel bereits richtig erkannt hat fehlt das Objekt...

ata
Grüßle Toni :)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:rtitem ???
« Antwort #4 am: 13.11.02 - 14:37:24 »
@Myron

Ich denke nicht, dass man das "Set" weglassen kann.

Auszug aus der Designer - Hilfe:

Syntax
Set handleV = notesEmbeddedObject.Activate( show )

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Myron

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
    • www.myphotoart.at
Re:rtitem ???
« Antwort #5 am: 13.11.02 - 14:42:43 »
@Axel

habe zu schnell reagiert und mich geirrt! Hast recht, das braucht man! Wurde schon ausgebessert!

Grüße
Einst sagte mal ein IBMler zu Gates.. : Junger Mann, Geld macht man mit Hardware.. :-) Hohoho
--
http://www.myphotoart.at
http://www.similon.at

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:rtitem ???
« Antwort #6 am: 13.11.02 - 15:15:48 »
Hallo Axel,

vielen Dank, da hätte ich lange suchen müssen,
da wäre ich nie drauf gekommen. Ich dachte das sei
der Typ und kein Name. :-)

Hi,

ich denke "der Hund liegt hier gegraben".

Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")

Als Parameter erwartet die Methode einen Dateinamen. Ich denke mal das es so ausehen sollte:

Set object = rtitem.GetEmbeddedObject("document.doc")
         


Stimmt, da liegt der Hase im Pfeffer. Hardkodiert funktioniert die Sache auch. In welche Richtung muss ich suchen, damit ich von meinem Attachment den Namen bekomme ?
Die sollen ja nicht alle gleich heissen .


Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:rtitem ???
« Antwort #7 am: 13.11.02 - 15:23:44 »
Hi,

ich hab das mal so gemacht:

Dim strDateiname As String
...
Set rtitem = doc.GetFirstItem("Body")    
If rtitem.Type = RICHTEXT Then
  Forall objects In rtitem.EmbeddedObjects
    If objects.Type = EMBED_ATTACHMENT Then
       strDateiname = objects.Source
    End If  'If objects.Type = EMBED_ATTACHMENT
  End Forall  'Forall objects In rtitem.EmbeddedObjects
End If  'If rtitem.Type = RICHTEXT

Messagebox strDateiname

...


Axel
« Letzte Änderung: 13.11.02 - 15:25:43 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:rtitem ???
« Antwort #8 am: 13.11.02 - 15:35:41 »
@Axel


Auch noch Sourcecode direkt zum übernehmen,
das ist ja vom Feinsten.

Schnell noch das mergedoc angepasst und nun klappts
auch.


Da sage ich ganz herzlich Danke Schön.


Ciao

Don Pasquale

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz