Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Khi chạy mã sử dụng tự động điều khiển Microsoft Excel, một trong các lỗi sau đây có thể xảy ra:

Trong Microsoft Excel 97 và các phiên bản Excel, bạn nhận được một thông báo lỗi sau:

Thông báo lỗi 1

Thời gian chạy lỗi '1004':
Phương pháp '< tên phương pháp >' đối tượng '_Global' không thành công

Thông báo lỗi 2

Lỗi ứng dụng xác định hoặc xác định đối tượng

Trong Microsoft Excel 95, bạn nhận được một thông báo lỗi sau:

Thông báo lỗi 1

Thời gian chạy lỗi '-2147023174'
OLE lỗi tự động

Thông báo lỗi 2

Thời gian chạy lỗi '462':
Máy chủ từ xa không tồn tại hay không.

Nguyên nhân

Visual Basic đã thiết lập một tham chiếu đến Excel bởi một dòng mã gọi một đối tượng Excel, phương pháp hoặc thuộc tính không có đủ điều kiện các yếu tố với biến đối tượng Excel. Visual Basic không phát hành tham khảo này cho đến khi bạn kết thúc chương trình. Tham chiếu lang thang này cản trở tự động mã khi mã được chạy nhiều lần.

Giải pháp

Để khắc phục sự cố này, thay đổi mã để mỗi cuộc gọi đối tượng, phương pháp hoặc thuộc tính của Excel đủ điều kiện với biến đối tượng phù hợp.

Trạng thái

Hoạt động này là theo thiết kế.

Thông tin

Để tự động Microsoft Excel, bạn thiết lập biến đối tượng thường đề cập đến các đối tượng ứng dụng Excel hoặc đối tượng sổ làm việc Excel. Biến đối tượng khác có thể được đặt để tham khảo trang tính, nhiều hoặc các đối tượng trong mô hình đối tượng Microsoft Excel. Khi bạn soạn mã sử dụng đối tượng, phương pháp hoặc thuộc tính của Excel, bạn nên luôn đứng trước cuộc gọi với biến đối tượng phù hợp. Nếu không, Visual Basic lập mình tham chiếu đến Excel. Này có thể gây ra sự cố khi bạn cố gắng chạy mã tự động nhiều lần. Lưu ý rằng ngay cả khi dòng mã bắt đầu với biến đối tượng, cuộc gọi có thể được thực hiện một đối tượng Excel, phương pháp hoặc thuộc tính giữa dòng mã không trước với biến đối tượng.

Các bước sau đây minh họa làm thế nào để tái tạo lại vấn đề này và cách khắc phục sự cố.

Các bước để tái tạo hiện tượng

  1. Bắt đầu một dự án tiêu chuẩn EXE Visual Basic. Biểu mẫu 1 được tạo ra theo mặc định.

  2. Trên Project menu, bấm tham khảovà sau đó kiểm tra thư viện đối tượng cho phiên bản Excel mà bạn muốn tự động.

  3. Đặt điều khiển CommandButton vào Form1.

  4. Sao chép mẫu mã sau vào cửa sổ Form1, mã.

          Option Explicit

    Private Sub Command1_Click()
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets("Sheet1")
    xlSheet.Range(Cells(1, 1), Cells(10, 2)).Value = "Hello"
    xlBook.Saved = True
    Set xlSheet = Nothing
    Set xlBook = Nothing
    xlApp.Quit
    Set xlApp = Nothing
    End Sub
  5. Trên menu chạy , bấm bắt đầu, hoặc nhấn phím F5 để khởi động chương trình.

  6. Bấm vào điều khiển CommandButton . Không có lỗi xảy ra. Tuy nhiên, một tham chiếu đến Excel đã được tạo ra và không được phát hành.

  7. Bấm vào điều khiển CommandButton lại. Lưu ý rằng bạn nhận được một thông báo lỗi được thảo luận trong phần "Triệu chứng".

    Lưu ý Thông báo lỗi xảy ra vì mã đề cập đến phương pháp ô không trước cuộc gọi với các
    biến đối tượng xlSheet .

  8. Dừng dự án và thay đổi dòng mã sau:

    xlSheet.Range(Cells(1,1),Cells(10,2)).Value = "Hello"

    Thay đổi dòng mã giống như dòng mã sau.

    xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,2)).Value = "Hello"
  9. Chạy lại chương trình. Lưu ý rằng bạn có thể chạy mã nhiều lần mà không nhận được thông báo lỗi.

Tham khảo

Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

Tệp trợ giúp tự động Microsoft Office 97 167223

189618 bạn có thể nhận được thông báo lỗi "lỗi thời gian chạy '-2147023174' (800706ba)" hoặc "thời gian chạy lỗi '462'" khi bạn chạy Visual Basic mã sử dụng tự động điều khiển từ

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×