DELPHIで作成したソフトの計算結果を、エクセルで選択したセルに貼り付けたいのですが?

解決


Hoby  2006-08-06 01:51:19  No: 22847  IP: [192.*.*.*]

Delphi初心者です。Hobyと申します。

DELPHIで作成したソフトの計算結果を、エクセルで選択したセルに貼り付けたいのですが?

計算結果をクリップボードにコピーする所までは出来ているのですが、
DELPHIで作成したソフト側のボタンを押すと、エクセルで選択されている
セルに計算結果を貼り付けたいのですが。

  よろしくお願いします。

編集    削除
Fusa  2006-08-06 08:38:01  No: 22848  IP: [192.*.*.*]

ちょっと動作確認はできないんだけど
過去にメモしたStringGridの内容を
Excelに転送するコードです。

選択したセルの指定方法が
ちょっとわかんない。

良ければ
誰か、サポートしてあげてプリーズ。


procedure TForm1.OutputExcelActExecute(Sender: TObject);
var
  Excel        : Variant;
  WorkBook     : Variant;
  WorkSheet    : Variant;
  CreateNewBookFlag: Boolean;
  i, j: Integer;
  X, Y: Integer;
begin
try
  try
    Excel:=GetActiveOleObject('Excel.Application');
  except
    on EOleSysError do begin
    Excel := CreateOleObject('Excel.Application');
    end;
  end;

   WorkBook := Excel.Workbooks.Add;
   WorkSheet := WorkBook.WorkSheets[ 1 ];
   CreateNewBookFlag := True;

  Excel.Visible:=True;

  X := 0;
  Y := 0;
  for i := 0 to StringGrid1.RowCount-1 do
  begin
    for j := 1 to StringGrid1.ColCount-1 do
    begin
      WorkSheet.Cells[X + i + 1, Y + j] := StringGrid1.Cells[j, i];
    end;
  end;
  if CreateNewBookFlag then
    WorkSheet.Columns.AutoFit;
except
   Excel.DisplayAlerts := False;
   WorkBook.close;
   WorkBook:=unAssigned;
   WorkSheet:=unAssigned;
   Excel.Quit;
   Excel:=unAssigned;
end;
end;

編集    削除
Hoby  2006-08-06 17:46:33  No: 22849  IP: [192.*.*.*]

Fusaさん  ありがとうございます。

エクセルに転送はできたのですが、
問題は、現在選択されているセルの情報をどうやってGETするかなのですが・・・

編集    削除
夏休み中です  2006-08-07 01:38:35  No: 22850  IP: [192.*.*.*]

こんにちは。
アクティブなセルということでしょうか?
でしたら
Excel.ActiveCell;で
取得できます。

私はエクセルの検索時にいつも関数を使っているんですよ。

編集    削除
Hoby  2006-08-07 21:32:52  No: 22851  IP: [192.*.*.*]

夏休み中ですさん、Fusa さん
ありがとうございました。
なんとか出来ました。

編集    削除
Hoby  2006-08-07 21:33:13  No: 22852  IP: [192.*.*.*]

解決です。

編集    削除