Error در هنگام استفاده از Excel در برنامه و رفع آن.
گروه: .NET VB.NET
تاریخ ثبت: ۸۸/۵/۳۱
نویسنده: نادر رفیعی

هنگام کار کردن با برنامه Exel یا (Automate)  بوسیله یکی ازبرنامه Microsoft Visual Studio شما ممکن است هتگام کار با متدهاي خاصی با یک  Error به شرح زیر برخورد نمایید.(مثلا در مقاله اي که درهمین سایت با عنوان Export کردن داده ها به  Excel برخی از دوستان نیز همین مورد را گزارش ودرخواست کمک نموده بودند).

Error: 0x80028018 (-2147647512)

Description: Old Format or Invalid Type Library

دراین مقاله به بررسی علت وجود این خطا و رفع آن پرداخته شده است.

علت بروز خطا :

هنگامیکه یکی از شرایط زیر اتفاق افتاده باشد هنگام صدا زدن یکی از متدهاي شی Excel این Error صادر می گردد.

1- متد مورد نظر نیازمند یک (LID(Local identifier می باشد.

2- شما نسخه English برنامه Microsoft Excel را اجرا درصورتیکه تنظیمات Regional and language setting در کامپیوتر شما برروي زبانی غیر English پیکر بندي شده است.

پیرامون حل این مشکل شما می توانید یکی از متدهاي زیر را بکار ببرید.

1- نصب Multilingual User Interface Pack براي ورژن نرم افزار Office خود.

2- اجراي ویژگی یا متد Excel با استفاده از InvokeMember بطوریکه شما می توانید از Cultureinfo براي صدا زدن آن استفاده کنید. بعنوان مثال کد نمونه زیر نشان می دهد که شما چگونه می توانید متد Add شی Workbook را بااستفاده از Cultureinfo مربوط به “us_en” فراخوانی کنید.

Dim oApp As New Excel.Application()

oApp.Visible = True

oApp.UserControl = True

Dim oBooks As Object = oApp.Workbooks

Dim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-

US")

oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing,

oBooks, Nothing, ci)

یا شما می توانید Cultureinfo را قبل از صدا زدن متدهاي  Excel تنظیم نمایید.

Dim oApp As New Excel.Application()

oApp.Visible = True

oApp.UserControl = True

Dim oldCI As System.Globalization.CultureInfo = _

System.Threading.Thread.CurrentThread.CurrentCulture

New System.Globalization.CultureInfo("en-US")

oApp.Workbooks.Add()

System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

براي اطلاعات بیشتر براي کار با Microsoft Office در محیطهاي چند زبانه اي می توانید از لینک زیر اطلاعات جامع تري کسب نمایید.

http://msdn.microsoft.com/en-us/library/aa168494(office.11).aspx


Copyright © 2006 - 2007 All Rights Reserved.
Please direct your questions or comments to