はじめまして。Delphi7+Excel2000環境を使用しております。
CreateOleObjectでExcelを起動し、1つのブックで4つのシートを作成しそれぞれを表示させる様にウィンドウも4つ作成し、並べて表示させております。
Delphiからデータを転送し編集した後、保存(FWorkBook.SaveとFWorkBook.SaveAs(ファイル名))を実行するとウィンドウ番号1のシートがActiveなウィンドウと同じシートをActiveにしてしまいます。
いつでも4つのシートを順番が変わることなく、それぞれのウィンドウに表示させたいのですが、どのようにすればよいでしょうか?
よろしくお願いいたします。
ナカシンです。いろいろ実験した結果ウィンドウ番号1をアクティブにすれば、シートが入れ替わらないようです。
そこで、以下のようにウィンドウをアクティブにする処理を追加したのですが、指定のウィンドウがアクティブになりません。
FExcel := CreateOleObject('Excel.Application');
FExcel.Visible:= True;
FWorkBook := FExcel.WorkBooks.Open('AAA.xls');
FWorkBook.Windows[1].Activate;
FWorkBook.Save
ウィンドウをアクティブにするには、どのようにすればよいのでしょうか?
よろしくお願いいたします。
解決できました。
FWorkBook.Windows[1].Activate; ←ウィンドウ番号ではダメ
FWorkBook.Windows['AAA.xls:1'].Activete; ←ブック名+ウィンドウ番号ならOK。
ツイート | ![]() |