2011-11-28 19 views
7

मैं का उपयोग करें:Excel में एम्बेड EXE फ़ाइल फ़ाइल

retVal = Shell("program.EXE " & filename, vbNormalFocus) 

मेरी एक्सेल स्प्रेडशीट के लिए एक कार्यक्रम की जरूरत पर अमल करने के लिए।

एक्सेल फ़ाइल में EXE फ़ाइल को एम्बेड करना संभव है?

और फिर मैं इसे कैसे निष्पादित करूं?

ideias:

1 - एक bin2str समारोह के कुछ प्रकार स्ट्रिंग (तो मैं और एक चर के रूप में कार्यक्रम में यह स्टोर कर सकते हैं एक str2bin (विपरीत)

को बाइनरी चालू करने के लिए 2 - मैं कुछ पढ़ा के बारे में OLE नियंत्रण (आप इसे वहाँ एम्बेड कर सकते हैं), लेकिन मैं वास्तव में जहां यह एक

+0

कोई डाउनवोट नहीं। क्या आप बाहरी प्रोग्राम को एक्सेल शीट के साथ एम्बेड किए बिना नहीं दे सकते हैं। – Mudassir

+0

खराब व्यवहार वाले उपयोगकर्ता को मुझे सौदा करना है। और मुझे पता है कि वे एक्सएलएस फाइलों को मिटा नहीं पाएंगे। मैंने वहां रखी गई किसी भी अन्य फाइल के बारे में इतना निश्चित नहीं है। –

+2

वितरित करना भी आसान है आप अपने प्रोग्राम के आधार पर फ़ाइलों की जांच कर सकते हैं, और यदि आपको कोई भी फाइल नहीं मिलती है, तो उपयोगकर्ता को सूचित करें। यदि वे आपके प्रोग्राम का उपयोग करना चाहते हैं तो उन्हें सभी घटकों को रखना होगा। – Mudassir

उत्तर

6

पर शुरू करने के लिए यहाँ एक रूपरेखा समाधान है कि OLE से बचा जाता है नहीं जानता:

  1. एक छिपी वर्कशीट बनाएं।
  2. exe ​​को टेक्स्ट में कनवर्ट करने के लिए एन्कोड किए गए बेस 64 का उपयोग करें।
  3. छुपा कार्यपत्रक पर वर्कशीट कोशिकाओं में वह टेक्स्ट स्टोर करें। चूंकि किसी सेल (32,767) में वर्णों की संख्या पर एक सीमा है, इसलिए आपको स्ट्रिंग को स्ट्रंक में तोड़ने की आवश्यकता होगी।

स्पष्ट रूप से आपको इस प्रक्रिया को उलटना होगा जब आप exe फ़ाइल को सहेजना और निष्पादित करना चाहते हैं।

+5

ओह। मेरे। परमेश्वर। यह अपवित्र है और मुझे खुद को मारना चाहता है। +1 –

+0

@ जीन-फ्रैंकोइस मुझे पता है, मुझे भी queezy बनाता है! –

2

आप इसका उपयोग करके ऐसा कर सकते हैं: ऑब्जेक्ट डालें और फिर 'फ़ाइल से बनाएं' का चयन करें।

अपने चादर में जोड़ने के लिए का उपयोग कर VBA:

Dim o As OLEObject 
Set o = ActiveSheet.OLEObjects.Add(Filename:="C:\program.exe") 

तो इस आदेश program.exe निष्पादित करने के लिए है:

o.Verb Verb:=xlPrimary 

सुनिश्चित नहीं हैं कि यह करने के लिए तर्क पारित करने के लिए हालांकि, (उदाहरण के लिए आपका filename)।

नोट: अविश्वसनीय अनुप्रयोग जब आप उन्हें चलाते हैं तो एक चेतावनी संकेत देते हैं।

संबंधित मुद्दे