Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Axel Janssen temp am 09.10.03 - 09:29:39
-
Hi,
wir haben für diese Funktionalität nun eine .dll.
Ich frag mich nun ob das nicht einfach auch mit der Windows-Api, d.h. ohne Einbindung einer selbstgeschriebenen dll geht:
In einem Feld "body" sind x Attachments und y eingebettete OLE-Objekte.
Die OLE-Objekte sollen in Attachments umgewandelt werden.
Gruß Axel
-
Ole - Objekte als .ole Files in ein bestimmtes Verzeichnis mit startender DocId oder DocUnidID im Dateinamen...
Geht das???
-
Hi,
die dll würde mich auch interessieren, habe ein gewachsene MS-Library, die dringend überarbeitetet (entOLEsiert) werden müßte.
Gibts da ne Chance?
Danke,
slage
-
Muss hier erst durchgesprochen werden. Der entscheidende Mann ist derzeit nicht greifbar.
Gruß Axel
-
Geht das nicht auch mit Script?
...
Set doc = uiDoc.document
Set item = doc.GetFirstItem("object")
obs = item.EmbeddedObjects
Forall ob In obs
Select Case ob.Type
Case EMBED_OBJECT:
strClass = ob.Class
Select Case strClass
Case "Word.Document.8"
strExtension = ".doc"
Case "Excel.Sheet.8"
strExtension = ".xsl"
...
End Select
strPathFile = "c:\temp\" & ob.Source & strExtension
Set handle = ob.Activate( False )
handle.SaveAs(strPathFile)
Call ob.remove()
Call item.EmbedObject(EMBED_ATTACHMENT, strClass, strPathFile)
Kill strPathFile
End Select
End Forall
Call doc.Save(True,True,True)
Gruss
joringel
-
Geht das nicht auch mit Script?
Kann sein ;D
Hilft mir bei meiner Anwendung leider auch nicht unbedingt weiter, weil ... bin ich jetzt zu faul zu erklären.
Jedenfalls vielen dank für den code.
Werds mal ausprobieren.
HALT: WICHTIGE FRAGE:
Gibt es irgendwo ein Dokument mit dem mapping der NotesEmbeddedObject.Class properties und der Dateiendung ???
Also eine Übersicht der Art :
Word.Document.* -> .doc
Excel.Sheet.* -> .xls
WordPro.Document -> .lwp
Gruß Axel
-
Such mal bei Microsoft, die hatten das mal ich glaub in einem KB-Artikel. Ansonsten dürfte ein Googeln durch Fileextensions eine Menge an Infos liefern.
-
Gibt es wirklich keine (auch kommerzielle) Lösung als .dll ???
OLE-Objekt zu Attachment?
Die LotusScript Lösung mit activate() benötigt nach den Angaben von Kollegen die entsprechenden Anwendungen installiert auf dem Rechner, wo das activate ausgeführt wird (hier Server). Das wird nur im Notfall akzeptiert.
Ausserdem werden angeblich manche Elemente nicht korrekt ins Attachment übernommen (Textmarken).
<kanns_nicht_besser_ausdruecken>
Ich habs mit Java (jakarta.poi) versucht und bin zu dem zwischenzeitlichen Ergebnis gekommen, dass das damit (noch) nicht geht.
Ein OLE-Objekt ist eine Art Filesystem mit Unterverzeichnissen etc. (s. Attachment, mir war das bisher nicht bewusst). Ich kann auf die Entries in diesem Filesystem mit POI zugreifen. Leider ist OLE aber nicht besonders trivial. Der vielversprechend klingende DocumentEntry WordDocument (eingebettetes Word-Ole Objekt) ist nicht das Word-Dokument an sich, d.h. da fehlt oben und unten einiges (laut Hex-Editor).
</kanns_nicht_besser_ausdruecken>
Werde hierüber weiter informieren und bin dabei eine Anfrage an die POI User group zu starten.
Gruß Axel