• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Makale SENDKEYS

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,498
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
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şlarAnahtarlar
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}
TrueTrue
FalseFalse
 

karizmax

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
41
En iyi yanıt
0
Puanları
8
Yaş
42
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
5
En iyi yanıt
0
Puanları
3
Yaş
50
Konum
Sirkeci/İstanbul
Ad Soyad
Özhan Çolak
Murat bey, sendkeys ile internet explorer penceresi boyutlandırılabilirmi?
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,498
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
ShowWindow veya apiShowWindow API fonksiyonları ile boyutlandırabilirsiniz.
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,498
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
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
5
En iyi yanıt
0
Puanları
3
Yaş
53
Konum
kocaeli
Ad Soyad
fatih kaleli
Office Vers.
2016tr
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
5
En iyi yanıt
0
Puanları
3
Yaş
50
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