อาการ
เมื่อคุณเรียกใช้แมโคร 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:=xlWorkbookNormal
End 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:=1
End Sub
หมายเหตุ แม้ว่าคุณจะบันทึกเวิร์กชีตอยู่ เวิร์กชีตทั้งหมดในเวิร์กบุ๊กที่เลือกจะถูกบันทึกเมื่อรูปแบบไฟล์ถูกตั้งค่าเป็น xlWorkbookNormal หรือ 1
สถานะ
Microsoft ได้ยืนยันว่าปัญหานี้เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ที่แสดงอยู่ในตอนต้นของบทความนี้