Simptome
Atunci când rulați o macrocomandă Visual Basic pentru aplicații în Microsoft Excel, este posibil să primiți următorul sau un mesaj de eroare similar:
Run-time error '1004':Method 'SaveAs' of object '_Worksheet' failed
Cauză
Acest comportament poate apărea atunci când ambele condiții următoare sunt adevărate:
-
Utilizați o macrocomandă de Visual Basic pentru aplicații pentru a salva o foaie de lucru.-și-
-
Specificați formatul de fișier ca constantă xlWorkbookNormal.
De exemplu, următorul cod determină să apară această eroare:
Sub A() Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormalEnd Sub
Soluție de evitare
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. 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ță Microsoft vă pot ajuta să explicați funcționalitatea unei anumite proceduri, dar aceștia nu vor modifica aceste exemple pentru a furniza funcționalități suplimentare sau proceduri de construcție care să îndeplinească cerințele dvs. specifice. Dacă aveți experiență de programare limitată, se poate să doriți 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 Serviciile de consultanță Microsoft - http://support.microsoft.com/gp/advisoryservice Pentru mai multe informații despre opțiunile de asistență disponibile și despre cum să contactați Microsoft, vizitați următorul site web Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Pentru a ocoli acest comportament, modificați specificația formatului de fișier din constantă xlWorkbookNormal la 1. Exemplul de cod funcționează normal dacă se modifică în:
Sub A() Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1End Sub
NOTĂ Chiar dacă salvați o foaie de lucru, toate foile de lucru din registrul de lucru selectat sunt salvate atunci când formatul de fișier este setat la xlWorkbookNormal sau 1.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate la începutul acestui articol.