> > Dalam Ole automation juga ada yang dinamakan event. Nah untuk kasusmu
> bila
> > kamu menggunakan Delphi 5 ke atas, maka ada komponen TExcelWorksheet.
> Di
> > situ ada eventnya yang bernama OnChange. Mungkin itu yang kamu maksud.
> Gimana caranya mendapatkan cel yang berubah pada event onChange? Datanya
> sih aku dapet. Tapi gimana dengan alamat celnya?
Saya coba lihat2 di help Visual Basic for Excel (ada di instalasi excelnya
sendiri).
Di sana dikatakan bahwa Event OnChange akan menerima range cell yang
berubah, berikut saya cuplik dari help tsb :
Syntax
Private Sub Worksheet_Change(ByVal Target As Range)
Di Delphi, event tsb dideklarasikan sbg :
procedure TForm1.ExcelWorksheet1Change(Sender: TObject;
var Target: OleVariant);
Target disini bertipe data OleVariant, jadi memang kita tidak bisa
mendapatkan syntax help dari codeInsight Delphi.
Nah karena kita sudah mendapatkan object Range, sebenarnya kita bisa
melakukan operasi2 di excel dengan range yang bersangkutan, misal : menset
font menjadi Bold, menset color menjadi Red dll.
Range ini sendiri menurut definisi dari Help-nya excel bisa terdiri lebih
dari satu kolom. Saya belum men-test sendiri apakah Setiap kali cell berubah
maka OnChange akan dipanggil dengan Range yang terdiri dari satu cell,
ataukah ada operasi2 tertentu yang bisa menghasilkan Range lebih dari satu
cell.
Tapi yang jelas di object Range sendiri ada property yang namanya Column dan
Row, yang artinya adalah nomor kolom dan baris dari cell pertama yang
terdapat dalam Range.
Berikut ini adalah contoh yang menampilkan Posisi kolom dan baris dari Cell
pertama dalam range di event OnChange :
procedure TForm1.ExcelWorksheet1Change(Sender: TObject;
var Target: OleVariant);
begin
ShowMessage('Lokasi yang berubah kolom:' + inttostr(Target.column ) + '
baris:' + inttostr(Target.row));
end;
salam
Jonathan L.
Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/