1

Lotus Notes ドキュメントに埋め込まれた OLE オブジェクトに特定の問題があります。

ユーザーは Word または Excel ドキュメントを OLE オブジェクトとして (Lotus Notes ドキュメントに) 添付しており、ホスト アプリケーションで開くことができる添付ファイルとして OLE からそれらの元のドキュメントを取得する必要があります。

Lotus Notes C API を使用して、OLE オブジェクトを HDD にデタッチすることができました。問題は、Word ドキュメントがディレクトリ Word.Document.8 または Word.Document.12 の OLE バイナリにネストされていることです。OLE バイナリの名前を doc または docx に変更するだけでは機能しません。

これが、バイナリを読み取ってドキュメントを抽出する Java OLE パッケージを作成した理由です。これは機能しますが...欠点があります。

OLE クラス名を解析する必要があり、それが Word.Document.8 の場合、Word が正しく開くために、word.document.8 ディレクトリからすべてのストリームを手動で抽出し、それらを新しい .doc OLE オブジェクトとして保存するコードを記述する必要があります。 .

これは Office ドキュメントだけでは難しいことではありませんが、あらゆる種類のものを OLE に埋め込むことができ、すべての可能性を網羅することはできません。

OLE バイナリから埋め込みオブジェクトを抽出できる C API 関数はありますか (元のファイル名は重要ではありませんが、拡張子は重要です)。OLE オブジェクトをダブルクリックすると、Lotus または Word はどのように動作しますか? 何らかの方法で埋め込みドキュメントを再構築する必要がありますか? 私はそれを同じようにしたいと思います:-)

ご協力ありがとう御座います。

4

2 に答える 2

0

Notes を自動化して埋め込みオブジェクトをクリップボードにコピーしてから、クリップボードから CF_EMBEDDEDOBJECT 形式を取得してみてください。これは、OLE アイテムを Windows エクスプローラーにドラッグしてスクラップ ファイルを作成する方法と似ています。

参考文献と役立つページ:

[ CiteHistory レコード]

于 2012-09-05T01:40:23.457 に答える