Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Po uruchomieniu makra Visual Basic for Applications w programie Microsoft Excel może zostać wyświetlony następujący lub podobny komunikat o błędzie:

Błąd czasu uruchomienia '1004':
Metoda "ZapiszAs" obiektu "_Worksheet" nie powiodła się

Przyczyna

To zachowanie może wystąpić, gdy są spełnione oba poniższe warunki:

  • Używasz makra makra Visual Basic for Applications do zapisywania arkusza.

    — i —

  • Format pliku należy określić jako stałą xlWorkbookNormal.

Poniższy kod powoduje na przykład ten błąd:

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

Obejście

Firma Microsoft podaje przykłady programowania wyłącznie na ilustracji, bez gwarancji jawnych lub dorozumianych, w tym dorozumianych gwarancji przydatności handlowej i/lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który jest pokazywany, oraz narzędzia używane do tworzenia i debugowania procedur. Pracownicy pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniach funkcji określonej procedury, ale nie zmodyfikują tych przykładów, aby udostępnić dodatkowe funkcje lub skonstruować procedury w celu zaspokojenia konkretnych potrzeb.
Jeśli masz ograniczone środowisko programowania, możesz chcieć skontaktować się z certyfikowanym partnerem firmy Microsoft lub z usługami doradczymi firmy Microsoft. Aby uzyskać więcej informacji, odwiedź następujące witryny sieci Web firmy Microsoft:

Certyfikowani partnerzy firmy Microsoft — https://partner.microsoft.com/global/30000104 Program Microsoft

Advisory Services — http://support.microsoft.com/gp/advisoryservice

Aby uzyskać więcej informacji na temat dostępnych opcji pomocy technicznej i sposobu kontaktowania się z firmą Microsoft, odwiedź następującą witrynę internetową firmy Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Aby zmienić to zachowanie, należy zmienić specyfikację formatu pliku ze stałej xlWorkbookNormal na 1. Przykładowy kod działa normalnie, jeśli został zmieniony na:

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

UWAGA Mimo że zapisywany jest arkusz, wszystkie arkusze w wybranym skoroszycie są zapisywane, gdy format pliku ma wartość xlWorkbookNormal lub 1.

Stan

Firma Microsoft potwierdziła, że jest to usterka występująca w produktach firmy Microsoft wymienionych na początku tego artykułu.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×