Макросы VBA в электронных таблицах Excel используются для программной автоматизации различных операций. Например, вы можете запрограммировать задачу, которую нужно выполнять многократно, генерировать графики с помощью кода и т. д. Однако важным аспектом является защита макросов VBA от неавторизованных пользователей. Чтобы решить эту проблему, в этой статье описывается, как программно защитить макросы VBA в электронных таблицах Excel с помощью C#.
C# API для защиты макросов Excel VBA
Чтобы защитить макросы Excel VBA, мы будем использовать API Aspose.Cells for .NET. Это мощный API для работы с электронными таблицами, который позволяет реализовать автоматизацию Excel из ваших приложений .NET. Кроме того, API позволяет беспрепятственно работать с макросами VBA в файлах Excel. Вы можете либо скачать библиотеку DLL API, либо установить ее с помощью NuGet.
PM> Install-Package Aspose.Cells
Защита макросов Excel VBA с помощью C#
Макросы VBA в электронных таблицах Excel инкапсулированы проектами VBA, где каждый проект VBA может содержать один или несколько макросов VBA (или модулей). Следовательно, чтобы защитить макросы VBA, вам просто нужно применить защиту к проекту VBA.
Ниже приведены шаги по защите проекта Excel VBA.
- Загрузите файл Excel, используя класс Workbook.
- Получите доступ к проекту VBA в объект VbaProject с помощью свойства Workbook.VbaProject.
- Защитите проект VBA паролем, используя метод VbaProject.Protect(bool, string).
- Сохраните обновленный файл Excel с помощью метода Workbook.Save(String).
В следующем примере кода показано, как защитить проект Excel VBA с помощью C#.
// Загрузите исходный файл Excel
Workbook wb = new Workbook("Workbook.xlsm");
// Доступ к проекту VBA рабочей книги
Aspose.Cells.Vba.VbaProject vbaProject = wb.VbaProject;
// Заблокировать проект VBA для просмотра паролем
vbaProject.Protect(true, "11");
// Сохраните выходной файл Excel
wb.Save("ProtectedVBA.xlsm");
MS Excel показывает следующее сообщение, когда вы пытаетесь просмотреть защищенный паролем проект VBA.
Получите бесплатную лицензию API
Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.
Вывод
В этой статье вы узнали, как защитить макросы VBA в файлах Excel с помощью C#. Пошаговое руководство, а также ссылки на API и пример кода показали, как применить пароль к проекту VBA. Вы можете узнать больше об Aspose.Cells для .NET, используя документацию. Если у вас возникнут какие-либо вопросы, сообщите нам об этом через наш форум.
Смотрите также
Совет: вы можете попробовать Aspose БЕСПЛАТНОЕ веб-приложение для удаления макросов.