.NET میں انسٹال ایکسل کا اندرونی ورژن چیک کریں
آپریٹنگ ماحول
- Visual Studio
-
- Visual Studio 2022
- .جال
-
- .NET 6.0
- Windows
-
- ونڈوز 11
- Excel
-
- Microsoft 365
ضروری شرائط
- Windows
-
- ورژن میں سے ایک
- Excel
-
- ورژن میں سے ایک
اندرونی ورژن کے بارے میں
اس بار ، آپ ایکسل کے اندرونی ورژن کو پروگرامی طور پر چیک کرسکتے ہیں ، لیکن 2023/05/07 تک ، ایکسل 2016 اور بعد میں کا اندرونی ورژن 16.0 سے تبدیل نہیں ہوا ہے۔ اس کے نتیجے میں ، ایکسل 2016 ، 2019 ، 2021 ، اور مائیکروسافٹ 265 کو ان کے اندرونی ورژن کے ذریعہ شناخت کرنا اب ممکن نہیں ہے۔ تاہم ، چونکہ اندرونی ورژن تبدیل نہیں ہوا ہے ، لہذا فائدہ یہ ہے کہ جب تک کوئی نیا ورژن سامنے نہیں آتا ہے ، ایکسل لائبریری کو 2016 سے عام طور پر استعمال کیا جاسکتا ہے۔
آپریٹنگ پروگرام کے بارے میں
آپ معلوم کرسکتے ہیں کہ ایکسل کا کون سا اندرونی ورژن مندرجہ ذیل کوڈ کے ساتھ انسٹال ہے: چونکہ یہ ایک طریقہ ہے ، لہذا اسے اپنے پروگرام میں لانا ممکن ہے جیسا کہ یہ ہے۔
GetInstallExcelVersion
اگر آپ طریقہ کار پر کال کرتے ہیں تو ، ورژن ایک نمبر کے طور پر واپس کردیا جائے گا۔
<summary>
インストールされている Excel の内部バージョンを取得します。
</summary>
<returns>インストールされている Excel の内部バージョン。正常に取得できなかった場合は 0 を返します。</returns>
static decimal GetInstallExcelVersion()
{
// Excel.Application の Type を取得
var type = Type.GetTypeFromProgID("Excel.Application");
if (type == null)
{
// Excel がインストールされていない
return 0;
}
object? application = null;
try
{
// Excel.Application のインスタンスを生成します
application = Activator.CreateInstance(type);
if (application == null)
{
// Excel.Application の生成に失敗
return 0;
}
// バージョンを取得
var ver = application.GetType().InvokeMember("Version", System.Reflection.BindingFlags.GetProperty, null, application, null);
if (ver == null)
{
return 0;
}
// 文字列を数値に変換します
decimal version;
if (!decimal.TryParse(ver.ToString(), out version))
{
return 0;
}
return version;
}
finally
{
// 生成した Excel のリソースを解放します
if (application != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(application);
}
}
}
پروگرام کی ایک سادہ وضاحت یہ ہے کہ پروگرام آئی ڈی کی قسم حاصل کرنے کےType.GetTypeFromProgID
لئے طریقہ استعمال کریں Excel.Application
،
Activator.CreateInstance
یہ طریقہ ایک Excel.Application
مثال تخلیق کرتا ہے.
Excel.Application
براہ راست مثال پیدا نہ کرنے کی وجہ یہ ہے کہ ایکسل لائبریری کے ورژن پر براہ راست حوالہ دے کر اس پر انحصار کرنے سے گریز کریں۔
ایسا کرنے سے آپ تازہ ترین ورژن دیکھ سکیں گے۔
اس کے Version
بعد آپ تخلیق کردہ application
مثال سے خصوصیات کا حوالہ دے سکتے ہیں اور ورژن حاصل کرسکتے ہیں۔
بازیافت شدہ ورژن وہ ورژن ہے جو ایکسل کے پاس اندرونی طور پر ہے۔ مثال کے طور پر ، ایکسل 2010 14.0 ہے ، ایکسل 2013 15.0 ہے ، اور ایکسل 2016 اور اس کے بعد 16.0 ہے۔
نوٹ کریں کہ یہ عمل اصل میں ایکسل شروع کرنے سے مختلف نہیں ہے ، لہذا اگر آپ طریقہ کار اور Excel.Application
ریلیز کو کال نہیں کرتے ہیں تو ، System.Runtime.InteropServices.Marshal.ReleaseComObject
ایکسل کا عمل برقرار رہے گا۔
ویسے، اس کوڈ کو .NET 6 پر آزمایا گیا ہے، لیکن مجھے لگتا ہے کہ اسے .NET فریم ورک میں اسی طرح استعمال کیا جا سکتا ہے.
یہ ڈاٹ نیٹ میں کام کرتا ہے ، لیکن Type.GetTypeFromProgID
ذہن میں رکھیں کہ طریقے اور طریقے صرف ونڈوز کوڈ ہیں اور System.Runtime.InteropServices.Marshal.ReleaseComObject
دوسرے پلیٹ فارمز پر کام نہیں کریں گے۔