Hata: Excel otomatikleştirme "eski biçim veya geçersiz bir tür kitaplığı" hatası

Makale çevirileri Makale çevirileri
Makale numarası: 320369 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft Excel, Microsoft Visual Basic .NET, Microsoft Visual C# .NET veya Microsoft Visual C++ ile otomatikleştirme, belirli bir yöntem çağrılırken aşağıdaki hata iletisini alabilirsiniz:
Hata: 0x80028018 (-2147647512)
Açıklama: Eski biçim veya geçersiz bir tür kitaplığı

Neden

Bu hata, aşağıdaki koşullar geçerli olduğunda, bir Excel yöntemini çağırma alırsınız:
  • Yöntem bir LCID (yerel ayar tanıtıcısını) gerektirir.
  • Excel'in ingilizce sürümünü çalıştırın. Ancak, bilgisayar için bölgesel ayarlar, ingilizce olmayan bir dil için yapılandırılır.
Istemci bilgisayar Excel ingilizce sürümünü çalıştıran ve geçerli kullanıcı yerel ayarı ingilizce dışında bir dil için yapılandırılır, Excel yapılandırılmış dilin dil paketi bulmak yeniden deneyecek. Dil Paketi bulunamazsa hata bildirilir.

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için <a0></a0>, aşağıdaki yöntemlerden birini kullanabilirsiniz:
  • Çok Dilde Kullanıcı Arabirimi Paketi için Office sürümünüzü yükleyin.
  • Excel'in yöntem veya özellik arama için Cultureınfo belirtebilirsiniz böylece ınvokemember kullanarak çalıştırabilirsiniz. Örneğin, çalışma kitaplarını nesnesi Ekle "en-US" olarak Cultureınfo yöntemini çağır aşağıdaki kod gösterir:
    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)
    
  • Veya, Excel yöntemini çağırmadan önce için Cultureınfo ayarlayın. Örneğin:
    Dim oApp As New Excel.Application()
    oApp.Visible = True
    oApp.UserControl = True
    Dim oldCI As System.Globalization.CultureInfo = _
        System.Threading.Thread.CurrentThread.CurrentCulture
    System.Threading.Thread.CurrentThread.CurrentCulture = _
        New System.Globalization.CultureInfo("en-US")
    oApp.Workbooks.Add()
    System.Threading.Thread.CurrentThread.CurrentCulture = oldCI
  • Bir Microsoft Office\Office11 1033 dizininde oluşturun. Daha sonra excel.exe 1033 dizinine kopyalayın ve dosyayı xllex.dll yeniden adlandırın.

    Daha fazla bilgi için aşağıdaki bağlantıyı tıklatın:
    http://blogs.msdn.com/eric_carter/archive/2005/06/15/429515.aspx

Aşağıdaki geçici çözümlerden birini bir bilgisayar için bölgesel ayarlar geçerli Office dil sürümü eşleşmiyor kullandığınızda, Excel nasıl olarak davranır ve Excel'in belirli yerel ayar için biçimlendirilmiş bir veri nasıl yorumlayacağı hakkında bilgi sahibi olması gerekir. Visual Studio. NET'le globalized Excel çözümleri yazma hakkında daha fazla bilgi için lütfen MSDN'ndaki aşağıdaki makalelere bakın:

Birden çok ülkeler/bölgeler içinde kullanmak için Office çözümleri oluşturma
http://msdn2.microsoft.com/en-us/library/aa168494(office.11).aspx
Genelleştirme ve yerelleştirme sorunların çözümleri için Microsoft Visual Studio ile oluşturulan Microsoft Office sistemi için Araçlar
http://msdn2.microsoft.com/en-us/library/aa192494(office.11).aspx

Durum

Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Daha fazla bilgi

Davranışı Yeniden Oluşturma Adımları

  1. Ingilizce dışında bir dil için yerel bilgisayar için ayarlanmış olduğunu doğrulayın.

    Windows 2000 için:
    1. Windows Denetim Masası'ndaki Bölgesel Seçenekler ' i çift tıklatın.
    2. Genel sekmesinde bir konum seçin ve Tamam ' ı tıklatın.
    Windows XP veya Windows Server 2003 için:
    1. Denetim Masası'ndaki Bölge ve Dil Seçenekleri'nı açın.
    2. Bölgesel Seçenekler sekmesinde, bir yerel ayar'ı seçin ve Tamam ' ı tıklatın.
  2. Microsoft Visual Studio .NET'i başlatın.
  3. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın. Yeni proje) iletişim kutusunda, Visual Basic ProjectsProject Types altında tıklatın. Şablonlar altında Windows uygulama ' yı tıklatın ve sonra Tamam ' ı tıklatın. Varsayılan olarak, Form1 oluşturulur.
  4. Görünüm) menüsünde, araç kutusu ' nu tıklatın ve sonra da Form1'e bir düğme ekleyin.
  5. Formun kod penceresi görüntülemek için <a0></a0>, Button1 ' ni çift tıklatın.
  6. Kod penceresinde aşağıdaki kodu
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                              Handles Button1.Click
    End Sub
    					
    ile:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim oApp As Object
        Dim oDoc As Object
        oApp = CreateObject("Excel.Application")
        oApp.Visible = True
        oDoc = oApp.Workbooks.Add
        oDoc.Close()
        oApp.Quit()
        oDoc = Nothing
        oApp = Nothing
    End Sub
    					
  7. Form1 kod modülü başlangıcına kadar aşağıdaki satırı ekleyin:
    Option Strict Off
  8. Oluşturmak ve bu programı çalıştırmak için F5 tuşuna basın.
  9. Hatayı oluşturmak için <a0></a0>, Button1 Ek Yardım düğmesini tıklatın. Okuma satırdaki hata oluşuyor:
    oDoc = oApp.Workbooks.Add
    					

Referanslar

Office Otomasyonu hakkında daha fazla bilgi için aşağıdaki Microsoft Office geliştirme Web sitesini ziyaret edin:
http://support.microsoft.com/ofd
Ayrıca, aşağıdaki Microsoft Knowledge Base makalelerine bakın:
301982Microsoft Excel Visual Basic .NET kullanarak otomatikleştirme
302084Microsoft Visual C# .NET, Microsoft Excel'den otomatikleştirme

Özellikler

Makale numarası: 320369 - Last Review: 11 Aralık 2009 Cuma - Gözden geçirme: 9.0
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbvs2002sp1sweep kbautomation kbbug kbpending KB320369 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:320369

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com