CreateOleObjectを使用して、Excelに出力する処理を行っています。
マクロを利用しながら作成しているのですが、コピー元であるシートから
1行コピーしてきて、出力用シートにコピーした行を挿入する方法が
うまくいきません。
マクロでの
Selection.Insert Shift:=xlDown
この部分が、Delphiに置き換えられないのですが、どうやればよい
でしょうか?
よろしくお願いいたします。
ちなみにExcel2000です。
自分でやった感じではできてるような気がします。
外していたらごめんなさいm(__)m
Uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
Excel,ExcelApp,ExcelWB,ExcelWS : Variant;
begin
try
Screen.Cursor := crHourGlass;
Excel := CreateOleObject('Excel.Application');
ExcelApp := Excel.Application;
ExcelApp.WorkBooks.Open('D:\Book1.xls'); //Excelファイルを指定
ExcelWB := ExcelApp.ActiveWorkbook;
ExcelWS := ExcelApp.ActiveSheet;
ExcelWS.Range['1:1'].Copy; //現在のシートの1行目をコピー
ExcelWB.Sheets['Sheet2'].Range['3:3'].Insert; //Sheet2の3行目に挿入
ExcelApp.Visible := true;//Excelを表示
ExcelWS := UnAssigned;
ExcelWB := UnAssigned;
ExcelApp := UnAssigned;
Screen.Cursor := crDefault;
except
ExcelApp.DisplayAlerts := False;
ExcelApp := UnAssigned;
ExcelWB := UnAssigned;
ExcelWS := UnAssigned;
Excel.Quit;
end;
end;
ツイート | ![]() |