Šiuo metu esate neprisijungę, laukiama, kol iš naujo prisijungsite prie interneto

KLAIDA: „Biblioteka yra seno formato arba neleistino tipo“ klaida, gaunama automatizuojant „Excel“

Nutrauktas „Office 2003“ palaikymas

Nuo 2014 m. balandžio 8 d. „Microsoft“ nutraukė „Office 2003“ palaikymą. Tai paveikė programinės įrangos naujinimus ir saugą. Sužinokite, ką tai reiškia jums ir kaip užtikrinti kompiuterio saugą.

POŽYMIAI
Jei „Microsoft Excel“ automatizuojate naudodami „Microsoft Visual Basic .NET“, „Microsoft Visual C# .NET“ arba „Microsoft Visual C++“, galite gauti tokį klaidos pranešimą, kai iškviečiate tam tikrus metodus:
Klaida: 0x80028018 (-2147647512)
Aprašas: Biblioteka yra seno formato arba neleistino tipo
PRIEŽASTIS
Šį klaidos pranešimą gaunate iškviesdami „Excel“ metodą, jei yra šios sąlygos:
  • Metodui reikia LCID (lokalės identifikatoriaus).
  • Paleidžiate anglišką Excel versiją. Tačiau kompiuterio regiono parametrai yra sukonfigūruoti ne anglų kalbai.
Jei kliento kompiuteryje įdiegta angliška „Excel“ versija, o esamo vartotojo lokalė sukonfigūruota kitai kalbai, „Excel“ pabandys rasti sukonfigūruotos kalbos paketą. Jei nepavyksta rasti kalbos paketo, pranešama apie klaidą.
PROBLEMOS SPRENDIMAS
Šią problemą galite išspręsti vienu iš šių būdų:
  • Į savo „Office“ versiją įdiekite daugiakalbės vartotojo sąsajos paketą.
  • Vykdykite „Excel“ metodą arba ypatybę naudodami InvokeMember, kad galėtumėte nurodyti iškvietimo CultureInfo. Pavyzdžiui, toliau pateikiamas kodas paaiškina, kaip galite iškviesti Darbaknygės objektą Pridėti metodą „en-US“ pasirinkdami kaip CultureInfo:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oBooks As Object = oApp.WorkbooksDim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, oBooks, Nothing, ci)
  • Arba nustatykite CultureInfo prieš iškviesdami „Excel“ metodą. Pavyzdžiui:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oldCI As System.Globalization.CultureInfo = _    System.Threading.Thread.CurrentThread.CurrentCultureSystem.Threading.Thread.CurrentThread.CurrentCulture = _    New System.Globalization.CultureInfo("en-US")oApp.Workbooks.Add()System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

Kai naudojate vieną iš šių apėjimų kompiuteryje, kurio regiono parametrai nesutampa su esama „Office“ kalbos versija, turėtumėte žinoti, kaip veikia „Excel“ programa ir kaip ji supranta duomenis, kurie gali būti suformatuoti tam tikrai lokalei. Jei norite gauti daugiau informacijos apie globalinius „Excel“ sprendimus naudojant „Visual Studio .NET“, žiūrėkite šiuos MSDN straipsnius:

Creating Office Solutions for Use in Multiple Countries/Regions („Keliose šalyse arba regionuose naudoti skirtų „Office“ sprendimų kūrimas“)Globalization and Localization Issues for Solutions Created with Microsoft Visual Studio Tools for the Microsoft Office System („Microsoft Visual Studio“ įrankiais „Microsoft Office“ sistemai sukurtų sprendimų globalizacijos ir lokalizacijos problemos“)
BŪSENA
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, klaida.
DAUGIAU INFORMACIJOS

Situacijos atkūrimo veiksmai

  1. Patikrinkite, ar kompiuterio lokalėje nustatyta kalba nėra anglų.

    Skirta „Windows 2000“:
    1. „Windows“ valdymo skyde dukart spustelėkite Regiono parinktys.
    2. Spustelėkite skirtuką Bendra, pasirinkite vietą ir spustelėkite Gerai.
    Skirta „Windows XP“ arba „Windows Server 2003“:
    1. Valdymo skyde atidarykite Regiono ir kalbos parinktys.
    2. Skirtuke Regiono parinktys pasirinkite lokalę ir spustelėkite Gerai.
  2. Paleiskite „Microsoft Visual Studio .NET“.
  3. Meniu Failas perkelkite pelės žymiklį į Naujas ir spustelėkite Projektas. Dialogo langeNaujas projektas, esančiame srityje Projekto tipai, spustelėkite „Visual Basic“ projektai. Srityje Šablonai, spustelėkite „Windows“ programa ir spustelėkite Gerai. Kaip numatyta, sukuriama Form1.
  4. MeniuRodyti spustelėkite Įrankių komplektas ir į Form1 pridėkite mygtuką.
  5. Kad būtų parodytas formos kodų langas, du kartus spustelėkite Button1.
  6. Pakeiskite kodų lange esantį kodą
    Private Sub Button1_Click(ByVal sender As System.Object, _                          ByVal e As System.EventArgs) _                          Handles Button1.ClickEnd Sub					
    į tokį:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click    Dim oApp As Object    Dim oApp As Object    oApp = CreateObject("Excel.Application")    oApp.Visible = True    oDoc = oApp.Workbooks.Add    oDoc.Close()    oApp.Quit()    oDoc = Nothing    oApp = NothingEnd Sub					
  7. Taip pat Form1 kodo modulio pradžioje įrašykite šią eilutę:
    Option Strict Off
  8. Paspauskite klavišą F5, kad sukurtumėte ir paleistumėte programą.
  9. Norėdami generuoti klaidą, spustelėkite Button1. Klaidos eilutėje rašoma:
    oDoc = oApp.Workbooks.Add					
NUORODOS
Jei norite gauti daugiau informacijos apie „Office“ automatizavimą, apsilankykite šioje „Microsoft Office“ kūrimo svetainėje: Be to, žiūrėkite šiuos „Microsoft“ žinių bazės straipsnius:
301982 How to automate Microsoft Excel from Visual Basic .NET („Kaip automatizuoti „Microsoft Excel“ naudojant „Visual Basic .NET“) (Šis saitas gali nurodyti turinį, kuris visiškai arba iš dalies yra anglų kalba)
302084 How to automate Microsoft Excel from Microsoft Visual C# .NET („Kaip automatizuoti „Microsoft Excel“ naudojant „Microsoft Visual C# .NET“) (Šis saitas gali nurodyti turinį, kuris visiškai arba iš dalies yra anglų kalba)
XL2003 XL2007
Savybės

Straipsnio ID: 320369 – Paskutinė peržiūra: 11/23/2007 12:57:57 – Peržiūra: 8.3

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual C++ 6.1, Microsoft Visual J# .NET 2003 Standard Edition, Microsoft Visual Studio Tools for the Microsoft Office System version 2003

  • kbvs2002sp1sweep kbautomation kbbug kbpending KB320369
Atsiliepimai
or="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">