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

解決


Hoby  2006-08-05 16:51:19  No: 22847  IP: 192.*.*.*

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

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

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

  よろしくお願いします。

編集 削除
Fusa  2006-08-05 23: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 08:46:33  No: 22849  IP: 192.*.*.*

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

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

編集 削除
夏休み中です  2006-08-06 16:38:35  No: 22850  IP: 192.*.*.*

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

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

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

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

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

解決です。

編集 削除