SendKeys' de meydana gelen enteresanlık..

Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
herkese iyi geceler,

aşağıdaki gibi bir kodum var...

sub x ()
application.visible = false
.............
...............
............
.............
.................
SendKeys ("{TAB}"),0
SendKeys ("{TAB}"),0
............
...........
end sub


sendkeys metodu ile iki defa ard arda [ TAB ] tuşuna bastırmak istiyorum. [ TAB ] yerine [ numlock ] tuşuna basılıyor. Ancak, ne zaman
[ application.visible = false ] komutunu [ application.visible = true ] ile değiştiriyorum kod, yapması gerekeni yapıyor, yani [ TAB ] tuşuna iki defa ard arda basılıyor.

SendKeys metodu, application.visible = false iken neden beklenenin dışında bir işlev yapıyor acaba ? Düzeltme imkanı var mı ?
 
Selamlar,

Ben kodunuzu denedim ve işlevini yerine getirdi. Sanırım farklı bir durum söz konusu. Sakıncası yoksa kodunuzun tamamını verebilirmisiniz.
 
application.visible=false durumunda iken tab tuşuna iki kez basmanızın sebebi nedir?
 
sn Cost_Control kod aşağıdadır. Ancak bir durumu açıklamak isterim. Userformu kodun içinde F5 tuşuyla açarken sorun yok, ne zaman ki ilgili excel kitabını en baştan açıyorum o zaman problem ortaya çıkıyor.

Private Sub Workbook_Open()
UserForm2.Show
End Sub

Private Sub UserForm_Initialize()
Application.Visible = false
Sheets("hesap").Select
Range("A1:ı17,p1:u20").ClearContents
Range("A20:ı50").ClearContents
Range("x1:z50").ClearContents
For i = 1 To 17
Controls("Combobox" & i).RowSource = "o1:o335"
Controls("Frame" & i).Visible = False
Next i
Label882.Caption = [l2]
SendKeys ("{TAB}"), 0
SendKeys ("{TAB}"), 0
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
End Sub

Sn leventm;

userfom üzerinde fazla sayıda nesne var o yüzden ancak iki defa tab tuşuna basılınca cursor, istediğim textbox1' in üzerine gitmektedir.

sebebi özetle budur..

teşekkürler..
 
Sorununuza çözüm olup olmayacağı konusunda bilgim yok ama dosyanızda
SendKeys ("{TAB}{TAB}"), 0
şeklinde de deneyebilirsiniz.

Ayrıca setfocus lada istediğiniz kontrolü aktif edebilirsiniz.
 
Bu işlem için ya nesnelerin tab sıralarını vb editöründe view-tab order menüsünden sıraya koyabilir yada Sn veysel beyin belirttiği gibi setfocus komutunu kullanabilirsiniz.
 
ilginize çok teşekkür ederim arkadaşlar,

ancak her iki işlem de işe yaramadı -ya da ben beceremedim- herhalde kullandığım klavye, pc v.b araçların ayarlarıyla ilgilidir.

neyse ben yine application.visible = true kullanıp işime devam ediyorum.

emeğinizi paylaştığınız için tekrar teşekkür ederim.

iyi günler..
 
ilginize çok teşekkür ederim arkadaşlar,

ancak her iki işlem de işe yaramadı -ya da ben beceremedim- herhalde kullandığım klavye, pc v.b araçların ayarlarıyla ilgilidir.

neyse ben yine application.visible = true kullanıp işime devam ediyorum.

emeğinizi paylaştığınız için tekrar teşekkür ederim.

iyi günler..

setfocus dan önce
cancel=true

Yazıp deneyin.
 
Geri
Üst