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:=xlWorkbookNormal End 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. – 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:
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 MicrosoftSub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End 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.