Dotyczy
Excel 2007

Podsumowanie

W programie Microsoft Excel można utworzyć makro microsoft Visual Basic for Applications (VBA), które po zamknięciu skoroszytu pomija monit Zapisz zmiany. Można to zrobić, określając stan właściwości Zapisany skoroszytu lub pomijając wszystkie alerty dla skoroszytu.

Więcej informacji

UWAGA: Firma Microsoft udostępnia przykłady programowania wyłącznie w celach ilustracyjnych, bez gwarancji wyrażonej lub dorozumianej. To obejmuje między innymi dorozumiane gwarancje przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który jest demonstrowany, oraz narzędzia, które są używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu funkcjonalności danej procedury. Nie będą jednak modyfikować tych przykładów, aby zapewnić dodatkową funkcjonalność lub konstruować procedur spełniających specyficzne wymagania użytkownika. Aby przygotować się do wdrożenia każdego z poniższych przykładów, najpierw wykonaj następujące czynności:

  1. Uruchom program Excel i otwórz nowy skoroszyt.

  2. Naciśnij klawisze ALT+F11, aby uruchomić edytor Visual Basic.

  3. W menu Wstaw kliknij polecenie Moduł.

  4. Wpisz przykładowy kod makra w arkuszu modułu.

  5. Naciśnij klawisze ALT+F11, aby powrócić do programu Excel.

  6. W programie Microsoft Office Excel 2003 i we wcześniejszych wersjach programu Excel wybierz pozycję Makro z menu Narzędzia, a następnie kliknij pozycję Makra.W programie Microsoft Office Excel 2007 kliknij pozycję Makra w grupie Kod na karcie DeweloperJeśli karta Deweloper nie jest dostępna, rozważ wykonanie następujących czynności:     a. Kliknij przycisk pakietu Microsoft Office , a następnie kliknij pozycję Opcje programu Excel.b. W kategorii Popularne w obszarze Najważniejsze opcje pracy z programem Excel kliknij, aby wybrać pozycję Pokaż         Karta Deweloper na Wstążce, a następnie kliknij przycisk OK.

  7. Wybierz odpowiednie makro, a następnie kliknij przycisk Uruchom.

Właściwość Saved (Zapisane) zwraca wartość False (Fałsz), jeśli od czasu ostatniego zapisania skoroszytu wprowadzono zmiany w skoroszycie.Możesz użyć zastrzeżonej nazwy podroutyny Auto_Close, aby określić makro, które ma być uruchamiane przy każdym zamknięciu skoroszytu. W ten sposób możesz kontrolować sposób obsługi dokumentu, gdy użytkownik zamknie dokumenty w programie Excel.  

Przykład 1. Zamknięcie skoroszytu bez zapisywania zmian

Aby wymusić zamknięcie skoroszytu bez zapisywania zmian, wpisz następujący kod w module języka Visual Basic tego skoroszytu:  

    Sub Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Gdy właściwość Saved (Zapisane) ma wartość True (Prawda), program Excel odpowiada tak, jakby skoroszyt został już zapisany i od czasu ostatniego zapisywania nie wprowadzono żadnych zmian.Właściwość DisplayAlerts programu może być używana do tego samego celu. Na przykład poniższe makro powoduje wyłączenie funkcji DisplayAlerts, zamknięcie aktywnego skoroszytu bez zapisywania zmian, a następnie ponowne włączenie funkcji DisplayAlerts.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

Możesz również użyć argumentu SaveChanges metody Close.Następujące makro powoduje zamknięcie skoroszytu bez zapisywania zmian:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

Przykład 2. Zamknięcie skoroszytu i zapisanie zmian

Aby wymusić zapisanie zmian w skoroszycie, wpisz następujący kod w module języka Visual Basic tego skoroszytu:  

    Sub Auto_Close()

        Jeśli thisWorkbook.Saved = False to

            ThisWorkbook.Save End If

    End Sub

To podprocedure sprawdza, czy właściwość Plik Zapisany została ustawiona na Fałsz. Jeśli tak, skoroszyt został zmieniony od czasu ostatniego zapisania i te zmiany zostaną zapisane.

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.