お世話になります。
Excelのシートの削除についてなのですが、
procedure TForm1.Button1Click(Sender: TObject);
var
Excel: Variant;
WorkBook: Variant;
WorkSheet: Variant;
Aftertmp: Variant;
begin
Excel := CreateOleObject('Excel.Application');
WorkBook := Excel.Workbooks.Add;
while Workbook.sheets.count < 3 do
begin
Workbook.sheets.add;
end;
Aftertmp := WorkBook.WorkSheets[Workbook.sheets.count];
WorkBook.WorkSheets[1].Copy( ,Aftertmp);
WorkSheet := WorkBook.WorkSheets[4];
WorkSheet.name := 'hoge';
Workbook.sheets[2].delete; //※
Excel.Visible := True;
end;
このコードより作成されたシートは
Sheet1 、 Sheet3 、 hoge
でした。
※の部分で、「シートの削除確認」ダイアログが出てきたのですが
これを出さないようにする方法はあるのでしょうか?
(シートは削除されてOKです)
また、そのExcelにて、キーボードの矢印でセルを移動しようとすると
ページごとに動いてしまいます。
この解消法はありますか?
ご存知の方がいましたら、どうぞお願い致します。
>※の部分で、「シートの削除確認」ダイアログが出てきたのですが
>これを出さないようにする方法はあるのでしょうか?
この部分だけ。
WorkSheet := WorkBook.WorkSheets[2];
Excel.Application.DisplayAlerts := False;
WorkSheet.Delete;
Excel.Application.DisplayAlerts := True;
>また、そのExcelにて、キーボードの矢印でセルを移動しようとすると
>ページごとに動いてしまいます。
ページごとって?シートってことですかね。
kazuさん、出来ました!
ありがとうございます。
変な動きをしていた現象は起きなくなりました。
"ScrollLock"キーを押した状態になっていたようです。。
気付かないうちにキーを押してしまった可能性が濃厚ですが
他の要因もあるかもしれないので少し調べてみようと思います。
とてもありがとうございました。
ツイート | ![]() |