Μήνυμα λάθους κατά την εκτέλεση μιας μακροεντολής Visual Basic for Applications στο Excel: "Η μέθοδος 'SaveAs' του αντικειμένου '_Worksheet' απέτυχε"

Συμπτώματα

Όταν εκτελείτε μια μακροεντολή Visual Basic for Applications στο Microsoft Excel, ενδέχεται να λάβετε το ακόλουθο ή παρόμοιο μήνυμα σφάλματος:

Σημείωση

Σφάλμα χρόνου εκτέλεσης '1004':
Η μέθοδος 'SaveAs' του αντικειμένου '_Worksheet' απέτυχε

Αιτία

Αυτή η συμπεριφορά μπορεί να προκύψει όταν ισχύουν και οι δύο ακόλουθες συνθήκες:

  • Χρησιμοποιείτε μια μακροεντολή Visual Basic for Applications για να αποθηκεύσετε ένα φύλλο εργασίας.

    -και-

  • Μπορείτε να ορίσετε τη μορφή αρχείου ως τη σταθερά 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. Για περισσότερες πληροφορίες, επισκεφτείτε αυτές τις τοποθεσίες της Microsoft στο Web:

Πιστοποιημένοι συνεργάτες της Microsoft - https://partner.microsoft.com/global/30000104

Συμβουλευτικές υπηρεσίες της Microsoft - http://support.microsoft.com/gp/advisoryservice

Για περισσότερες πληροφορίες σχετικά με τις διαθέσιμες επιλογές υποστήριξης και τον τρόπο επικοινωνίας με τη Microsoft, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web: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 που παρατίθενται στην αρχή αυτού του άρθρου.