Príznaky
Pri spustení makra Visual Basic for Applications v Microsoft Excel sa môže zobraziť nasledujúce alebo podobné chybové hlásenie:
Chyba pri spustení 1004:
Metóda SaveAs objektu _Worksheet zlyhalaPríčina
Toto správanie sa môže vyskytnúť, ak sú splnené obe nasledujúce podmienky:
-
Na uloženie hárka používate Visual Basic for Applications.
-a- -
Formát súboru určíte ako konštantu xlWorkbookNormal.
Nasledujúci kód napríklad spôsobuje výskyt tejto chyby:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Alternatívne riešenie
Spoločnosť Microsoft poskytuje príklady programovania iba na ilustráciu, bez výslovnej alebo implicitnej záruky vrátane, ale nie však obmedzené, implicitných záruk obchodovateľnosti a/alebo vhodnosti na konkrétny účel. V tomto článku sa predpokladá, že ste oboznámení s možnosťami programovania a nástrojmi, ktoré sa používajú na vytvorenie a ladenie procedúr. Profesionáli technickej podpory spoločnosti Microsoft vám môžu pomôcť vysvetliť funkčnosť konkrétneho postupu, ale tieto príklady nebudú môcť upraviť a poskytnúť nové funkcie alebo vytvoriť procedúry podľa vašich konkrétnych potrieb. Microsoft – https://partner.microsoft.com/global/30000104 Microsoft Advisory Services – http://support.microsoft.com/gp/advisoryservice Ďalšie informácie o dostupných možnostiach podpory a o tom, ako kontaktovať spoločnosť Microsoft, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Ak chcete obísť toto správanie, zmeňte špecifikáciu formátu súboru z konštanty xlWorkbookNormal na 1. Vzorové funkcie kódu sa normálne zmenia na:
Ak máte obmedzené možnosti programovania, môžete kontaktovať certifikovaného partnera spoločnosti Microsoft alebo služby Microsoft Advisory Services. Ďalšie informácie nájdete na týchto webových lokalitách spoločnosti Microsoft: Certifikovaný partneri spoločnostiSub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
POZNÁMKA Keď uložíte hárok, všetky hárky vo vybratom zošite sa uložia, keď je formát súboru nastavený na xlWorkbookNormal alebo 1.
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené na začiatku tohto článku.