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 mislukt

Oorzaak

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:=xlWorkbookNormalEnd 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. 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 - 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:

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

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.