Note: The other languages of the website are Google-translated. Back to English

Jak zmusić użytkowników do zapisywania jako skoroszytu z włączoną obsługą makr?

Po zapisaniu skoroszytu programu Excel zostanie on domyślnie zapisany w formacie pliku xlsx, a ten format pliku usunie kody makr ze skoroszytu, jeśli istnieje wiele kodów. Aby zachować kody, należy zapisać skoroszyt w formacie skoroszytu programu Excel z włączaniem makr. Jak możesz zmusić użytkowników do zapisywania jako skoroszyt z włączoną obsługą makr?

Zmuszaj użytkowników do zapisywania jako skoroszytu z włączoną obsługą makr z kodem VBA


strzałka niebieski prawy bąbelek Zmuszaj użytkowników do zapisywania jako skoroszytu z włączoną obsługą makr z kodem VBA

Aby domyślnie zapisać skoroszyt jako skoroszyt z włączoną obsługą makr, pomocny może być następujący kod VBA, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Następnie kliknij dwukrotnie Ten zeszyt pod Projekt VBA , aby otworzyć nowy pusty moduł, a następnie skopiuj i wklej następujący kod do modułu:

Kod VBA: Wymuś zapisanie skoroszytu jako skoroszytu z włączoną obsługą makr domyślnie:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

doc wymuś zapisanie jako xlsm 1

3. Następnie zapisz i zamknij to okno kodu, od teraz, gdy użytkownicy zapiszą jako ten skoroszyt, zostanie on zapisany jako Skoroszyt Excel z włączoną obsługą makr formatuj domyślnie, jak pokazano na poniższym zrzucie ekranu:

doc wymuś zapisanie jako xlsm 2


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (11)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
To było bardzo przydatne i działało jak urok, dziękuję :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Oszczędziłem mi dużo bólu - wielkie dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Niezłe!

Oszczędziło mi dużo bólu głowy! :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Używam programu Excel 2016 dla komputerów Mac i kiedy używam tego kodu VBA, aby osiągnąć „wymuszenie zapisu jako .xlsm”, pojawia się następujący błąd:

Błąd wykonania "1004":

Metoda 'GetSaveAsFilename' obiektu '_Application' nie powiodła się

Jakiekolwiek wskazówki, które ktoś mógłby udzielić w związku z tym błędem i jak mogę potrzebować dostosować kod, aby działał w wersji programu Excel na komputery Mac, byłyby bardzo mile widziane!
Ten komentarz został zminimalizowany przez moderatora na stronie
format pliku: =52 jest ładniejszy jako skoroszyt z obsługą makr. fileformat:=51 to normalny skoroszyt.
Ten komentarz został zminimalizowany przez moderatora na stronie
Otrzymuj BŁĄD 1004.
Korzystanie z Off365 2016 dla MAC. Masz rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Jonatanie,
Ten kod działa dobrze w Windows Office, ale nie był testowany w MAC.
Powinieneś wyszukać kod do pracy w MAC.
Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Każdy sposób, aby mieć ten VBA w pliku szablonu
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy jest jakiś sposób na umieszczenie tego VBA w pliku, który jest prawdziwym typem pliku szablonu?
Ten komentarz został zminimalizowany przez moderatora na stronie
Kiedy jesteś gotowy do stworzenia szablonu, uważam, że musisz użyć okna bezpośredniego, aby go uruchomić
ActiveWorkbook.SaveAs Filename:="WPISZ SWOJĄ NAZWĘ SZABLONU", FileFormat:=xlOpenXMLTemplateMacroEnabled
Ten komentarz został zminimalizowany przez moderatora na stronie
Kod VBA zmuszający użytkownika do zapisywania w formacie pliku .xlsm działa dla mnie bardzo dobrze. Szukałem tego rozwiązania dość długo. Wielkie dzięki za pomoc!
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL