Simptomi
Kada pokrenete makronaredbu Visual Basic za aplikacije u programu Microsoft Excel, možda ćete primiti sljedeću ili sličnu poruku o pogrešci:
Pogreška pri trčanju '1004':
Metoda 'SaveAs' objekta '_Worksheet' nije uspjelaUzrok
To se može dogoditi kada su zadušna oba sljedeća uvjeta:
-
Da biste spremili radni Visual Basic za aplikacije, koristite makronaredbu Programa za aplikacije.
-and- -
Oblik datoteke određujete kao konstantu xlWorkbookNormal.
Sljedeći kod, primjerice, uzrokuje ovu pogrešku:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Zaobilazno rješenje
Microsoft nudi primjere programiranja samo za ilustraciju, bez jamstva izraženog ili impliciranog, uključujući, ali ne ograničavajući se na, implicirana jamstva u pogledu mogućnosti prodaje i/ili prikladnosti za određenu svrhu. U ovom se članku pretpostavlja da ste upoznati s programskim jezikom koji se pokazuje i alatima koji se koriste za stvaranje i ispravljanje pogrešaka. Microsoftovi stručnjaci za podršku mogu objasniti funkcionalnost određenog postupka, ali neće izmijeniti te primjere da bi pružili dodatne funkcije ni konstruirali postupke radi zadovoljavanja vaših konkretnih potreba. https://partner.microsoft.com/global/30000104 Microsoft Advisory Services – http://support.microsoft.com/gp/advisoryservice Dodatne informacije o dostupnim mogućnostima podrške i o tome kako se obratiti Microsoftu potražite na sljedećem Microsoftovu web-mjestu:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Da biste zaobišli taj problem, promijenite specifikaciju oblika datoteke iz konstante xlWorkbookNormal u 1. Ogledni kod obično funkcionira ako se promijeni u:
Ako imate ograničeno iskustvo programiranja, obratite se Microsoftovu certificiranom partneru ili Microsoftovim savjetodavnim servisima. Dodatne informacije potražite na ovim Microsoftovim web-mjestima: Microsoftovi certificirani partneri –Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
NAPOMENA Iako spremate radni list, svi radni listovi u odabranoj radnoj knjizi spremaju se kada je oblik datoteke postavljen na xlWorkbookNormal ili 1.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni na početku ovog članka.