Ole-Objekt in Datei speichern?

  • servus!


    ich habe folgendes problem:
    ich habe ein notesdokument mit einem embedded object, z.B. word. jetzt möchte ich die eingebettete datei wieder extrahieren und speichern, jedoch ohne den weg über die wordapplikation zu gehen.
    das ganze soll vollkommen und die jeweilige hostanwendung auskommen.


    beim speichern wird das eingebettet object in mehreren $FILE-items aufgeteilt (je 8KB) und ein weiteres $FILE-item mit den informationen welche $FILE-items zusammengehören.


    habe das notesdoc schon als xml exportiert und habe schon mal herrausgefunden das der inhalt von <filedata> mit base64 encodiert wurde.


    nur wie muss ich die einzelteile zusammensetzen?
    hat jemand schon damit erfahrungen gesammelt?
    geht das überhupt?


    greetz leth

  • Hallo,


    ich habs nicht probiert, aber hast du mal mit der NotesRichTextItem Klasse gespielt?


    Die hat eine Eigenschaft EmbeddedObjects.


    Hier ein Beispielcode aus der Hilfe:


    Dim doc As NotesDocument
    Dim rtitem As Variant
    '...set value of doc...
    Set rtitem = doc.GetFirstItem( "Body" )
    If ( rtitem.Type = RICHTEXT ) Then
    Forall o In rtitem.EmbeddedObjects
    If ( o.Type = EMBED_ATTACHMENT ) Then
    Call o.ExtractFile( "c:\samples\" & o.Source )
    Call o.Remove
    Call doc.Save( False, True )
    End If
    End Forall
    End If


    Vielleicht geht das auch mit Ole-Objekten.


    Gruß
    Dirk


    P.S. Ich habe nur Notes 6. Ob's auch mit weniger geht weiß ich nicht. :D

    Um wirklich Erfolg im Leben haben zu können, muß man 2 Regeln stets befolgen:


    1. Erzähl nicht alles, was du weißt.

  • problem ist, du kannst OLE-Objekte nicht einfach so als datei speichern! du musst es mit der anwendung öffnen und dann die anwendung steuern (speichern unter ...).


    aber dazu braucht man immer die anwendung!!!


    die frage is halt, kann man z. b. aus dem xml des notes dokumentes die datei aus dem ole objekt "reproduzieren".

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Hmmm, ok.


    also wenn ich das richtig verstanden habe, dann ist die Frage doch: wie bekomme ich die Orginaldatei aus einem OLE-Objekt extrahiert?


    Richtig?
    Ich fürchte da kann ich dir nicht weiterhelfen.


    Gruß
    Dirk Mika

    Um wirklich Erfolg im Leben haben zu können, muß man 2 Regeln stets befolgen:


    1. Erzähl nicht alles, was du weißt.

  • genau das ist meine frage!


    wobei das wort "originaldatei" ja eigentlich nicht stimmt, den ein objekt wird ja nicht zwangsläufig aus einer datei erstellt.


    bin gerade dabei mit der ibm zu dem thema zu kommunizieren. aber ich habe das gefühl das man in mainz, indien und irland den ein oder anderen ahnungslosen studenten zuviel beschäftigt ...

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)