دوشنبه ۲۷ دی ۱۳۹۵
 
 
 
کلمه عبور خود را فراموش کرده اید؟
 

 
 
 Error در هنگام استفاده از Excel در برنامه و رفع آن.
.NET Visual Basic
تاریخ ثبت:  ۸۸/۵/۳۱
تعداد نمایش:  ۴۲۲۰
  نویسنده: نادر رفیعی
 
   ۴  نفر تا این لحظه به این مقاله امتیاز داده اند.
 
   Bookmark and Share

هنگام کار کردن با برنامه 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

  کیفیت مقاله ارائه شده از نظر شما   
برای دادن رتبه به این مقاله می بایست Login کرده باشید.
  درباره نویسنده
نادر رفیعی
همه مقاله های نوشته شده توسط این کاربر (۸)
 
  پیام جدید
هیچ سؤال یا نظری برای این موضوع فرستاده نشده است.

 عنوان فرستنده تاریخ

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