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