Makale SENDKEYS

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,105
En iyi yanıt
3
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
SENDKEYS( String, [Wait] )

Tuş vuruşlarını bir uygulamaya gönderir.

String

Gönderilecek tuş vuruşları.

[Wait]

True - tuş vuruşları, kontrol prosedürüne geri gönderilmeden önce işlenmelidir.
False - kontrol, anahtarlar gönderildikten hemen sonra prosedüre geri döner.



Açıklamalar
* Aktif pencereye bir veya daha fazla tuş vuruşu göndermek için bir yöntemdir.
* Yalnızca %100 güvenli olmadığından ve kullanıcının makroyu kesmemesine bağlı olduğundan son çare olarak kullanılmalıdır.
* SendKeys, şu an aktif olan pencereye tuş vuruşlarını göndermenizi sağlar ve genellikle başka herhangi bir iletişim biçimini desteklemeyen uygulamaları kontrol etmek için kullanılır. Böyle bir uygulamanın bir örneği NotePad'dir.

Bu örnek, NotePad'i açar ve dosyayı kaydetmeden önce bir veri satırı gönderir.
PHP:
Sub Not_Defterine_Yaz()
    note = Shell("NotePad.exe", vbNormalFocus)
    AppActivate note
    Application.SendKeys "Copy Data.xls C:\", True
End Sub
Birden Çok Tuş Gönderimi
Süslü parantez içinde bir sayı ekleyerek aynı anahtarı birkaç kez göndermeyi sağlayabilirsiniz.
PHP:
Application.SendKeys "{Up 6}"
Ctrl + F1 Gönderimi
PHP:
Application.SendKeys "^{F1}"
Birleştirilmiş Örnek
PHP:
Application.SendKeys "{TAB}{TAB}"
Potansiyel Sorunlar
SendKeys'i kullanırken, tüm anahtarların bir kerede gönderilmesi bir fark yaratmasa bile, gönderilen tüm anahtarların iletişim kutusuna ulaşmadığını fark edersiniz.
PHP:
Application.SendKeys "{Esc}"
Tuş Listesi

Tuşlar

Anahtarlar

SHIFT

"+"

CTRL

"^"

ALT

"%"

Backspace

{Backspace}, {BS}, {BKSP}

Break

{Break}

Caps Lock

{CapsLock}

Delete

{Delete}, {Del}

Down Arrow

{Down}

End

{End}

Enter

{Enter}, ~

Escape

{Esc}

Help

{Help}

Home

{Home}

Insert

{Insert}, {Ins}

Left Arrow

{Left}

Num Lock

{NumLock}

Page Down

{Pgdn}

Page Up

{Pgup}

Print Screen

{PrtSc}

Right Arrow

{Right}

Scroll Lock

{ScrollLock}

Spacebar

{Space} ya da " "

Tab

{Tab}

Up Arrow

{Up}

F1 - F16

{F1} .. {F16}

True

True

False

False

 

karizmax

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
31
En iyi yanıt
0
Puanları
8
Yaş
37
Konum
türkiye
Merhaba sayın admin, bu komutu kullanırken numlock düzensiz bir şekilde açıp kapanıyor, neden kaynaklandığını yazabilirmisiniz.?
 

Ozhan

Yeni Üye
Katılım
7 Kas 2018
Mesajlar
6
En iyi yanıt
0
Puanları
3
Yaş
45
Konum
Sirkeci/İstanbul
Ad Soyad
Özhan Çolak
Murat bey, sendkeys ile internet explorer penceresi boyutlandırılabilirmi?
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,105
En iyi yanıt
3
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
ShowWindow veya apiShowWindow API fonksiyonları ile boyutlandırabilirsiniz.
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,105
En iyi yanıt
3
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
benim sorumun bir cevabı varmı ?
GetKeyState API'ni ilave edip deneyiniz.
PHP:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Sub Makro()
    'Kodlar
    If GetKeyState(vbKeyNumlock) = 0 Then
        SendKeys "{NUMLOCK}", True
    End If
End Sub
 

fkalelinet

Yeni Üye
Katılım
13 Ağu 2019
Mesajlar
4
En iyi yanıt
0
Puanları
1
Yaş
48
Konum
kocaeli
Ad Soyad
fatih kaleli
Masaüstünü göster kodu göndernin en kolay yolu hangisidir. klavyedeki windows tuşu mesela nasıl bastırılır.
win+d ye bastırmak için hangi kodları girmem gerekiyor yada alternatif bir yol var mı?. excel vba yada makro ile? Teşekkürler..
 

Ozhan

Yeni Üye
Katılım
7 Kas 2018
Mesajlar
6
En iyi yanıt
0
Puanları
3
Yaş
45
Konum
Sirkeci/İstanbul
Ad Soyad
Özhan Çolak
hWnd = FindWindow(vbNullString, "Web sayfasından ileti")
If hWnd <> 0 Then childHWND = FindWindowEx(hWnd, ByVal 0&, "Button", "Tamam")
If childHWND <> 0 Then SendMessage childHWND, BM_CLICK, 0, 0

Yukarıdaki FindWindow API kod parçacığı ile internet explorer içinde açılan popup onay kutusuna otomatik click yapmaya çalışıyorum Murat bey. Popup penceresini ancak manuel mouse click ile geçebiliyorum. Sendkeys yöntemi ise işe yaramıyor. Önerebileceğiniz bir farklı bir API varmıdır. İnternet Explorer sürümü 11
 
Üst Alt