Symptomen
Wanneer u een macro Visual Basic for Applications in Microsoft Excel, ontvangt u mogelijk het volgende of soortgelijke foutbericht:
Run-time error '1004':
Method 'SaveAs' of object '_Worksheet' is misluktOorzaak
Dit gedrag kan optreden wanneer beide voorwaarden waar zijn:
-
U gebruikt een Visual Basic for Applications macro om een werkblad op te slaan.
-en- -
U geeft de bestandsindeling op als de constante xlWorkbookNormal.
De volgende code zorgt er bijvoorbeeld voor dat deze fout optreedt:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Tijdelijke oplossing
Microsoft geeft alleen programmeervoorbeelden ter illustratie, zonder garantie, uitgedrukt of impliciet, inclusief, maar niet beperkt tot, de impliciete garanties van verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgenomen dat u bekend bent met de programmeertaal die wordt gedemonstreerd en de hulpprogramma's die worden gebruikt voor het maken en opsporen van fouten. Ondersteuningsmedewerkers van Microsoft kunnen u helpen bij het uitleggen van de functionaliteit van een bepaalde procedure, maar deze voorbeelden worden niet gewijzigd om extra functionaliteit te bieden of procedures te maken die aan uw specifieke behoeften voldoen. https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice Ga naar de volgende Microsoft-website:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Als u dit gedrag wilt aanpassen, wijzigt u de specificatie van de bestandsindeling van de constante xlWorkbookNormal in 1. De voorbeeldcode werkt normaal gesproken als deze is gewijzigd in:
Als u een beperkte programmeerervaring hebt, kunt u contact opnemen met een Microsoft Certified Partner of Microsoft Advisory Services. Ga voor meer informatie naar deze Microsoft-websites: Microsoft Certified Partners -Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
OPMERKING Hoewel u een werkblad opspart, worden alle werkbladen in de geselecteerde werkmap opgeslagen wanneer de bestandsindeling is ingesteld op xlWorkbookNormal of 1.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die aan het begin van dit artikel worden vermeld.