Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

LỖI: "định dạng cũ hoặc thư viện kiểu không hợp lệ" lỗi khi tự động hoá Excel

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:320369
TRIỆU CHỨNG
Nếu bạn tự động Microsoft Excel với Microsoft Visual Basic .NET, Microsoft Visual C#.NET, hay Microsoft Visual C++, bạn có thể nhận được các lỗi sau khi gọi các phương pháp nhất định:
Lỗi: 0x80028018 (-2147647512)
Mô tả: Định dạng cũ hoặc thư viện kiểu không hợp lệ
NGUYÊN NHÂN
Bạn nhận được lỗi này kêu gọi một phương pháp Excel khi các các điều kiện sau đây là đúng:
  • Các phương pháp đòi hỏi một LCID (định danh miền địa phương).
  • Bạn chạy một phiên bản tiếng Anh của Excel. Tuy nhiên, khu vực thiết đặt cho máy tính này được cấu hình cho một ngôn ngữ không phải tiếng Anh.
Nếu máy tính khách hàng chạy phiên bản tiếng Anh của Excel và miền địa phương cho người dùng hiện thời được cấu hình cho một ngôn ngữ khác ngoài tiếng Anh, Excel sẽ cố gắng xác định vị trí gói ngôn ngữ cho các cấu hình ngôn ngữ. Nếu gói ngôn ngữ không được tìm thấy, các lỗi được báo cáo.
CÁCH GIẢI QUYẾT KHÁC
Để làm việc xung quanh vấn đề này, bạn có thể sử dụng một trong những phương pháp sau đây:
  • Cài đặt gói giao diện người dùng đa ngôn ngữ cho của bạn Phiên bản của văn phòng.
  • Thực hiện phương pháp Excel hoặc tài sản bằng cách sử dụng InvokeMember do đó bạn có thể chỉ định các CultureInfo cho các cuộc gọi. Ví dụ, các mã sau đây minh hoạ làm thế nào bạn có thể gọi các Sách bài tập đối tượng Thêm phương pháp với "en-US" như các 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)
  • Hoặc, thiết lập các CultureInfo trước khi được gọi là phương pháp Excel. Ví dụ:
    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
  • Tạo một thư mục 1033 theo Microsoft Office\Office11. Sau đó, sao chép excel.exe vào thư mục 1033, và đổi tên nó là xllex.dll.

    Để biết thêm chi tiết, nhấp vào liên kết sau đây:
    http://blogs.MSDN.com/eric_carter/Archive/2005/06/15/429515.aspx

Khi bạn sử dụng một trong những cách giải quyết cho một máy tính nơi các thiết lập trong khu vực không khớp với ngôn ngữ phiên bản hiện tại của văn phòng, bạn nên quen thuộc với cách Excel ứng xử và cách Excel sẽ giải thích dữ liệu mà có thể được định dạng cho một miền địa phương cụ thể. Để biết chi tiết về cách viết toàn cầu hóa giải pháp Excel với Visual Studio.NET, xin vui lòng xem dưới đây bài viết trong MSDN:

Việc tạo ra các giải pháp văn phòng để sử dụng trong nhiều Quốc gia/khu vực Toàn cầu hóa và các vấn đề địa phương hoá cho các giải pháp tạo ra với Microsoft Visual Studio Công cụ hệ thống Microsoft Office
TÌNH TRẠNG
Microsoft đã xác nhận rằng đây là một lỗi trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
THÔNG TIN THÊM

Các bước mô phỏng hành vi.

  1. Kiểm chứng rằng địa phương cho các máy tính được đặt thành một ngôn ngữ khác ngoài tiếng Anh.

    Đối với Windows 2000:
    1. Trong cửa sổ bảng điều khiển, bấm đúp vào Tùy chọn vùng.
    2. Trên các Tổng quát tab, chọn một địa điểm, và sau đó nhấp vào Ok.
    Đối với Windows XP hoặc Windows Server 2003:
    1. Trong bảng điều khiển, mở Regional và chọn ngôn ngữ.
    2. Trên các Tùy chọn vùng tab, chọn một miền địa phương, và sau đó nhấp vào Ok.
  2. Bắt đầu Microsoft Visual Studio.NET.
  3. Trên các Tệp trình đơn, điểm đến Mới, sau đó bấm Dự án. Trong các Dự án mới hộp thoại hộp, dưới Các loại dự án, bấm Visual Basic dự án. Dưới Khuôn mẫu, bấm Ứng dụng Windows, sau đó bấm Ok. Theo mặc định, Form1 được tạo ra.
  4. Trên các Xem trình đơn, nhấp vào Hộp công cụ, và sau đó thêm một nút vào Form1.
  5. Để hiển thị cửa sổ mã cho các hình thức, bấm đúp vào Button1.
  6. Trong cửa sổ mã, thay thế mã sau
    Private Sub Button1_Click(ByVal sender As System.Object, _                          ByVal e As System.EventArgs) _                          Handles Button1.ClickEnd Sub					
    với:
    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. Thêm dòng sau vào đầu của các Form1 mô-đun mã:
    Option Strict Off
  8. Nhấn F5 để xây dựng và chạy chương trình.
  9. Để tạo ra các lỗi, bấm Button1. Lỗi xảy ra trên dòng mà đọc:
    oDoc = oApp.Workbooks.Add					
THAM KHẢO
Để biết thêm chi tiết về văn phòng tự động hóa, truy cập vào các Microsoft văn phòng phát triển Web site sau: Ngoài ra, xem các bài viết cơ sở kiến thức Microsoft sau:
301982 Làm thế nào để tự động hoá Microsoft Excel từ Visual Basic.NET
302084 Làm thế nào để tự động hoá Microsoft Excel từ Microsoft Visual C#.NET
XL2003 XL2007

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 320369 - Xem lại Lần cuối: 08/27/2011 19:48:00 - Bản sửa đổi: 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 KbMtvi
Phản hồi