BUG: "format lama atau perpustakaan tidak sah jenis" kesalahan saat mengotomatiskan Excel

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:320369
GEJALA
Jika Anda mengotomatisasi Microsoft Excel dengan Microsoft Visual Basic .NET, Microsoft Visual C#.NET, atau Microsoft Visual C++, Anda akan menerima galat berikut ketika memanggil metode tertentu:
Kesalahan: 0x80028018 (-2147647512)
Deskripsi: Format lama atau tidak sah perpustakaan jenis
PENYEBAB
Anda menerima kesalahan ini memanggil metode Excel ketika kondisi berikut ini benar:
  • Metode memerlukan LCID (lokal pengenal).
  • Anda menjalankan versi bahasa Inggris dari Excel. Namun, daerah pengaturan untuk komputer yang dikonfigurasi untuk non-bahasa Inggris.
Jika komputer klien menjalankan versi bahasa Inggris dari Excel dan lokal untuk pengguna saat ini dikonfigurasi untuk bahasa lain Selain bahasa Inggris, Excel akan mencoba untuk menemukan paket bahasa untuk dikonfigurasi bahasa. Jika paket bahasa tidak ditemukan, kesalahan dilaporkan.
TEKNIK PEMECAHAN MASALAH
Untuk mengatasi masalah ini, Anda dapat menggunakan salah satu metode berikut:
  • Menginstal paket antarmuka pengguna Multilingual untuk Anda Versi Office.
  • Menjalankan Excel metode atau properti dengan menggunakan InvokeMember sehingga Anda dapat menentukan CultureInfo untuk panggilan. Sebagai contoh, kode berikut menggambarkan bagaimana Anda dapat memohon Buku kerja objek Tambahkan metode dengan "en-US" sebagai 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)
  • Atau, mengatur CultureInfo sebelum memanggil metode Excel. Misalnya:
    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
  • Membuat direktori 1033 di bawah Microsoft Office\Office11. Kemudian, salin excel.exe ke direktori 1033, dan mengubah nama sebagai xllex.dll.

    Untuk informasi lebih lanjut, klik link berikut:
    http://Blogs.msdn.com/eric_carter/Archive/2005/06/15/429515.aspx

Ketika Anda menggunakan salah satu workarounds ini untuk komputer di mana pengaturan wilayah tidak cocok versi bahasa dari kantor, Anda harus akrab dengan bagaimana Excel berperilaku dan bagaimana Excel akan menafsirkan data yang mungkin diformat untuk lokal tertentu. Untuk detail lebih lanjut tentang menulis global Excel solusi dengan Visual Studio.NET, silakan lihat berikut artikel di MSDN:

Menciptakan solusi Office untuk digunakan dalam beberapa Negara/kawasan Globalisasi dan isu-isu lokalisasi untuk solusi dibuat dengan Microsoft Visual Studio Alat untuk Microsoft Office System
STATUS
Microsoft telah mengkonfirmasi bahwa ini adalah bug dalam produk Microsoft sebagaimana didaftar di dalam bagian "Berlaku untuk".
INFORMASI LEBIH LANJUT

Langkah-langkah mereproduksi perilaku

  1. Pastikan bahwa lokal untuk komputer diatur ke bahasa lain selain bahasa Inggris.

    Untuk Windows 2000:
    1. Di Windows Control Panel, klik dua kali Daerah pilihan.
    2. Pada General tab, Pilih lokasi, dan kemudian klik Oke.
    Untuk Windows XP atau Windows Server 2003:
    1. Di Panel kontrol, buka Regional dan Language Options.
    2. Pada Daerah pilihan tab, pilih lokal, dan kemudian klik Oke.
  2. Mulai Microsoft Visual Studio.NET.
  3. Pada Berkas menu, titik Baru, lalu klik Project. Dalam Proyek baru dialog kotak, di bawah Jenis proyek, klik Proyek-proyek Visual Basic. Di bawah Pola acu, klik Aplikasi Windows, lalu klik Oke. Secara default, Form1 dibuat.
  4. Pada Lihat menu, klik Toolbox, dan kemudian menambahkan tombol ke Form1.
  5. Untuk menampilkan jendela kode untuk formulir, klik dua kali Button1.
  6. Dalam jendela kode, mengganti kode berikut
    Private Sub Button1_Click(ByVal sender As System.Object, _                          ByVal e As System.EventArgs) _                          Handles Button1.ClickEnd Sub					
    dengan:
    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 = NothingEnd Sub					
  7. Tambahkan baris berikut ke awal Form1 kode modul:
    Option Strict Off
  8. Tekan F5 untuk membangun dan menjalankan program.
  9. Untuk menghasilkan kesalahan, klik Button1. Kesalahan terjadi pada baris yang berbunyi:
    oDoc = oApp.Workbooks.Add					
REFERENSI
Untuk informasi lebih lanjut mengenai otomatisasi Office, kunjungi Microsoft Office pengembangan website berikut: Selain itu, lihat artikel Basis Pengetahuan Microsoft berikut:
301982 Cara mengotomatisasi Microsoft Excel dari Visual Basic.NET
302084 Cara mengotomatisasi Microsoft Excel dari Microsoft Visual C#.NET
XL2003 XL2007

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 320369 - Tinjauan Terakhir: 09/26/2011 13:45:00 - Revisi: 2.0

Microsoft Office Excel 2007, 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 J# .NET 2003 Standard Edition, Microsoft Visual Studio Tools for the Microsoft Office System version 2003

  • kbvs2002sp1sweep kbautomation kbbug kbpending kbmt KB320369 KbMtid
Tanggapan