PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] تعیین کلید اختصاصی جهت انجام یک دستور



آندیا1370
2016/01/12, 07:40
لطفا کمکم کنید

با سلام به شما اساتید گرامی

یه سوالی دارم هرکاریم میکنم نمیتونم حلش کنمhttp://barnamenevis.org/images/smilies/yahoo/123.gifhttp://barnamenevis.org/images/smilies/yahoo/123.gif

میخواستم بدونم
چطور میشه کدی نوشت که وقتی یک کلید رو فشار دادیم یک پیام ظاهر بشه

مثلا وقتی کلید HOME و یا کلید + رو فشردیم
یک پیام ظاهر بشه


اگه میشه کمکم کنیدhttp://barnamenevis.org/images/smilies/yahoo/107.gifhttp://barnamenevis.org/images/smilies/yahoo/123.gif


با تشکر از همه

iranweld
2016/01/12, 08:28
با سلام

با ماکرونویسی یا vb چقدر آشنایی دارید؟

mobinsaffarpour
2016/01/12, 09:30
خدمت شما

آندیا1370
2016/01/12, 10:21
خدمت شما


یک دنیا ممنونم ازتون
خیلی عالی بود:min18::min18:


دوستانی که این پست رو دنبال میکنن به ادامه مطلب هم توجه کنن لطفا:p

آندیا1370
2016/01/12, 10:42
خدمت شما



فقط یه سوال دیگه

ببخشید توروخدا

اگر بخوام بجای پیام ظاهر شده
با زدن کلید Home یک یوزرفرم اجرا بشه
و بعدش با زدن کلید Space همون یوزرفرمی که باز شده بود بسته بشه (یعنی کلید Esc رو نزنم و با Space هم بسته بشه)
چیکار باید کرد؟؟؟؟؟؟؟؟؟؟؟؟؟

ممنون از توجهتون

mobinsaffarpour
2016/01/12, 15:51
با سلام . تقدیم به شما

بازشدن UserForm با استفاده از کلید Home و بستن آن با استفاده از کلید Space

آندیا1370
2016/01/13, 07:54
با سلام . تقدیم به شما

بازشدن UserForm با استفاده از کلید Home و بستن آن با استفاده از کلید Space


واقعا عالی بود:)
دست شما درد نکنه:min13:
خیلی خیلی خوب بود




پس برای آشنایی بقیه دوستان باید بگیم روال کار اینجوری شد:





اول از همه باید توی ورک بوک اصلی کد زیر رو بنویسیم




Private Sub Workbook_Activate()
Application.OnKey "{HOME}", "MSG"
End Sub





دوم اینکه یک ماژول بصورت زیر بسازیم

Sub Msg()
MsgBox "message", , "onvan"
End Sub


که بجای دکمه "{HOME}" میتونیم از هرکدوم از کدهای
جدول اول
استفاده کنیم(که در پایین این مطالب گذاشتم)




در آخر هم باید در یوزرفرم مربوطه کد زیر رو بنویسیم و تمام....:min1:


Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 32 Then Unload Me
End Sub




که میتونیم بجای Space با کد 32 هر کلید دیگه ای رو با استفاده از جدول دوم که در پائین جدول اول آوردم قرار بدیم...

با تشکر از همه دوستان علی الخصوص آقای mobinsaffarpour (http://forum.exceliran.com/member.php/9615-mobinsaffarpour)








جدول اول




Key
Code


BACKSPACE
{BACKSPACE} or {BS}


BREAK
{BREAK}


CAPS LOCK
{CAPSLOCK}


CLEAR
{CLEAR}


DELETE or DEL
{DELETE} or {DEL}


DOWN ARROW
{DOWN}


END
{END}


ENTER (numeric keypad)
{ENTER}


ENTER
~ (tilde)


ESC
{ESCAPE} or {ESC}


HELP
{HELP}


HOME
{HOME}


INS
{INSERT}


LEFT ARROW
{LEFT}


NUM LOCK
{NUMLOCK}


PAGE DOWN
{PGDN}


PAGE UP
{PGUP}


RETURN
{RETURN}


RIGHT ARROW
{RIGHT}


SCROLL LOCK
{SCROLLLOCK}


TAB
{TAB}


UP ARROW
{UP}


F1 through F15
{F1} through {F15









جدول دوم





Character 0
(Chr(0)
:




Character 1
(Chr(1)
:




Character 2
(Chr(2)
:




Character 3
(Chr(3)
:




Character 4
(Chr(4)
:




Character 5
(Chr(5)
:




Character 6
(Chr(6)
:




Character 7
(Chr(7)
:




Character 8
(Chr(8)
:
[Backspace]



Character 9
(Chr(9)
:
[Tab]
(vbTab)


Character 10
(Chr(10)
:
[Line Feed Return]
(vbLf)


Character 11
(Chr(11)
:
[Shift+Enter]
(vbVerticalTab)


Character 12
(Chr(12)
:
[Page Break]
(vbFormFeed)


Character 13
(Chr(13)
:
[Carriage Return]
(vbCr)


Character 14
(Chr(14)
:
[Column Break]



Character 15
(Chr(15)
:
[Shift In]



Character 16
(Chr(16)
:




Character 17
(Chr(17)
:




Character 18
(Chr(18)
:




Character 19
(Chr(19)
:




Character 20
(Chr(20)
:




Character 21
(Chr(21)
:




Character 22
(Chr(22)
:




Character 23
(Chr(23)
:




Character 24
(Chr(24)
:




Character 25
(Chr(25)
:




Character 26
(Chr(26)
:




Character 27
(Chr(27)
:




Character 28
(Chr(28)
:




Character 29
(Chr(29)
:




Character 30
(Chr(30)
:




Character 31
(Chr(31)
:




Character 32
(Chr(32)
:
(space)



Character 33
(Chr(33)
:
!



Character 34
(Chr(34)
:
"



Character 35
(Chr(35)
:
#



Character 36
(Chr(36)
:
$



Character 37
(Chr(37)
:
%



Character 38
(Chr(38)
:
&



Character 39
(Chr(39)
:
'



Character 40
(Chr(40)
:
(



Character 41
(Chr(41)
:
)



Character 42
(Chr(42)
:
*



Character 43
(Chr(43)
:
+



Character 44
(Chr(44)
:
,



Character 45
(Chr(45)
:
-



Character 46
(Chr(46)
:
.



Character 47
(Chr(47)
:
/



Character 48
(Chr(48)
:
0



Character 49
(Chr(49)
:
1



Character 50
(Chr(50)
:
2



Character 51
(Chr(51)
:
3



Character 52
(Chr(52)
:
4



Character 53
(Chr(53)
:
5



Character 54
(Chr(54)
:
6



Character 55
(Chr(55)
:
7



Character 56
(Chr(56)
:
8



Character 57
(Chr(57)
:
9



Character 58
(Chr(58)
:
:



Character 59
(Chr(59)
:
;



Character 60
(Chr(60)
:
<



Character 61
(Chr(61)
:
=



Character 62
(Chr(62)
:
>



Character 63
(Chr(63)
:
?



Character 64
(Chr(64)
:
@



Character 65
(Chr(65)
:
A



Character 66
(Chr(66)
:
B



Character 67
(Chr(67)
:
C



Character 68
(Chr(68)
:
D



Character 69
(Chr(69)
:
E



Character 70
(Chr(70)
:
F



Character 71
(Chr(71)
:
G



Character 72
(Chr(72)
:
H



Character 73
(Chr(73)
:
I



Character 74
(Chr(74)
:
J



Character 75
(Chr(75)
:
K



Character 76
(Chr(76)
:
L



Character 77
(Chr(77)
:
M



Character 78
(Chr(78)
:
N



Character 79
(Chr(79)
:
O



Character 80
(Chr(80)
:
P



Character 81
(Chr(81)
:
Q



Character 82
(Chr(82)
:
R



Character 83
(Chr(83)
:
S



Character 84
(Chr(84)
:
T



Character 85
(Chr(85)
:
U



Character 86
(Chr(86)
:
V



Character 87
(Chr(87)
:
W



Character 88
(Chr(88)
:
X



Character 89
(Chr(89)
:
Y



Character 90
(Chr(90)
:
Z



Character 91
(Chr(91)
:
[



Character 92
(Chr(92)
:
\



Character 93
(Chr(93)
:
]



Character 94
(Chr(94)
:
^



Character 95
(Chr(95)
:
_



Character 96
(Chr(96)
:
`



Character 97
(Chr(97)
:
a



Character 98
(Chr(98)
:
b



Character 99
(Chr(99)
:
c



Character 100
(Chr(100)
:
d



Character 101
(Chr(101)
:
e



Character 102
(Chr(102)
:
f



Character 103
(Chr(103)
:
g



Character 104
(Chr(104)
:
h



Character 105
(Chr(105)
:
i



Character 106
(Chr(106)
:
j



Character 107
(Chr(107)
:
k



Character 108
(Chr(108)
:
l



Character 109
(Chr(109)
:
m



Character 110
(Chr(110)
:
n



Character 111
(Chr(111)
:
o



Character 112
(Chr(112)
:
p



Character 113
(Chr(113)
:
q



Character 114
(Chr(114)
:
r



Character 115
(Chr(115)
:
s



Character 116
(Chr(116)
:
t



Character 117
(Chr(117)
:
u



Character 118
(Chr(118)
:
v



Character 119
(Chr(119)
:
w



Character 120
(Chr(120)
:
x



Character 121
(Chr(121)
:
y



Character 122
(Chr(122)
:
z



Character 123
(Chr(123)
:
{



Character 124
(Chr(124)
:
|



Character 125
(Chr(125)
:
}



Character 126
(Chr(126)
:
~

آندیا1370
2016/01/13, 13:25
یه مشکل جدیدتر:(.

چرا وقتی توی فایل ضمیمه شده در زیر
وقتی روی دکمه کلیک میکنم در یوزرفرم باز شده
وقتی میخوام عددی وارد کنم
بجای اینکه اون عدد توی تکست باکس بشینه
باعث میشه که یوزرفرم بسته بشه؟؟؟؟

یعنی روی هر کلیدی روی کیبورد کلیک کنم یوزرفرم بسته میشه؟؟؟؟؟

چرااااااااااا؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟

Ali Parsaei
2016/01/14, 19:07
سلام،
به خاطر اينکه دستور IF را نبسته ايد، کد را اينجوري بنويسيد:


Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 32 Then
UserForm7.Show
Unload Me
End If
End Sub

آندیا1370
2016/01/16, 09:44
سلام،
به خاطر اينکه دستور IF را نبسته ايد، کد را اينجوري بنويسيد:


Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 32 Then
UserForm7.Show
Unload Me
End If
End Sub





بله بله
حق با شماست آقای مهندس:min23:

خیلی خیلی ممنونم

چقد عالی شد:min18:
دستتون درد نکنه

پس من فایل تصحیح شده رو هم ضمیمه میکنم که دوستانی که تمایل دارن بتونن دانلودش کنن و طرز کارش رو بهتر درک کنن

fatemeh160
2016/01/16, 09:48
اون قسمتی که نوشتید هر عدد کدوم دکمه کیبرد هست خیلی برام جالب بود.ممنون