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

解決


Hoby  2006-08-06 01:51:19  No: 22847

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

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

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

  よろしくお願いします。


Fusa  2006-08-06 08:38:01  No: 22848

ちょっと動作確認はできないんだけど
過去にメモした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

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

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


夏休み中です  2006-08-07 01:38:35  No: 22850

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

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


Hoby  2006-08-07 21:32:52  No: 22851

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


Hoby  2006-08-07 21:33:13  No: 22852

解決です。


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

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






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