Triệu chứng
Khi bạn chạy một macro Visual Basic for Applications trong Microsoft Excel, bạn có thể nhận được thông báo lỗi sau hoặc tương tự như sau:
Lỗi thời gian chạy '1004':
Phương pháp 'Lưu Như' của đối tượng '_Worksheet' không thành côngNguyên nhân
Hành vi này có thể xảy ra khi cả hai điều kiện sau đều đúng:
-
Bạn đang sử dụng Visual Basic for Applications macro để lưu trang tính.
-và- -
Bạn chỉ rõ định dạng tệp là hằng số xlWorkbookNormal.
Ví dụ: mã sau đây gây ra lỗi này:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Cách giải quyết
Microsoft chỉ cung cấp các ví dụ lập trình để minh họa, không thể hiện hoặc ngụ ý bảo đảm, bao gồm, nhưng không giới hạn đối với, các bảo đảm ngụ ý về khả năng bán và/hoặc tính phù hợp với một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen với ngôn ngữ lập trình đang được trình bày cũng như công cụ được sử dụng để tạo và gỡ lỗi quy trình. Các chuyên gia hỗ trợ của Microsoft có thể giúp giải thích chức năng của quy trình đặc biệt, nhưng họ sẽ không sửa đổi những ví dụ này để cung cấp chức năng được bổ sung hoặc xây dựng các quy trình nhằm đáp ứng nhu cầu cụ thể của bạn. https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice Để biết thêm thông tin về các tùy chọn hỗ trợ sẵn có và về cách liên hệ với Microsoft, hãy truy cập website Microsoft sau đây:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Để xử lý hành vi này, hãy thay đổi đặc tả định dạng tệp từ hằng số xlWorkbookNormal thành 1. Các hàm mã ví dụ hoạt động bình thường nếu được thay đổi thành:
Nếu bạn có trải nghiệm lập trình hạn chế, bạn có thể muốn liên hệ với Đối tác được Microsoft Chứng nhận hoặc Dịch vụ Tư vấn của Microsoft. Để biết thêm thông tin, hãy truy cập các Website Microsoft: Đối tác được Microsoft Chứng nhận -Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
LƯU Ý Ngay cả khi bạn đang lưu một trang tính, tất cả các trang tính trong sổ làm việc đã chọn được lưu khi định dạng tệp được đặt là xlWorkbookNormal hoặc 1.
Trạng thái
Microsoft đã xác nhận rằng đây là một sự cố trong các sản phẩm Microsoft được liệt kê ở đầu bài viết này.