Makra VBA w arkuszach kalkulacyjnych Excel służą do programowej automatyzacji różnych operacji. Można np. zaprogramować zadanie, które ma być wykonywane wielokrotnie, generować wykresy za pomocą kodu itp. Ważnym aspektem jest jednak ochrona makr VBA przed nieautoryzowanymi użytkownikami. Aby rozwiązać ten problem, w tym artykule opisano, jak programowo chronić makra języka VBA w arkuszach kalkulacyjnych programu Excel przy użyciu języka C#.
C# API do ochrony makr Excel VBA
W celu ochrony makr Excel VBA wykorzystamy API Aspose.Cells for .NET. Jest to potężny interfejs API do manipulacji arkuszami kalkulacyjnymi, który umożliwia implementację automatyzacji programu Excel z poziomu aplikacji .NET. Ponadto interfejs API umożliwia bezproblemową pracę z makrami VBA w plikach Excel. Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
PM> Install-Package Aspose.Cells
Chroń makra Excel VBA za pomocą C#
Makra VBA w arkuszach kalkulacyjnych programu Excel są hermetyzowane przez projekty VBA, w których każdy projekt VBA może zawierać jedno lub więcej makr (lub modułów) VBA. Dlatego, aby chronić makra VBA, wystarczy zastosować ochronę w projekcie VBA.
Poniżej przedstawiono kroki, jak chronić projekt programu Excel VBA.
- Załaduj plik Excela, używając klasy Workbook.
- Uzyskaj dostęp do projektu VBA w obiekcie VbaProject za pomocą właściwości Workbook.VbaProject.
- Zabezpiecz projekt VBA hasłem za pomocą metody VbaProject.Protect(bool, string).
- Zapisz zaktualizowany plik programu Excel przy użyciu metody Workbook.Save(String).
Poniższy przykładowy kod pokazuje, jak chronić projekt programu Excel VBA przy użyciu języka C#.
// Załaduj źródłowy plik Excel
Workbook wb = new Workbook("Workbook.xlsm");
// Uzyskaj dostęp do projektu VBA skoroszytu
Aspose.Cells.Vba.VbaProject vbaProject = wb.VbaProject;
// Zablokuj projekt VBA do przeglądania za pomocą hasła
vbaProject.Protect(true, "11");
// Zapisz wyjściowy plik programu Excel
wb.Save("ProtectedVBA.xlsm");
Program MS Excel wyświetla następujący komunikat podczas próby wyświetlenia chronionego hasłem projektu VBA.
Uzyskaj bezpłatną licencję API
Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się, jak chronić makra VBA w plikach Excela przy użyciu języka C#. Przewodnik krok po kroku wraz z referencjami API i przykładowym kodem pokazał, jak zastosować hasło do projektu VBA. Możesz dowiedzieć się więcej o Aspose.Cells for .NET, korzystając z dokumentacji. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.
Zobacz też
Wskazówka: możesz sprawdzić Aspose BEZPŁATNA aplikacja internetowa do usuwania makr.