Symptomer
Når du kjører en Visual Basic for Applications makro i Microsoft Excel, kan du få følgende eller lignende feilmelding:
Kjøretidsfeil 1004:
Metoden SaveAs for objektet _Worksheet mislyktesÅrsak
Denne virkemåten kan oppstå når begge følgende betingelser er oppfylt:
-
Du bruker en Visual Basic for Applications til å lagre et regneark.
-and- -
Du angir filformatet som konstanten xlWorkbookNormal.
Følgende kode fører for eksempel til at denne feilen oppstår:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Omgå problemet
Microsoft gir bare programmeringseksempler for illustrasjon, uten garanti, uttrykt eller underforstått, inkludert, men ikke begrenset til, underforståtte garantier om kjøpbarhet og/eller egnethet for et bestemt formål. Denne artikkelen antar at du er kjent med programmeringsspråket som demonstreres, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere prosedyrer for å dekke dine spesifikke behov. – https://partner.microsoft.com/global/30000104 Microsoft Advisory Services – http://support.microsoft.com/gp/advisoryservice Hvis du vil ha mer informasjon om støttealternativene som er tilgjengelige og hvordan du kontakter Microsoft, kan du gå til følgende Microsoft-nettsted:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Hvis du vil omgå dette problemet, endrer du filformatspesifikasjonen fra konstanten xlWorkbookNormal til 1. Eksempelkoden fungerer vanligvis hvis den endres til:
Hvis du har begrenset programmeringsopplevelse, kan det være lurt å kontakte en Microsoft-sertifisert partner eller Microsoft Advisory Services. Hvis du vil ha mer informasjon, kan du gå til disse Microsoft-nettstedene: Microsoft-sertifiserte partnereSub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
OBS! Selv om du lagrer et regneark, lagres alle regneark i den valgte arbeidsboken når filformatet er satt til xlWorkbookNormal eller 1.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i begynnelsen av denne artikkelen.