Node.js経由でC++を使用して埋め込みOLEオブジェクトのクラス識別子を取得または設定する

可能な使用シナリオ

Aspose.Cellsは、OleObject.getClassIdentifier()」プロパティを提供しており、これを使用して埋め込みOLEオブジェクトのクラス識別子を取得または設定できます。OLEオブジェクトのクラス識別子は、実際にはGUID(グローバル一意識別子)です。GUIDは常に16バイト長で、クラス識別子も16バイト長です。これらはWindowsレジストリ内にあり、クライアントアプリケーション内の埋め込みリソースを開く方法に関する情報をホストアプリに提供します。

埋め込まれたOLEオブジェクトのクラス識別子を取得または設定する

次のスクリーンショットは、PowerPointの埋め込みOLEオブジェクトを含むサンプルExcelファイルから読み取ったOLEオブジェクトのクラス識別子(GUID)を示しています。

todo:image_alt_text

サンプルコード

次のサンプルコードとそのコンソール出力を参照してください。これはOLEオブジェクトのクラス識別子(GUID)を表示します。出力されたGUIDは、スクリーンショットに表示されているものと完全に一致します。

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Load your sample workbook which contains embedded PowerPoint ole object
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample.xls"));

// Access its first worksheet
const worksheet = workbook.getWorksheets().get(0);

// Access first ole object inside the worksheet
const oleObject = worksheet.getOleObjects().get(0);

// Convert 16-bytes array into GUID
const guid = new Uint8Array(oleObject.getClassIdentifier()).reduce((acc, byte) => acc + String.fromCharCode(byte), '');

// Print the GUID
console.log(guid.toUpperCase());

コンソール出力

上記のサンプルコードのコンソール出力は、サンプルExcelファイルで実行したときのものです。

  
 DC020317-E6E2-4A62-B9FA-B3EFE16626F4