อาการ
เมื่อคุณเรียกใช้แมโคร Visual Basic for Applications ใน Microsoft Excel คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้หรือคล้ายกัน:
ข้อผิดพลาดขณะเรียกใช้ '1004':วิธี 'SaveAs' ของวัตถุ '_Worksheet' ล้มเหลว
สาเหตุ
ลักษณะการนี้อาจเกิดขึ้นเมื่อทั้งสองเงื่อนไขต่อไปนี้เป็นจริง:
-
คุณVisual Basic แมโครแอปพลิเคชัน เพื่อบันทึกเวิร์กชีตและ
-
คุณระบุรูปแบบไฟล์เป็นค่าคงที่ xlWorkbookNormal
ตัวอย่างเช่น โค้ดต่อไปนี้เป็นสาเหตุให้เกิดข้อผิดพลาดนี้:
Sub A() Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormalEnd Sub
วิธีแก้ไขปัญหาชั่วคราว
Microsoft มีตัวอย่างการเขียนโปรแกรมให้ภาพประกอบเท่านั้น โดยไม่รับประกันตามที่แสดงไว้หรือโดยนัย รวมถึงแต่ไม่ได้จํากัดเพียงแค่การรับประกันโดยนัยของความสามารถเชิงการค้า และ/หรือความเหมาะสมเพื่อวัตถุประสงค์เฉพาะ บทความนี้ถือว่าคุณคุ้นเคยกับภาษาการเขียนโปรแกรมที่ถูกสาธิต และเครื่องมือที่ใช้สร้างและแก้จุดบกพร่องกระบวนงาน ผู้เชี่ยวชาญฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการการใช้งานของขั้นตอนใดขั้นตอนหนึ่ง แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้มีฟังก์ชันการการใช้งานหรือการสร้างที่เพิ่มเข้ามาเพื่อให้ตรงตามความต้องการเฉพาะของคุณ ถ้าคุณมีประสบการณ์การเขียนโปรแกรมที่จํากัด คุณอาจต้องการติดต่อคู่ค้าที่ได้รับการรับรองของ Microsoft หรือบริการให้ปรึกษาของ Microsoft For more information, visit these Microsoft Web sites:Microsoft Certified Partners - https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS เมื่อต้องการแก้ไขปัญหานี้ให้เปลี่ยนข้อมูลเฉพาะรูปแบบไฟล์จากค่าคงที่ xlWorkbookNormal เป็น 1 โค้ดตัวอย่างจะฟังก์ชันปกติถ้าเปลี่ยนเป็น:
Sub A() Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1End Sub
หมายเหตุ แม้ว่าคุณจะบันทึกเวิร์กชีตอยู่ เวิร์กชีตทั้งหมดในเวิร์กบุ๊กที่เลือกจะถูกบันทึกเมื่อรูปแบบไฟล์ถูกตั้งค่าเป็น xlWorkbookNormal หรือ 1
สถานะ
Microsoft ได้ยืนยันว่าปัญหานี้เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ที่แสดงอยู่ในตอนต้นของบทความนี้