Excelの行挿入の方法について


ecliptica  2004-09-09 18:17:32  No: 10888

CreateOleObjectを使用して、Excelに出力する処理を行っています。
マクロを利用しながら作成しているのですが、コピー元であるシートから
1行コピーしてきて、出力用シートにコピーした行を挿入する方法が
うまくいきません。

マクロでの
Selection.Insert Shift:=xlDown
この部分が、Delphiに置き換えられないのですが、どうやればよい
でしょうか?
よろしくお願いいたします。

ちなみにExcel2000です。


通りすがお  2004-09-15 07:20:53  No: 10889

自分でやった感じではできてるような気がします。
外していたらごめんなさい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;


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

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






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