Mesaj de eroare atunci când rulați o macrocomandă Visual Basic for Applications în Excel: "Metoda "Salvare ca" a obiectului "_Worksheet" nu a reușit"

Simptome

Când rulați o macrocomandă Visual Basic for Applications în Microsoft Excel, este posibil să primiți următorul mesaj de eroare sau un mesaj de eroare similar:

Notă

Eroare la momentul rulării "1004":
Metoda "Salvare ca" a obiectului "_Worksheet" nu a reușit

Cauză

Acest comportament poate apărea atunci când se îndeplinesc ambele condiții următoare:

  • Utilizați o macrocomandă Visual Basic for Applications pentru a salva o foaie de lucru.

    -și-

  • Specificați formatul de fișier ca constantă xlWorkbookNormal.

De exemplu, următorul cod determină apariția acestei erori:

Sub A()
   Dim myNewSheet As Worksheet
   Set myNewSheet = ActiveSheet
   FileNameBin = "c:\ABC"
   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal
End Sub

Soluție

Microsoft furnizează exemple de programare numai în scop ilustrativ, fără nicio garanție explicită sau implicită, incluzând fără limitare garanțiile implicite de vandabilitate și/sau adecvare la un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare prezentat și cu instrumentele utilizate pentru a crea și a depana proceduri. Specialiștii în asistență de la Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, însă nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară și nu vor construi proceduri pentru a răspunde cerințelor dvs. specifice.
Dacă aveți experiență limitată în programare, se recomandă să contactați un partener Microsoft certificat sau Serviciile de consultanță Microsoft. Pentru mai multe informații, vizitați aceste site-uri web Microsoft:

Parteneri certificați Microsoft - https://partner.microsoft.com/global/30000104

Servicii de consultanță Microsoft - http://support.microsoft.com/gp/advisoryservice

Pentru informații suplimentare despre opțiunile de asistență disponibile și modul în care se poate contacta Microsoft, vizitați următorul site web Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Pentru a evita acest comportament, modificați specificația formatului de fișier de la constanta xlWorkbookNormal la 1. Codul exemplu funcționează normal dacă este modificat în:

Sub A()
   Dim myNewSheet As Worksheet
   Set myNewSheet = ActiveSheet
   FileNameBin = "c:\ABC"
   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1
End Sub

NOTĂ Chiar dacă salvați o foaie de lucru, toate foile de lucru din registrul de lucru selectat sunt salvate când formatul de fișier este setat la xlWorkbookNormal sau 1.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft listate la începutul acestui articol.