2012-04-24 9 views
6

मेरे पास एक एक्सेल वीबीए विधि है (मैंने इसे नहीं लिखा है) जो चलता है और पहली चीजों में से एक एक्सेल सत्र Application.Visible = False छुपाता है।एक्सेल एप्लिकेशन सत्र को अनदेखा करें

हालांकि, जब विधि समाप्त हो गई है, तो यह एक्सेल सत्र को अनदेखा नहीं करता है, इसलिए यह कार्य प्रबंधक में खुला और सूचीबद्ध रहता है लेकिन यह छुपा हुआ और प्रतीत होता है।

क्या किसी को पता है कि वीबीई खुला है (इसलिए कोई भी तत्काल विंडो तक पहुंच सकता है और Application.Visible = True चला सकता है), इस एक्सेल सत्र को कैसे खोलें? फिलहाल, मुझे बस कार्य प्रबंधक का उपयोग करके सत्र को मारना है।

यह एक बड़ा सौदा नहीं है, लेकिन अगर कोई जानता है कि इस तरह के सत्र को पुनर्जीवित करना है तो मुझे कोई दिलचस्पी है।

+1

यह खराब प्रोग्रामिंग का मामला है। भले ही हम सभी छिपे हुए एक्सेल उदाहरणों को बंद करने के लिए एक कोड दें, जो आपकी मदद नहीं करेगा। क्योंकि अगली बार जब आप उस मैक्रो को चलाते हैं, तो आपको एक ही समस्या का सामना करना पड़ेगा। मौजूदा कोड को संपादित क्यों न करें और अंत में 'एप्लिकेशन। दृश्यमान = सही' जोड़ें? क्या वीबीए पासवर्ड सुरक्षित है? –

+0

@ सिद्धार्थ रूट मैं पूरी तरह से सहमत हूं (आपको शेष कोड की स्थिति देखना चाहिए!)। मुझे बस कुछ रिपोर्ट तैयार करने के लिए ऐप चलाने की ज़रूरत है और जब मैं वीबीई को खोलना भूल जाता हूं तो सत्रों को मारने के साथ तंग आ रहा हूं। दुर्भाग्य से, मेरे पास आवश्यक परिवर्तन करने के लिए नियंत्रण नहीं है। जैसे मैंने कहा, यह एक बड़ा सौदा नहीं है, लेकिन अगर कोई शॉर्टकट कुंजी या इसे वापस लाने के लिए कुछ भी जानता था तो बस दिलचस्पी थी। – markblandford

+1

हाय Creamyegg। यदि आप कोई एक्सेल फ़ाइल खोलते हैं तो यह वर्तमान एक्सेल उदाहरण दिखाई देगा। – CaBieberach

उत्तर

9

जैसा कि मैंने कहा, यह एक बड़ा सौदा नहीं है, लेकिन अगर किसी को शॉर्टकट कुंजी या इसे वापस लाने के लिए कुछ भी पता था तो बस दिलचस्पी थी।

कोई शॉर्टकट नहीं है जैसा कि मुझे पता है लेकिन आप यह कर सकते हैं।

ओपन एमएस वर्ड और इस कोड को वीबीए संपादक में पेस्ट करें। Excel के सभी खुले उदाहरण बंद करें जो दृश्यमान हैं और फिर चलाएं और यह कोड। यह एक छिपा उदाहरण दिखाई देगा। उदाहरण को मैन्युअल रूप से बंद करें और यदि अधिक उदाहरण हैं तो प्रक्रिया को दोहराएं।

Option Explicit 

Sub Sample() 
    Dim oXLApp As Object 

    '~~> Get an existing instance of an EXCEL application object 
    On Error Resume Next 
    Set oXLApp = GetObject(, "Excel.Application") 
    On Error GoTo 0 

    oXLApp.Visible = True 

    Set oXLApp = Nothing 
End Sub 

मैं जानबूझ कर छिपा उदाहरण के रूप में एक पाश उपयोग नहीं कर रहा कार्यपुस्तिका जो आप को बचाने के लिए पसंद कर सकते हैं हो सकता है?

यदि आप चाहते हैं कि आप उपरोक्त कोड को एक वीबी स्क्रिप्ट दस्तावेज़ में परिवर्तित कर सकें जिसे आप सीधे डेस्कटॉप से ​​चला सकते हैं।

दुर्भाग्यवश, मेरे पास आवश्यक परिवर्तन करने के लिए नियंत्रण नहीं है।

आपका क्या मतलब है? क्या वीबीए पासवर्ड सुरक्षित है? यदि नहीं तो मेरा सुझाव अभी भी

यह खराब प्रोग्रामिंग का मामला है। भले ही हम को सभी छुपे हुए एक्सेल उदाहरण बंद करने के लिए कोड दें, जो आपकी मदद नहीं करेगा। क्योंकि अगली बार जब आप उस मैक्रो को चलाते हैं, तो आपको एक ही समस्या का सामना करना पड़ेगा। मौजूदा कोड को संपादित क्यों न करें और एप्लिकेशन जोड़ें। दृश्य = अंत में सही है? वीबीए पासवर्ड सुरक्षित है? - सिद्धार्थ रूट 28 मिनट पहले

+0

धन्यवाद @ सिद्धार्थ रूट, मैं इसे दूंगा। मेरा मतलब यह है कि मैं परिवर्तन करने में सक्षम नहीं हूं, यह है कि मेरे स्थान पर, नौकरशाही एक सरल बनाने के लिए, एक लाइन कोड परिवर्तन भयानक है और इसलिए मैं वहां भी जाना नहीं चाहता हूं। यह दर्द के लायक नहीं है! :) – markblandford

+0

खूबसूरती से काम करता है, धन्यवाद! – markblandford

0

मुझे एक ही समस्या थी और इसे कोड लाइन रीडरिंग के साथ हल किया गया।

इस ActiveWorkbook.Close जैसी लाइन की तलाश करें जो कारण हो सकता है कि आप सत्र को अनदेखा नहीं कर सकते हैं।

यदि आप इसे पा सकते हैं, तो Application.Visible = True को इससे पहले और वॉयला डालें।

0

कोड के रूप में:

sub runthis() 
    dim xl as object 
    set xl = new excel.application 'create session 
    xl.workbooks.open filename:= "«yourpath»" 'open wb in the new session 
    xl.visible=true 'this is what you need, show it up! 
    'rest of the code 
end sub 
0

A good solution!

वर्ड खोलें, यह सोचते हैं तुम्हारे पास है, और वहाँ VBA संपादक खोलें, तो और प्रकार तत्काल विंडो (Ctrl + G) खोलने:

Getobject(, "Excel.Application").Visible = true

और प्रेस दर्ज करें।

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