2009-05-13 10 views
5

का पता लगाने के लिए मुझे यह पता लगाने में सक्षम होना चाहिए कि मैंने अपने .NET कोड के कुछ संस्करणों से अपनी मशीन में स्थापित किया है। मैं वर्तमान में एप्लिकेशन का उपयोग कर रहा हूं। इसके लिए वर्जन, लेकिन यह मुझे सर्विस पैक के बारे में जानकारी नहीं देता है।स्थापित एक्सेल संस्करण (और सर्विस पैक)

मैं अधिमानतः कुछ इस तरह से दूर चलाने के होगा: http://www.mvps.org/access/api/api0065.htm

प्रबंधित कोड का स्वागत किया!

उत्तर

6
Public Shared Function GetExcelVersion() As Integer 
    Dim excel As Object = Nothing 
    Dim ver As Integer = 0 
    Dim build As Integer 
    Try 
     excel = CreateObject("Excel.Application") 
     ver = excel.Version 
     build = excel.Build 
    Catch ex As Exception 
     'Continue to finally sttmt 
    Finally 
     Try 
      Marshal.ReleaseComObject(excel) 
     Catch 
     End Try 
     GC.Collect() 
    End Try 
    Return ver 
End Function 

रिटर्न है अगर एक्सेल नहीं मिला।

+0

क्या होगा यदि मैं एक ही कोड से कुछ एक्सेल संस्करण को खोलने के लिए करना चाहते हैं? –

+0

आपका क्या मतलब है? – Shimmy

+0

आपने उत्तर दिया मुझे वह जानकारी दी जो मैं चाहता था +1। हालांकि, मुझे उस एक्सेल को इंगित करना होगा। वर्जन एक स्ट्रिंग है; उदाहरण के लिए "11.0" या "15.0"। –

2

दुर्भाग्य से, यह दृष्टिकोण एकमात्र विश्वसनीय दृष्टिकोण है। यहां तक ​​कि Microsoft suggests using a similar technique (यह मैन्युअल रूप से जांचने के लिए है, लेकिन अवधारणा समान है)।

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

0

मजबूत नहीं होने पर, यह दृष्टिकोण एकमात्र तरीका है जिसे मैं जानता हूं।

ध्यान रखें कि आपको सटीक मिलान की जांच करने की आवश्यकता नहीं है। आप व्यक्तिगत मानों पर तुलना का उपयोग यह देखने के लिए कर सकते हैं कि आपके पास क्या संस्करण है उदाहरण के लिए, एसपी 1 या नया। आप जानते हैं कि यह नए अगर संस्करण की संख्या से अधिक या बराबर 0 करने के लिए "11.0.6355.0" (आप तुलना लागू करने के लिए की आवश्यकता होगी)

2

आप exe के लिए पथ के लिए रजिस्ट्री में एप्लिकेशन पथ की जांच कर सकता है और फिर उसके संस्करण प्राप्त: देखें http://www.codeproject.com/KB/office/getting_office_version.aspx

+0

बहुत अच्छा! मैं इसका उपयोग करने जा रहा हूँ! –

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