Simptomai

Kai vykdote makrokomandą Visual Basic for Applications" Microsoft Excel, galite gauti tokį arba panašų klaidos pranešimą:

Vykdymo laiko klaida "1004":Objekto "_Worksheet" metodas "SaveAs" nepavyko

Priežastis

Taip gali nutikti, kai abi šios sąlygos yra tikros:

  • Norėdami įrašyti darbalapį, Visual Basic naudojate makrokomandą Programos.-and-

  • Failo formatą nurodote kaip konstantą xlWorkbookNormal.

Pvz., šis kodas sukelia šią klaidą:

Sub A()   Dim myNewSheet As Worksheet   Set myNewSheet = ActiveSheet   FileNameBin = "c:\ABC"   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormalEnd Sub

Sprendimas

"Microsoft" pateikia tik programavimo pavyzdžius, be išreikštų ar numanomų garantijų, įskaitant numanomas tinkamumo naudoti ir (arba) tinkamumo konkrečiam tikslui garantijas, bet tuo neapsiribojant. Šiame straipsnyje daroma prielaida, kad esate susipažinę su demonstruotima programavimo kalba ir įrankiais, naudojamais procedūroms kurti ir derinti. "Microsoft" palaikymo specialistai gali padėti paaiškinti konkrečios procedūros funkcijas, tačiau jie ne modifikuos šių pavyzdžių, kad galėtų teikti papildomas funkcijas arba kurti procedūras, kad atitiktų jūsų konkrečius poreikius. Jei turite ribotą programavimo patirtį, galite kreiptis į "Microsoft" sertifikuotą partnerį arba "Microsoft" konsultavimo paslaugas. Daugiau informacijos rasite šiose "Microsoft" žiniatinklio svetainėse:"Microsoft" sertifikuoti partneriai – "https://partner.microsoft.com/global/30000104 Microsoft" konsultavimo paslaugos – http://support.microsoft.com/gp/advisoryservice Daugiau informacijos apie galimas palaikymo parinktis ir apie tai, kaip susisiekti su "Microsoft", apsilankykite šioje "Microsoft" svetainėje:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Norėdami išspręsti šią problemą, pakeiskite failo formato specifikaciją iš konstantos xlWorkbookNormal į 1. Kodo pavyzdžio funkcijos paprastai, jei pakeistos į:

Sub A()   Dim myNewSheet As Worksheet   Set myNewSheet = ActiveSheet   FileNameBin = "c:\ABC"   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1End Sub

PASTABA Net jei įrašote darbalapį, visi pasirinktos darbaknygės darbalapiai įrašomi, kai failo formatas nustatytas kaip xlWorkbookNormal arba 1.

Būsena

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų šio straipsnio pradžioje, problema.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.