2011-02-11 12 views
8

के साथ प्रोग्राम शेड्यूल नहीं कर सकता है मैंने सी # .NET में एक कंसोल प्रोग्राम विकसित किया है, जो एक्सेल इंटरऑप का उपयोग करता है। प्रोग्राम मेरी विकास मशीन पर और विंडोज सर्वर 2008 में ठीक काम करता है, अगर मैं इसे कमांड लाइन से चलाता हूं।एक्सेल इंटरऑप

जब मैंने इसे दैनिक को चलाने के लिए एक कार्य का समय निर्धारित करने की कोशिश, मैं इस कष्टप्रद इंटरॉप त्रुटि मिली:

02/11/2011 00:30:05,000 [1] FATAL My.Program [(null)] - Unable to Microsoft Office Excel open file 'E:\excel.xls' by one of several reasons: 

• The file name or path does not exist. 
• The file is being used by another program. 
• The workbook you are trying to save has the same name as the currently opened book. 

System.Runtime.InteropServices.COMException (0x800A03EC): Unable to access the Microsoft Office Excel file 'E:\excel.xls' by one of several reasons: 

• The file name or path does not exist. 
• The file is being used by another program. 
• The workbook you are trying to save has the same name as the currently opened book. 
    in Microsoft.Office.Interop.Excel.Workbooks.Open (String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, IgnoreReadOnlyRecommended Object, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad) 

फ़ाइल 'ई: \ excel.xls' मौजूद है और अगर पूरी तरह से बंद है जब कार्यक्रम शुरू होता है, क्योंकि अगर मैं अपने कमांड लाइन में एक ही प्रोग्राम चलाने की कोशिश करता हूं, तो यह अपेक्षित के रूप में समाप्त हो गया।

मैं भी सेटअप मेरी प्रशासक के रूप में चलाने के लिए काम किया है, तो यह अनुमतियाँ मुद्दे नहीं होना चाहिए।

क्या आप मेरी मदद कर सकते हैं?

+0

क्या आपने इस समस्या के समाधान को हल किया या आसपास काम किया? मेरे पास बिल्कुल एक ही समस्या है, क्या आप अपना समाधान पोस्ट कर सकते हैं? धन्यवाद! – dpac

उत्तर

1

जब आप एक निर्धारित कार्य से Office Automation करते हैं तो चीजें थोड़ा अजीब हो सकती हैं, इसलिए मैं एक अलग उपयोगकर्ता खाते को आजमाने का सुझाव दूंगा।

यदि यह लॉग इन होने पर यह काम करता है, तो मैं आपके खाते के तहत इसे चलाने के लिए कार्य शेड्यूलर सेट अप करने का सुझाव दूंगा। यदि वह अभी भी काम करता है, तो अपने खाते के समान अनुमतियों के साथ एक नया खाता बनाएं और इसे उस खाते के अंतर्गत चलाएं।

अन्यथा, व्यवस्थापक खाते के रूप में पर प्रवेश करने का प्रयास करें और सुनिश्चित करें कि एप्लिकेशन रन जब व्यवस्थापक के रूप में लॉग-इन कर सकते हैं। उदाहरण के लिए, शायद कुछ ऐसा कार्यालय है जो उपयोगकर्ता या इसी तरह के पहले इंटरैक्टिव लॉगिन के दौरान सेटअप हो जाता है।

+0

जैसा कि मैंने कहा था, मैं पहले से ही प्रशासक – muek

+0

@muek के रूप में चलाने के लिए शेड्यूल कार्य सेट अप करता हूं: यह मेरे उत्तर का उत्तर नहीं है, जब तक कि प्रशासक वह खाता न हो जिसे आप सामान्य रूप से लॉग इन करते हैं? मेरा जवाब अनुमतियों के बारे में इतना नहीं है क्योंकि यह सब कुछ है कि दोनों खातों के तहत सबकुछ एक ही सेटअप है। –

+0

मैं जो कंसोल या शेड्यूल का उपयोग कर चलाता हूं वह वही है – muek

1

The file 'e:\excel.xls' exists

ऐसा नहीं है। ई जैसे मैप ड्राइव अक्षर: प्रति उपयोगकर्ता हैं। ड्राइव केवल आपके उपयोगकर्ता खाते के तहत मान्य है, निर्धारित कार्य शायद दूसरे खाते का उपयोग कर चल रहा है। खातों के साथ झुकाव के बजाय, सार्वभौमिक नाम का उपयोग करना सबसे अच्छी बात है। \\server\share\excel.xls की तरह, यह किसी भी खाते के लिए मान्य है। Serverfault.com

+0

फ़ाइल मौजूद है। ई: ड्राइव मैप किए गए ड्राइव नहीं है, यह वास्तविक है – muek

16

पर इसके बारे में और प्रश्न पूछें। इसे देखें। ऐसा लगता है कि इस चीज़ को सही काम करने के लिए आपको एक फ़ोल्डर बनाना है।

C: \ Windows \ System32 \ config \ systemprofile \ डेस्कटॉप

इस लेख यहाँ

http://social.msdn.microsoft.com/Forums/en/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91

+0

उत्कृष्ट! यह मेरी समस्या को तुरंत हल कर दिया। मैं एक सी # आवेदन शेड्यूल कर रहा हूँ। – Rich

+0

धन्यवाद। मुझे एक ही समस्या थी। – RBalm

+1

यह निर्धारित समस्या गुणों में "उच्चतम विशेषाधिकारों के साथ चलाएं" चेकबॉक्स को जांचने के साथ-साथ मेरी समस्या का समाधान करता है। – ytoledano

0

मैं इस काम करने के लिए प्राप्त करने के लिए संघर्ष कर रहा था से लिया। मैं पूरी तरह से Google पर था, मैंने सोचा था कि मैंने एक थ्रेड की मदद से मेरी समस्या हल कर दी है जिसमें निर्धारित समय निर्धारित करने के दौरान ड्रॉप डाउन था, जिसने आपको XP को "कॉन्फ़िगर करने के लिए" विकल्प के रूप में चुनने की अनुमति दी, XP विकल्प केवल शुरुआत से कार्य बनाते समय उपलब्ध है। यह तब तक ठीक काम करता था जब तक नियत कार्य के मालिक वास्तव में मशीन में लॉग इन नहीं थे।

मैं अंत में पहचान को समायोजित करके और उपयोगकर्ता को पैनल में हार्ड कोडिंग समायोजित करके DCOM कॉन्फ़िगरेशन में इसे सही करने में सक्षम था।

1

संक्षेप में कार्य अनुसूचक में इस्तेमाल प्रोफ़ाइल के लिए उचित अधिकार के साथ इन फ़ोल्डर बनाने के लिए सुनिश्चित करें:

C: \ Windows \ System32 \ config \ systemprofile \ डेस्कटॉप C: \ Windows \ SysWOW64 \ config \ systemprofile \ डेस्कटॉप

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