Excel Tự động Không Thành Công Lần Thứ Hai Chạy Mã

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ácbiế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 có

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ừ

Facebook LinkedIn Email

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ộng đồng

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.

Lợi ích đăng ký Microsoft 365

Nội dung đào tạo về Microsoft 365

Bảo mật Microsoft

Trung tâm trợ năng

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ú.

Hỏi Cộng đồng Microsoft

Cộng đồng Kỹ thuật Microsoft

Người dùng Nội bộ Windows

Người dùng nội bộ Microsoft 365

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

Có Không (Gửi ý kiến phản hồi cho Microsoft để chúng tôi có thể trợ giúp.) 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? Đã giải quyết vấn đề của tôi Hướng dẫn Rõ ràng Dễ theo dõi Không có thuật ngữ Hình ảnh có ích Chất lượng dịch thuật Không khớp với màn hình của tôi Hướng dẫn không chính xác Quá kỹ thuật Không đủ thông tin Không đủ hình ảnh Chất lượng dịch thuật Bất kỳ thông tin phản hồi bổ sung? (Không bắt buộc) Gửi phản hồi 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!

×

Từ khóa » Excel Bị Lỗi Run Time Error 1004