ExcelスプレッドシートのVBAマクロは、プログラムでさまざまな操作を自動化するために使用されます。たとえば、繰り返し実行するタスクをプログラムしたり、コードを使用してグラフを生成したりできます。ただし、許可されていないユーザーからVBAマクロを保護することは重要な側面です。この問題を処理するために、この記事では、C#を使用してプログラムでExcelスプレッドシートのVBAマクロを保護する方法について説明します。
Excel VBAマクロを保護するためのC#API
Excel VBAマクロを保護するために、Aspose.Cells for .NETAPIを使用します。これは、.NETアプリケーション内からExcel自動化を実装できる強力なスプレッドシート操作APIです。さらに、APIを使用すると、ExcelファイルのVBAマクロをシームレスに操作できます。 APIのDLLをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.Cells
C#を使用してExcelVBAマクロを保護する
ExcelスプレッドシートのVBAマクロはVBAプロジェクトによってカプセル化され、各VBAプロジェクトには1つ以上のVBAマクロ(またはモジュール)が含まれる場合があります。したがって、VBAマクロを保護するには、VBAプロジェクトに保護を適用する必要があります。
以下は、ExcelVBAプロジェクトを保護する方法の手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.VbaProjectプロパティを使用して、VbaProjectオブジェクトにVBAプロジェクトにアクセスします。
- VbaProject.Protect(bool, string)メソッドを使用して、パスワードでVBAプロジェクトを保護します。
- Workbook.Save(String)メソッドを使用して、更新されたExcelファイルを保存します。
次のコードサンプルは、C#を使用してExcelVBAプロジェクトを保護する方法を示しています。
// ソース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");
パスワードで保護されたVBAプロジェクトを表示しようとすると、MSExcelに次のメッセージが表示されます。
無料のAPIライセンスを取得する
評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。
結論
この記事では、C#を使用してExcelファイルのVBAマクロを保護する方法を学習しました。ステップバイステップガイドとAPIリファレンスおよびコードサンプルは、VBAプロジェクトにパスワードを適用する方法を示しています。 ドキュメントを使用して、Aspose.Cells for .NETの詳細を調べることができます。ご不明な点がございましたら、フォーラムからお気軽にお問い合わせください。
関連項目
ヒント:Aspose無料のマクロ削除Webアプリを確認することをお勧めします。