MemoryStream⇒OLEオブジェクト変換?


いわた  2013-07-07 17:08:27  No: 44804

MemoryStreamにExcelファイルがロードされているとします。
このExcelファイルの内容を読む方法について相談させてください。

下記のように一旦「SaveToFile」でローカルにファイルを保存したものを開き直すことで
とりあえずやりたいことはできるのですが、ローカルに保存することなく
OLEオブジェクトにExcelファイルの内容を読み込ませることはできないでしょうか。

procedure TForm1.Button1Click(Sender: TObject);
var
  ExObj, ExBook, ExSheet: OleVariant;
  val: Variant;
begin
  ms.SaveToFile('C:\tmp.xls'); //ms⇒MemoryStreamのオブジェクトです。

  ExObj := CreateOleObject('Excel.Application');
  ExBook := ExObj.WorkBooks.Open('C:\tmp.xls', False);
  ExSheet := ExBook.WorkSheets['Sheet1'];

  val := ExSheet.Cells[1, 1].value;
  ShowMessage(val);
end;

どうぞ、よろしくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加