Symptomer
Når du kører en Visual Basic for Applications makro i Microsoft Excel, modtager du muligvis følgende eller lignende fejlmeddelelse:
Kørselsfejl '1004':
Method 'SaveAs' af objektet '_Worksheet' mislykkedes
Årsag
Denne funktionsmåde kan opstå, når begge følgende betingelser er sande:
-
Du bruger en Visual Basic for Applications til at gemme et regneark.
– og – -
Du kan angive filformatet som konstanten xlWorkbookNormal.
Den følgende kode medfører f.eks., at denne fejl opstår:
Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:\ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal
End Sub
Løsning
Microsoft leverer kun programmeringsekseler som illustrationer uden garanti, enten udtrykt eller underforstået, herunder, men ikke begrænset til, stiltiende garantier for salgbarhed og/eller egnethed til et bestemt formål. I denne artikel forudsættes det, at du er bekendt med det programmeringssprog, der demonstreres, og de værktøjer, der bruges til at oprette og fejlfinde procedurer. Microsoft-supportmedarbejdere kan hjælpe med at forklare funktionaliteten i en bestemt procedure, men de vil ikke ændre disse eksempler for at levere ekstra funktionalitet eller konstruere procedurer, der opfylder dine specifikke behov.
Hvis du har begrænset programmeringsoplevelse, kan du kontakte en Certificeret Microsoft-partner eller Microsoft Advisory Services. Du kan finde flere oplysninger på disse Microsoft-websteder:
Microsoft-certificerede partnere – https://partner.microsoft.com/global/30000104
Microsoft-vejledningstjenester – http://support.microsoft.com/gp/advisoryservice Du kan finde flere oplysninger om de supportmuligheder, der er tilgængelige
, og om, hvordan du kontakter Microsoft, på følgende Microsoft-websted:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Du kan løse dette problem ved at ændre specifikationen af filformatet fra konstanten xlWorkbookNormal til 1. Eksempelkoden fungerer normalt, hvis den ændres til:
Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:\ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1
End Sub
BEMÆRK Selvom du gemmer et regneark, gemmes alle regneark i den valgte projektmappe, når filformatet er angivet til xlWorkbookNormal eller 1.
Status
Microsoft har bekræftet, at dette problem forekommer i de Microsoft-produkter, der er anført i starten af denne artikel.