फ़ाइल खोलने का प्रयास करने से पहले दृश्य मूल संपादक (जो त्रुटि उत्पन्न होती है) को छिपाने के लिए, Excel.VBE.MainWindow बदलें। गलत पर दृश्यमान। ध्यान रखें कि यदि डीबगर दिखाई नहीं देता है, तो आपको अपने कोड में अपवाद पकड़ना होगा, इसलिए, अपने कोड को एक कोशिश पकड़ने के साथ लिफाफा करें।
यदि मैक्रोज़ की आवश्यकता नहीं है और इसे अनदेखा किया जा सकता है, तो msoAutomationSecurityForceDisable का उपयोग पूरी तरह अक्षम करने के लिए करें।
using InteropExcel = Microsoft.Office.Interop.Excel;
var Excel = new InteropExcel.Application();
// Excel window will NOT popup if macro errors are found but
// exceptions might be raised when you execute the broken
// macro.
Excel.VBE.MainWindow.Visible = false;
// Uncomment to disable macros completely.
// Excel.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
// I used this snippet to open a file with a broken macro.
var MyWorkbook = Excel.Workbooks.Open (@"YourFilePath");
var FirstWorksheet = (InteropExcel.Worksheet)MyWorkbook.Worksheets ["Plan1"];
var MyCell = ((InteropExcel.Range)FirstWorksheet.Cells [1,1]);
var CellValue = (Int32)MyCell.Value;
स्रोत
2015-07-15 10:50:02
ओपी, क्या आपको वहां कोई समाधान मिला है? – Jerome
क्या आप एक नमूना स्प्रैडशीट प्रदान कर सकते हैं जो त्रुटियों को फेंक देता है और जो कोड आप मूल्यों को पढ़ने के लिए उपयोग कर रहे हैं? – Lumigraphics
मुझे नहीं लगता कि इससे मदद मिलेगी। मान लीजिए, उदाहरण के लिए, एक सरल मैक्रो टेस्ट 1 को एक ही निर्देश के साथ बुलाकर, स्ट्रिंग की अपेक्षा करने वाले फ़ंक्शन को दोगुना गुजरना। इससे रनटाइम पर एक प्रकार की मिस्चैच त्रुटि उत्पन्न होगी, उपर्युक्त पॉप-अप इंटरप्टिंग निष्पादन प्रदान करेगा। – Jerome