DELPHI5.0からEXCEL2000のセルの内容を読み込んで、
DELPHI5.0で利用したいのですが、コーティングがわかりません。
自分でした事は、Office2000用のオートメーションコンポーネントを
アップデートしました。ここからどうすればいいかわかりません。
とりあえずおいておこー
procedure TForm1.Button1Click(Sender: TObject);
var
lcID: integer;
Sh: Olevariant;//よく分かってません
begin
lcID:= GetUserDefaultLCID;
if not FileExists('test.xls') then begin
MessageDlg('NoFile',mtError,[mbOK],0);
exit;
end;
try
ExcelApplication1.Connect;//せっかくあるから使うだけ
ExcelApplication1.Visible[lcID]:=True;//普通はfalse
ExcelApplication1.Workbooks.Open(ExtractFilePath(Application.ExeName)+'test', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,lcID);
sh:= ExcelApplication1.ActiveWorkbook.ActiveSheet ;
StringGrid1.Cells[1,1]:= Sh.Cells[3,1];//例えば[A,3]のセル内容を取り出したいとき
sh.Range['A4'].copy;//[A,4]セルをクリップボードにコピー
sh.range['A1'].select;//クリップボードから[A,1]にペースト
sh.paste;
sh.range['a8:an8'].copy (destination := sh.range['a10']);//この操作後クリップボードが空?になる この後 sh.paste とするとエラー
sh.range['m4:p5'].clear;//[M,4]-[P,5]のセル内容だけ消す
sh.range['m4:p5'].delete;//セルごと消して以降のセルがずれる
finally
// ExcelApplication1.ActiveWorkbook.Saved[lcID] := True;
ExcelApplication1.Workbooks.Close(lcID);
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
end;
end;
ツイート | ![]() |