Send keys

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Merhaba Arkadaşlar;
detaylarını ekteki dosyada anlattığım şekilde vba da bir send keys(excelden başka bir programa data girdirme)ye ihtiyacım var.
Yardımcı olabilirmisiniz ?
 

Ekli dosyalar

Son düzenleme:

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Bir gelişme varmı acaba
 

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
yardımcı olabilecek kimse yok mu arkadaşlar
 

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
sıkıntılı sanırım biraz
 
Katılım
7 Ekim 2008
Mesajlar
17
Excel Vers. ve Dili
2000 XP
Aşağıdaki örneği inceleye bilirsiniz. SAP yi çalıştırıp Kullanıcı adı ve sifreyi girmeye yarıyor. Süreyle ilgili kodlar "Hour", minute diğer programın veriyi kaydetme süresi için makronun beklemesi sağlanıyor.

Sub STARTSAP()

sap = Shell("C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe", 1)


newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "caydin", True
SendKeys "{TAB}", True
SendKeys "Ocak2013", True
SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "{TAB 3}", True
SendKeys "{UP 1}", True

SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 2
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End Sub
 

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Aşağıdaki örneği inceleye bilirsiniz. SAP yi çalıştırıp Kullanıcı adı ve sifreyi girmeye yarıyor. Süreyle ilgili kodlar "Hour", minute diğer programın veriyi kaydetme süresi için makronun beklemesi sağlanıyor.

Sub STARTSAP()

sap = Shell("C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe", 1)


newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "caydin", True
SendKeys "{TAB}", True
SendKeys "Ocak2013", True
SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

SendKeys "{TAB 3}", True
SendKeys "{UP 1}", True

SendKeys "{ENTER}", True

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 2
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End Sub
Merhaba;
benim kullandığım program IFS,login olma kısmında sorun yok ancak ilgili sekmeler tab ile geçme ve exdelden datayı içeri yazdırma çakıldım kaldım :(
 
Katılım
7 Ekim 2008
Mesajlar
17
Excel Vers. ve Dili
2000 XP
Catalinastrap , Send Keys'i Tamamen Klavyeden işlem yapıyomusun gibi düşün , Mesela iki program arasında geçiş için ALT+TAB kullanılır windows'da , VB Düzenleyicisinde Send Keys yaz F1 bas bütün klavye komutlarının VB kod hali mevcut
SendKeys "{TAB 3}", True "TAB tusuna 3 kere bas"
SendKeys "{UP 1}", True "Yukarı OK tuşuna 1 kere basmış gibi....
 

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Catalinastrap , Send Keys'i Tamamen Klavyeden işlem yapıyomusun gibi düşün , Mesela iki program arasında geçiş için ALT+TAB kullanılır windows'da , VB Düzenleyicisinde Send Keys yaz F1 bas bütün klavye komutlarının VB kod hali mevcut
SendKeys "{TAB 3}", True "TAB tusuna 3 kere bas"
SendKeys "{UP 1}", True "Yukarı OK tuşuna 1 kere basmış gibi....
çok teşekkürler söylediğin şekilde derlemeye çalışacağım
 

catalinastrap

Özgür ALTAY
Destek Ekibi
Katılım
19 Ağustos 2006
Mesajlar
606
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO /64 bit /Türkçe
Bütün gece uğraştım ama,sonuca gidemedim bir türlü
 
Katılım
11 Temmuz 2009
Mesajlar
225
Excel Vers. ve Dili
Excel 2013 Türkçe (64 Bit)
Altın Üyelik Bitiş Tarihi
29.01.2019
Merhaba,

Ctrl+Alt+Delete SendKeys kodlarına ihtiyacım vardır.Yardımcı olabilirmisiniz,

Aşağıdakiler çalışmamaktadır:)

SendKeys ("^(%({DEL}))")
SendKeys ("^(%{DEL})")
SendKeys ("^%{DEL}")

Yada konunun 5.mesajındaki kodları zamanlanmış makro ile bilgisayar kilitli iken çalıştıramıyorum nasıl bir eklenti yapmam gerekir?
 
Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
Alıntı
http://www.teachexcel.com/excel-help/excel-how-to.php?i=386380


'Sending Ctrl-alt-del Keys - Excel

Kod:
Option Explicit

Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As
Any, lpSource As Any, ByVal nCount As Long)
Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Sub CtlAltDlt2()
Dim x As Long
Const HWND_BROADCAST = &HFFFF
Const WM_HOTKEY = &H312
Const MOD_ALT = &H1
Const MOD_CONTROL = &H2
Const VK_DELETE = &H2E
x = PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG(MOD_ALT Or
MOD_CONTROL, VK_DELETE))
End Sub


Public Function HIWORD(ByVal dwValue As Long) As Long
Call CopyMemory(HIWORD, ByVal VarPtr(dwValue) + 2, 2)
End Function


Public Function LOWORD(ByVal dwValue As Long) As Long
Call CopyMemory(LOWORD, dwValue, 2)
End Function


Public Function MAKELONG(ByVal wLow As Long, ByVal wHi As Long) As Long
If (wHi And &H8000&) Then
MAKELONG = (((wHi And &H7FFF&) * 65536) Or (wLow And &HFFFF&))
Or -2147483648#
Else
MAKELONG = LOWORD(wLow) Or (&H10000 * LOWORD(wHi))
End If
End Function
 
Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
alıntı

http://social.msdn.microsoft.com/Forums/vstudio/en-US/8280e872-fd2e-43c0-9c0a-166ba647b878/send-keys?forum=vbgeneral


Kod:
Public Class Form1

  Declare Function keybd_event Lib "user32" Alias "keybd_event" _
  (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, _
   ByVal dwExtraInfo As Integer) As Integer

  Const VK_F2 As Byte = &H71
  Const KEYEVENTF_KEYUP As Integer = &H2 ' Release key 

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    keybd_event(VK_F2, 0, 0, 0)
    keybd_event(VK_F2, 0, KEYEVENTF_KEYUP, 0)
  End Sub

End Class


Kod:
Symbolic	Value	Keyboard (or mouse) equivalent
constant name	(hexadecimal)
VK_LBUTTON	&H1	Left mouse button
VK_RBUTTON	&H2	Right mouse button
VK_CANCEL	&H3	Control-break processing
VK_MBUTTON	&H4	Middle mouse button (three-button mouse)
VK_BACK	&H8	BACKSPACE key
VK_TAB	&H9	TAB key
VK_CLEAR	&H0C	CLEAR key
VK_RETURN	&H0D	ENTER key
VK_SHIFT	&H10	SHIFT key
VK_CONTROL	&H11	CTRL key
VK_MENU	&H12	ALT key
VK_PAUSE	&H13	PAUSE key
VK_CAPITAL	&H14	CAPS LOCK key
VK_ESCAPE	&H1B	ESC key
VK_SPACE	&H20	SPACEBAR
VK_PRIOR	&H21	PAGE UP key
VK_NEXT	&H22	PAGE DOWN key
VK_END	&H23	END key
VK_HOME	&H24	HOME key
VK_LEFT	&H25	LEFT ARROW key
VK_UP	&H26	UP ARROW key
VK_RIGHT	&H27	RIGHT ARROW key
VK_DOWN	&H28	DOWN ARROW key
VK_SELECT	&H29	SELECT key
VK_PRINT	&H2A	PRINT key
VK_EXECUTE	&H2B	EXECUTE key
VK_SNAPSHOT	&H2C	PRINT SCREEN key
VK_INSERT	&H2D	INS key
VK_DELETE	&H2E	DEL key
VK_HELP	&H2F	HELP key
VK_0	&H30	0 key
VK_1	&H31	1 key
VK_2	&H32	2 key
VK_3	&H33	3 key
VK_4	&H34	4 key
VK_5	&H35	5 key
VK_6	&H36	6 key
VK_7	&H37	7 key
VK_8	&H38	8 key
VK_9	&H39	9 key
VK_A	&H41	A key
VK_B	&H42	B key
VK_C	&H43	C key
VK_D	&H44	D key
VK_E	&H45	E key
VK_F	&H46	F key
VK_G	&H47	G key
VK_H	&H48	H key
VK_I	&H49	I key
VK_J	&H4A	J key
VK_K	&H4B	K key
VK_L	&H4C	L key
VK_M	&H4D	M key
VK_N	&H4E	N key
VK_O	&H4F	O key
VK_P	&H50	P key
VK_Q	&H51	Q key
VK_R	&H52	R key
VK_S	&H53	S key
VK_T	&H54	T key
VK_U	&H55	U key
VK_V	&H56	V key
VK_W	&H57	W key
VK_X	&H58	X key
VK_Y	&H59	Y key
VK_Z	&H5A	Z key
VK_NUMPAD0	&H60	Numeric keypad 0 key
VK_NUMPAD1	&H61	Numeric keypad 1 key
VK_NUMPAD2	&H62	Numeric keypad 2 key
VK_NUMPAD3	&H63	Numeric keypad 3 key
VK_NUMPAD4	&H64	Numeric keypad 4 key
VK_NUMPAD5	&H65	Numeric keypad 5 key
VK_NUMPAD6	&H66	Numeric keypad 6 key
VK_NUMPAD7	&H67	Numeric keypad 7 key
VK_NUMPAD8	&H68	Numeric keypad 8 key
VK_NUMPAD9	&H69	Numeric keypad 9 key
VK_SEPARATOR	&H6C	Separator key
VK_SUBTRACT	&H6D	Subtract key
VK_DECIMAL	&H6E	Decimal key
VK_DIVIDE	&H6F	Divide key
VK_F1	&H70	F1 key
VK_F2	&H71	F2 key
VK_F3	&H72	F3 key
VK_F4	&H73	F4 key
VK_F5	&H74	F5 key
VK_F6	&H75	F6 key
VK_F7	&H76	F7 key
VK_F8	&H77	F8 key
VK_F9	&H78	F9 key
VK_F10	&H79	F10 key
VK_F11	&H7A	F11 key
VK_F12	&H7B	F12 key
VK_F13	&H7C	F13 key
VK_F14	&H7D	F14 key
VK_F15	&H7E	F15 key
VK_F16	&H7F	F16 key
VK_F17	&H80H	F17 key
VK_F18	&H81H	F18 key
VK_F19	&H82H	F19 key
VK_F20	&H83H	F20 key
VK_F21	&H84H	F21 key
VK_F22	&H85H	F22 key
VK_F23	&H86H	F23 key
VK_F24	&H87H	F24 key
VK_NUMLOCK	&H90	NUM LOCK key
VK_SCROLL	&H91	SCROLL LOCK key
VK_LSHIFT	&HA0	Left SHIFT key
VK_RSHIFT	&HA1	Right SHIFT key
VK_LCONTROL	&HA2	Left CONTROL key
VK_RCONTROL	&HA3	Right CONTROL key
VK_LMENU	&HA4	Left MENU key
VK_RMENU	&HA5	Right MENU key
VK_PLAY	&HFA	Play key
VK_ZOOM	&HFB	Zoom key
 
Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
Kod:
Public Class Form1

  Declare Function keybd_event Lib "user32" Alias "keybd_event" _
  (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, _
   ByVal dwExtraInfo As Integer) As Integer

  Const VK_MENU As Byte = &H12
  Const VK_DELETE As Byte = &H2
  Const VK_CONTROL As Byte = &H11
  

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    keybd_event(VK_MENU, VK_CONTROL, 0, 0)
    keybd_event(0, 0, VK_DELETE, 0)
  End Sub

End Class
 
Üst