• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Object Browser ve nesnelerin söz dizimleri

Katılım
25 Ocak 2009
Mesajlar
110
Excel Vers. ve Dili
Excel-2007 Türkçe
Selam arkadaşlar ben özel mesaj olarak değerli Korhan hocamıza da şu an aşağıdaki sorumu yönelttim ve sorumun hocamıza sormanın yanında bu sorumun diğer arkadaşlara da faydalı olabileceğini düşünerek foruma da sormanın daha iyi olacağını düşündüm.

Sormak istediğim takıldığım bir durum olduğunda ben öncelikle Object Browser 'ı açıp oradaki arama motoruna bilmediğim nesne ismini yazıp arattırıyorum. Örneğin ForeColor ı arattığımda Label sınıfının bir üyesi olabileceğini Label.ForeColor şeklinde kullanabileceğini anlıyorum. Daha sonra da ? işaretli kısma tıkladığımda ForeColor ın açıklaması geliyor ne işe yaradığı ve nasıl yazılacağı anlatılıyor. ForeColor sonrası Text mi gelecek bunu anlayabiliyorum.

Sorum ise

With KAYIT_FORMU
.Controls("CommandButton" & X).Caption =
şeklinde KAYIT_FORMU adlı userforma ait Controls adlı nesnenin kullanılışının nasıl olacağını nerden öğreniriz.

Yani Controls("CommandButton" 2) şeklinde bir yazılışın doğru olabileceğini nerden anlayabiliriz.

Üstte yazdığım gibi Object Browser'da arattırdığımda UserForm.Controls geliyor ama ? işaretine tıkladığımda UserForm.Controls'un ardından syntax'in (sözdiziminin) ne olacağına dair bir açıklama gelmiyor. Sözdiziminin nasıl olacağını bilmediğimiz bir nesneyi kullanmayı nasıl öğrenirsiniz?



İyi çalışmalar dilerim.

Saygılarımla

Ahmet HASIM
 
Selamlar,

Userform üzerinde kullanılan nesnelerin genel amacı verileri kontrol etmek ve yönetmektir. Eğer siz formunuzun üzerine bir buton eklerseniz ve bu butonu kod ile yönetmek isterseniz aşağıdaki basit kodu yazarak çözüm üretebilirsiniz.

Kod:
UserForm1.CommandButton1.Caption = "DENEME"

Fakat aynı kodla birden fazla nesneyi kontrol etmek zor olacaktır. İşte bu gibi durumlarda genel bir kodlama yapısı kullanmak gerekecektir.

UserForm1.Controls ifadesi ile form üzerindeki tüm nesneleri döngüye alarak rahatlıkla yönetebilirsiniz. Yada For-Each-Next döngüsü ile tüm nesneleri döngüye alıp bu nesnelerden sadece istediklerinizi yönetebilirsiniz. Nesne tiplerini kontrol ederek dilediğiniz işlemi yapabilirsiniz.

Kod yazarken "UserForm1.Controls(" yazıp parantez açtığınızda kod editörü sizi zaten yönlendirmektedir. Sizden yönetmek istediğiniz nesnenin adını istemektedir. Eğer yönetmek istediğiniz nesne birden fazla ise bu yöntem kullanılmalıdır. Bu tarz işlemlerde döngüleri tercih ederken yönetmek istediğiniz nesne sayısının en az 5 olmasına dikkat edin. Bundan az sayıda nesne için döngü kurmak çok mantıklı değildir. Zaten 5 nesneden fazlası içinde döngü kullanmanız sizin menfaatinize olacaktır. Gereksiz miktarda kod yazımından tasarruf etmiş olursunuz.

Umarım açıklamalar faydalı olur.
 
Teşekkürler Korhan Bey cevabınız için

Userform1.Controls( yazdığımda Item (varg) As Object yazısı çıkıyor "varg" ne anlama geliyor variable argument mi ?
 
Link için teşekkürler hocam; iyi çalışmalar

Saygılarımla
 
Geri
Üst