2017-01-20 4 views
5

मैं अपने एक्सेल कार्यक्रम में अपने ही मदद फ़ाइल करना चाहते हैं बंद हो जाता है।VBA मोडहीन प्रपत्र समारोह कुंजी

Private Sub Workbook_Open() 

में मैं

Application.OnKey "{F1}", "Help" 

काम करता है यही कारण है कि जब मैं एक्सेल शीट पर कर रहा हूँ, लेकिन मेरे आवेदन एक पूर्ण स्क्रीन मुख्य userform जो मोडहीन प्रदर्शित किया जाता है पर आधारित है।

जब उपयोगकर्ताफॉर्म दिखाई देता है तो यह F1 कुंजी किसी भी तरह से ब्लॉक करता है और मैक्रो आग नहीं करता है।

मैंने सोचा था कि मोडहीन रूपों कोड निष्पादन अवरोधित नहीं किया।

किसी भी संकेत है कि मैं इस काम कैसे कर सकते हैं?

उत्तर

5

आप फँसाने के लिए UserForm पर ही keyDown घटना की जरूरत है। जब उपयोगकर्ताफॉर्म को फोकस मिल गया है, तो जो भी कुंजी आप दबाते हैं वह उपयोगकर्ताफॉर्म पर जाती है।

'/UserForm1 is a sample name. 

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
    If KeyCode = 112 Then '/ F1 
     Call Help 
    End If 
End Sub 
+1

कोड उपयोगी है। – harun24hr

+0

उस बारे में नहीं सोचा था। धन्यवाद Unfortunatelly इस करता, काम नहीं मैं जाल करने की कोशिश की '' Keydown' KeyUp' और 'KeyPress'। जब मैं पूर्णस्क्रीन प्रदर्शित फॉर्म के साथ कीबोर्ड का उपयोग करता हूं तो उनमें से कोई भी निकाल दिया नहीं जाता है। ऐसा लगता है कि फ़ॉर्म फोकस नहीं करता है। शुरुआत से । एक पूर्ण स्क्रीन प्रदर्शित एक फार्म है। किसी फ़ॉर्म पर छवियों का युगल और उस पर कुछ नियंत्रण के साथ एक बड़ा फ्रेम। यह सब कुछ है। – Sphinx