Příznaky

Když spustíte makro jazyk Visual Basic for Application v Microsoft Excel, může se zobrazit následující nebo podobná chybová zpráva:

Chyba spuštění '1004':Metoda 'SaveAs' objektu '_Worksheet' se nezdařila.

Příčina

K tomuto chování může dojít, pokud platí obě následující podmínky:

  • List uložíte jazyk Visual Basic for Application pomocí makra.-and-

  • Jako konstantu xlWorkbookNormal zadáte formát souboru.

Například následující kód způsobí, že k této chybě dojde:

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

Řešení

Microsoft poskytuje příklady programování jenom pro ilustraci bez výslovné nebo předpokládané záruky, včetně předpokládaných záruk prodejnosti a/nebo vhodnosti pro určitý účel. Tento článek předpokládá, že znáte předvedený programovací jazyk a nástroje používané k vytváření a ladění postupů. Pracovníci podpory Microsoftu vám můžou pomoct vysvětlit funkčnost určitého postupu, ale tyto příklady neupraví tak, aby poskytovali další funkce nebo sestavují postupy tak, aby splňovaly vaše konkrétní potřeby. Pokud máte omezené možnosti programování, můžete kontaktovat certifikovaného partnera společnosti Microsoft nebo služby Microsoft Advisory Services. Další informace najdete na těchto webech společnosti Microsoft:Certifikovaní partneři společnosti Microsoft – https://partner.microsoft.com/global/30000104 Microsoft Advisory Services – http://support.microsoft.com/gp/advisoryservice Další informace o dostupných možnostech podpory a o tom, jak kontaktovat společnost Microsoft, najdete na následujícím webu společnosti Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Pokud chcete toto chování vyřešit, změňte specifikaci formátu souboru z konstanty xlWorkbookNormal na 1. Příklad kódu funguje normálně, pokud se změní na:

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

POZNÁMKA: I když ukládáte list, uloží se všechny listy ve vybraném sešitu, když je formát souboru nastavený na xlWorkbookNormal nebo 1.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedené na začátku tohoto článku.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.