IronXL ハウツー ワークブックにパスワードを設定する C++でワークブックにパスワードを設定する方法 カーティス・チャウ 更新日:2026年1月10日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronXLは、開発者がC#でExcelワークブックをパスワードで保護することを可能にします。Encryptメソッドに必要なパスワードを入力し、ワークブックを保存すると、即座に保護が適用されます。 クイックスタート: IronXLでワークブックのパスワードを暗号化する わずか1つの簡単なステップで、IronXLは開発者にExcelワークブックの暗号化を可能にします―Interopなし、面倒なし。 Encryptメソッドにパスワードを入力し、ファイルを保存すると、すぐにワークブックが保護されます。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronXL をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 var wb = WorkBook.Load("input.xlsx"); wb.Encrypt("MyStrongPass"); wb.SaveAs("input.xlsx"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(5ステップ) ワークブックをパスワード保護するための C# ライブラリをダウンロードする パスワードで保護されたワークブックにアクセスする ワークブックにパスワード保護を適用する ワークブックからパスワード保護を削除する 暗号化されたワークブックをエクスポートする パスワードで保護されたワークブックにアクセスするには? 保護されたスプレッドシートは、Loadメソッドの2番目のパラメータとしてパスワードを指定することで開くことができます。 例: WorkBook.Load("sample.xlsx", "Iron Software")。 This feature is essential when working with existing Excel files that have been secured by colleagues or automated processes. ご注意正しいパスワードがないと保護されたスプレッドシートを開くことはできません 以下は、パスワードで保護されたワークブックにアクセスする方法を示す完全な例です: using IronXL; // Attempt to open a password-protected workbook try { WorkBook protectedWorkBook = WorkBook.Load("encrypted_data.xlsx", "MySecretPass123!"); // Access the first worksheet WorkSheet sheet = protectedWorkBook.WorkSheets[0]; // Read data from protected file var cellValue = sheet["A1"].Value; Console.WriteLine($"Successfully accessed protected workbook. A1 contains: {cellValue}"); } catch (Exception ex) { Console.WriteLine($"Failed to open workbook: {ex.Message}"); } using IronXL; // Attempt to open a password-protected workbook try { WorkBook protectedWorkBook = WorkBook.Load("encrypted_data.xlsx", "MySecretPass123!"); // Access the first worksheet WorkSheet sheet = protectedWorkBook.WorkSheets[0]; // Read data from protected file var cellValue = sheet["A1"].Value; Console.WriteLine($"Successfully accessed protected workbook. A1 contains: {cellValue}"); } catch (Exception ex) { Console.WriteLine($"Failed to open workbook: {ex.Message}"); } Imports IronXL ' Attempt to open a password-protected workbook Try Dim protectedWorkBook As WorkBook = WorkBook.Load("encrypted_data.xlsx", "MySecretPass123!") ' Access the first worksheet Dim sheet As WorkSheet = protectedWorkBook.WorkSheets(0) ' Read data from protected file Dim cellValue = sheet("A1").Value Console.WriteLine($"Successfully accessed protected workbook. A1 contains: {cellValue}") Catch ex As Exception Console.WriteLine($"Failed to open workbook: {ex.Message}") End Try $vbLabelText $csharpLabel 間違ったパスワードを使用するとどうなりますか? 不正なパスワードが入力された場合、IronXLはNULLや空のワークブックを返すのではなく、例外をスローします。 この動作は、不正なアクセスの試みを防ぐことによってセキュリティを確保します。パスワードで保護されたワークブックの操作は、常にtry-catchブロックでラップして、認証の失敗を優雅に処理してください。 If you're building an application that processes multiple Excel files, consider implementing a retry mechanism with user prompts for password entry. ワークブックを開く前にパスワードで保護されているかどうかを確認できますか? 残念ながら、Excelのファイル形式では、ファイルを開かずにパスワード保護の状態を確認することはできません。推奨されるアプローチは、まずパスワードなしで読み込みを試み、例外をキャッチし、必要であればパスワード付きで再試行することです。 This pattern works well when managing multiple worksheets with mixed protection levels. ワークブックにパスワードを適用するには? スプレッドシートをパスワードで保護するには、以下のコードに示すようにEncryptメソッドを使用します。 :path=/static-assets/excel/content-code-examples/how-to/set-password-workbook-protect.cs WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open protected spreadsheet file WorkBook protectedWorkBook = WorkBook.Load("sample.xlsx", "IronSoftware"); // Set protection for spreadsheet file workBook.Encrypt("IronSoftware"); workBook.Save(); Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open protected spreadsheet file Dim protectedWorkBook As WorkBook = WorkBook.Load("sample.xlsx", "IronSoftware") ' Set protection for spreadsheet file workBook.Encrypt("IronSoftware") workBook.Save() $vbLabelText $csharpLabel For more advanced scenarios, you can combine workbook encryption with worksheet-level protection: using IronXL; using System; // Create a new workbook with sensitive financial data WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workBook.CreateWorkSheet("FinancialData"); // Add sensitive data sheet["A1"].Value = "Confidential Financial Report"; sheet["A3"].Value = "Revenue"; sheet["B3"].Value = 1250000; sheet["A4"].Value = "Expenses"; sheet["B4"].Value = 750000; // Apply formatting before encryption sheet["B3:B4"].FormatCells.FormatString = "$#,##0.00"; // Encrypt the workbook with a strong password workBook.Encrypt("F!n@nc3_S3cur3_2024"); // Save the encrypted workbook workBook.SaveAs("financial_report_encrypted.xlsx"); Console.WriteLine("Workbook encrypted successfully!"); using IronXL; using System; // Create a new workbook with sensitive financial data WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workBook.CreateWorkSheet("FinancialData"); // Add sensitive data sheet["A1"].Value = "Confidential Financial Report"; sheet["A3"].Value = "Revenue"; sheet["B3"].Value = 1250000; sheet["A4"].Value = "Expenses"; sheet["B4"].Value = 750000; // Apply formatting before encryption sheet["B3:B4"].FormatCells.FormatString = "$#,##0.00"; // Encrypt the workbook with a strong password workBook.Encrypt("F!n@nc3_S3cur3_2024"); // Save the encrypted workbook workBook.SaveAs("financial_report_encrypted.xlsx"); Console.WriteLine("Workbook encrypted successfully!"); Imports IronXL Imports System ' Create a new workbook with sensitive financial data Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim sheet As WorkSheet = workBook.CreateWorkSheet("FinancialData") ' Add sensitive data sheet("A1").Value = "Confidential Financial Report" sheet("A3").Value = "Revenue" sheet("B3").Value = 1250000 sheet("A4").Value = "Expenses" sheet("B4").Value = 750000 ' Apply formatting before encryption sheet("B3:B4").FormatCells.FormatString = "$#,##0.00" ' Encrypt the workbook with a strong password workBook.Encrypt("F!n@nc3_S3cur3_2024") ' Save the encrypted workbook workBook.SaveAs("financial_report_encrypted.xlsx") Console.WriteLine("Workbook encrypted successfully!") $vbLabelText $csharpLabel なぜパスワードは保存後にしか有効にならないのですか Excelの暗号化処理はファイルの内部構造を変更するため、ディスクへの書き込みが必要です。 Save()またはSaveAs()を呼び出すまで、ワークブックは暗号化が適用されずにメモリ内に残ります。 このデザインでは、暗号化されたバージョンをコミットする前に、何度も修正を加えることができます。 When working with workbook metadata, remember to set all properties before applying encryption and saving. どのようなパスワード強度を使用すべきですか? ビジネスアプリケーションの場合は、以下のパスワードガイドラインに従ってください: 12文字以上 大文字と小文字の混在 数字や特殊文字を含む 辞書的な単語や予測可能なパターンは避けてください。 "MyExcel@Report#2024!"のようなパスフレーズの使用を検討してください。 When developing applications that export sensitive data to Excel, implement a password policy that enforces these requirements programmatically. 特定のワークシートのみをパスワードで保護できますか? はい! IronXLはワークブックレベルとワークシートレベルの両方の保護をサポートしています。 ワークブックの暗号化が不正なファイルアクセスを防ぐ一方で、ワークシートの保護は特定のシートへの変更を防ぎます。 両方のアプローチを組み合わせることができます: // Load workbook WorkBook workBook = WorkBook.Load("multi_sheet_report.xlsx"); // Protect specific worksheets workBook.WorkSheets["Summary"].ProtectSheet("SheetPass123"); workBook.WorkSheets["Details"].ProtectSheet("DetailPass456"); // Then encrypt the entire workbook workBook.Encrypt("MasterPassword789!"); // Save with both protections workBook.Save(); // Load workbook WorkBook workBook = WorkBook.Load("multi_sheet_report.xlsx"); // Protect specific worksheets workBook.WorkSheets["Summary"].ProtectSheet("SheetPass123"); workBook.WorkSheets["Details"].ProtectSheet("DetailPass456"); // Then encrypt the entire workbook workBook.Encrypt("MasterPassword789!"); // Save with both protections workBook.Save(); ' Load workbook Dim workBook As WorkBook = WorkBook.Load("multi_sheet_report.xlsx") ' Protect specific worksheets workBook.WorkSheets("Summary").ProtectSheet("SheetPass123") workBook.WorkSheets("Details").ProtectSheet("DetailPass456") ' Then encrypt the entire workbook workBook.Encrypt("MasterPassword789!") ' Save with both protections workBook.Save() $vbLabelText $csharpLabel ワークブックからパスワードを削除するには? スプレッドシートからパスワードを削除するには、単にPasswordフィールドをnullに設定します。以下のコードで示します。 ご注意このアクションは、ワークブックにアクセスした後にのみ実行できます。 そのため、元のパスワードを知っておく必要があります。 :path=/static-assets/excel/content-code-examples/how-to/set-password-workbook-unprotect.cs // Remove protection for opened workbook. Original password is required. workBook.Password = null; ' Remove protection for opened workbook. Original password is required. workBook.Password = Nothing $vbLabelText $csharpLabel 以下は、パスワード保護を解除するための完全なワークフローを示す包括的な例です: using IronXL; // First, open the protected workbook with the correct password WorkBook protectedWorkBook = WorkBook.Load("encrypted_report.xlsx", "CurrentPassword123"); // Perform any necessary operations WorkSheet sheet = protectedWorkBook.DefaultWorkSheet; sheet["A1"].Value = "Updated after removing protection"; // Remove the password protection protectedWorkBook.Password = null; // Save the workbook without password protection protectedWorkBook.SaveAs("unprotected_report.xlsx"); Console.WriteLine("Password protection removed successfully!"); using IronXL; // First, open the protected workbook with the correct password WorkBook protectedWorkBook = WorkBook.Load("encrypted_report.xlsx", "CurrentPassword123"); // Perform any necessary operations WorkSheet sheet = protectedWorkBook.DefaultWorkSheet; sheet["A1"].Value = "Updated after removing protection"; // Remove the password protection protectedWorkBook.Password = null; // Save the workbook without password protection protectedWorkBook.SaveAs("unprotected_report.xlsx"); Console.WriteLine("Password protection removed successfully!"); Imports IronXL ' First, open the protected workbook with the correct password Dim protectedWorkBook As WorkBook = WorkBook.Load("encrypted_report.xlsx", "CurrentPassword123") ' Perform any necessary operations Dim sheet As WorkSheet = protectedWorkBook.DefaultWorkSheet sheet("A1").Value = "Updated after removing protection" ' Remove the password protection protectedWorkBook.Password = Nothing ' Save the workbook without password protection protectedWorkBook.SaveAs("unprotected_report.xlsx") Console.WriteLine("Password protection removed successfully!") $vbLabelText $csharpLabel パスワード保護はいつ解除すべきですか? パスワードを削除する一般的なシナリオは以下のとおりです: アーカイブ:ファイルレベルの暗号化が冗長な安全なストレージへのファイルの移動 System Integration: When automated processes need to import Excel data without manual intervention コラボレーション: パスワードを必要としないチームメンバーとファイルを共有する。 マイグレーション:Excel 暗号化をサポートしないシステムで使用するために保護されたファイルを変換する ワークブックのパスワード保護を解除する前に、必ず適切な権限を持っていることを確認してください。 IronXL provides the ability to protect and unprotect Excel workBooks and workSheets with a single line of C# code. For more advanced Excel security features, explore our guides on workbook metadata management and secure data handling practices. よくある質問 C#でExcelワークブックをパスワードで保護するには? IronXLでは、Encryptメソッドを使ってExcelワークブックをパスワードで保護することができます。ワークブックをロードし、wb.Encrypt("YourPassword")を呼び出し、ファイルを保存するだけです。このたった一つのメソッド呼び出しで、Microsoft Office Interopを必要とせずにExcelファイルを即座に保護することができます。 パスワードを知らなくてもパスワード保護されたExcelファイルを開くことはできますか? 保護されたExcelファイルを開くには正しいパスワードが必要です。パスワードで保護されたワークブックを読み込む場合は、2番目のパラメータとしてパスワードを指定する必要があります:WorkBook.Load("file.xlsx", "password")。正しいパスワードがないと、ファイルにアクセスできません。 保護されたワークブックを間違ったパスワードで開こうとするとどうなりますか? IronXLは不正なパスワードが入力された場合、NULLや空のワークブックを返すのではなく、例外をスローします。このセキュリティ機能により、不正アクセスを防ぐことができます。パスワードで保護されたワークブックの操作は、常にtry-catchブロックでラップして、認証の失敗を優雅に処理してください。 Excelファイルを開く前に、パスワードで保護されているかどうかを確認する方法を教えてください。 Excelのファイル形式では、ファイルを開かずにパスワード保護の状態を確認することはできません。IronXLでは、まずパスワードなしでファイルを読み込んでみて、例外をキャッチし、必要であればパスワード付きで再試行することを推奨します。 Excelワークブックのパスワード保護を解除できますか? はい、IronXLではワークブックのパスワード保護を解除することができます。まず、WorkBook.Load("file.xlsx", "password")を使用して正しいパスワードで保護されたワークブックをロードし、暗号化せずに保存して保護されていないバージョンを作成します。 パスワード保護は、すべてのExcelファイル形式で機能しますか? IronXLは.xlsxや.xlsmファイルを含む最新のExcel形式のパスワード保護をサポートしています。この暗号化機能は、Microsoft Officeをシステムにインストールすることなく、異なるExcelのバージョン間でシームレスに動作します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 1,846,091 ライセンスを見る