Kompresja obrazów w Excelu

Każdy, kto kiedyś wstawiał obrazy do Excela wie dobrze, że przy większej ich ilości  skoroszyt “puchnie” znacznie zwiększając swój rozmiar. Można sobie z tym poradzić kompresując osadzone obrazy i znacznie zmniejszając plik.

Jak to zrobić? Pokazuję to tu:

Zapraszam na mój kanał Excela na YT.

Kurs Excel - zaawansowane techniki

Wymuszenie włączenia makr w skoroszycie Excela

Wielu metod ochrony pliku Excela przed wprowadzaniem nieuprawnionych zmian opiera się na makrach i/lub kodzie VBA. Wszystko działa dobrze i sprawnie pod warunkiem, że otwierający plik użytkownik ma włączone makra. Nie da się tego zrobić automatycznie (i dobrze, szczególnie w przypadku plików nieznanego pochodzenia), ale jak spowodować, żeby użytkownik sam to zrobił? Trzeba spowodować, aby plik był bezużyteczny i tylko włączenie makr pozwoli na pracę.

Szczegóły mogą być tu różne, ale generalnie podstawowe zasady powinny wyglądać tak:

    • wszystkie arkusze ukryte kodem VBA
    • jeden dodatkowy arkusz startowy, z przyciskiem makra włączającego dostęp do skoroszytu czyli odkrywające arkusze robocze i zakrywające arkusz startowy. Jeżeli makra będą wyłączone – makro nie zadziała.
    • makro przy zdarzeniu przed zamknięciem skoroszytu (Workbook_BeforeClose) ukrywające wszystkie arkusze robocze i odkrywające arkusz startowy.

To powinno wystarczyć. Wszystkie inne sposoby ochrony pliku można dostosować do własnych potrzeb.

 


 

Kurs Excel dla księgowych

 

Ukrywanie obiektów Excela

Jedną z metod ochrony pliku Excela przed nieuprawnionym działaniem użytkowników jest ukrywanie niektórych obiektów.
Jest tu kilka możliwości:

    • ukrycie kart arkuszy (zakładek)
      karta Plik –> Zaawansowanie –> Pokaż karty arkuszy
      Po odznaczeniu tej opcji nazwy kart arkuszy

będą niewidoczne

 

    • ukrycie arkuszy
      konkretne arkusze można ukryć. Wystarczy zaznaczyć jeden lub kilka arkuszy, a następnie po kliknięciu prawym przyciskiem myszy wybrać Ukryj z menu podręcznego

      Nie da się ukryć  wszystkich arkuszy – co najmniej jeden musi zostać odkryty.
      Odkrywanie arkuszy odbywa się bardzo podobnie – kliknięciem prawy przyciskiem myszy i wybraniem z menu podręcznego Odkryj…
      Pokaże się formularz, w którym widoczne będą wszystkie ukryte arkusze. Zaznaczając arkusz z listy (tu niestety trzeba to zrobić oddzielnie dla każdego arkusza) i naciskając OK – odkrywamy go.

    • ukrycie arkuszy kodem VBA
      arkusze mogą zostać także ukryte “głęboko”, tak, aby nie można było ich w prosty sposób odkryć. Jest to możliwe w kodzie VBA z wykorzystaniem właściwości Visible arkusza. Do wyboru jest tu:

        • xlSheetHidden
          arkusz zostanie ukryty, tak jak po ukryciu w menu podręcznym
        • xlSheetVeryHidden
          arkusz zostanie głęboko ukryty. Nie będzie widoczny na liście arkuszy do odkrycia w formularzu menu podręcznego
        • xlSheetVisible
          odkrycie arkusza

Przykładowa procedura ukrywająca arkusz może wyglądać tak:

Sub UkryjArkusz()
Worksheets(“Arkusz1”).Visible = xlSheetVeryHidden
End Sub

Odkrycie arkusza wymaga również procedury VBA przypisującej Visible=xlSheetVisible

    • ukrycie paska formuły/nagłówków/linii siatki
      domyślnie widoczne, można ukryć w karcie Widok–>Pokazywanie, odhaczając poszczególne opcje:

przy braku zaznaczenia tych opcji widok będzie wyglądać tak:

    • ukrycie formuł komórki
      jeżeli w komórce znajduje się formuła wynik jej działania jest widoczny w komórce, a sama formuła – na  pasku formuł nad nagłówkami kolumn.

Chcąc ukryć zapis tej formuły, przechodzimy do formatowania komórki i w zakładce Ochrona zaznaczamy opcję Ukryj.

Po włączeniu ochrony arkusza zapisana w komórce formuła jest niewidoczna (choć sam wynik jej działania nadal jest widoczny w komórce):