Симптоми

Когато изпълните макрос на Visual Basic приложения в Microsoft Excel, може да получите следното или подобно съобщение за грешка:

Грешка по време на изпълнение "1004":Методът "SaveAs" на обекта "_Worksheet" е неуспешен

Причина

Това поведение може да възникне, когато и двете условия са изпълнени:

  • Използвате макрос на Visual Basic за приложения, за да запишете работен лист.-and-

  • Задавате файловия формат като константа xlWorkbookNormal.

Например следният код води до възникване на тази грешка:

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

Заобиколно решение

Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, изразена или подразбирана, включително, но не само, подразбираните гаранции за продаваемост и/или годност за определена цел. Тази статия предполага, че сте запознати с езика на програмиране, който се демонстрира, и инструментите, използвани за създаване и отстраняване на грешки. Специалистите по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на определена процедура, но те няма да променят тези примери, за да предоставят допълнителна функционалност или да изграждат процедури, които да отговарят на вашите конкретни нужди. Ако имате ограничена програмна работа, може да се свържете със сертифициран партньор на Microsoft или консултантски услуги на Microsoft. За повече информация посетете тези уеб сайтове на Microsoft:Сертифицирани партньори на Microsoft – https://partner.microsoft.com/global/30000104 Microsoft Advisory Services – http://support.microsoft.com/gp/advisoryservice За повече информация относно наличните опции за поддръжка и как да се свържете с Microsoft посетете следния уеб сайт на Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS За да заобиколите това поведение, променете спецификацията на файловия формат от константата xlWorkbookNormal на 1. Примерните функции за код обикновено се променят на:

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

ЗАБЕЛЕЖКА Въпреки че записвате работен лист, всички работни листове в избраната работна книга се записват, когато файловият формат е зададен на xlWorkbookNormal или 1.

Състояние

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в началото на тази статия.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.