■75009 / inTopicNo.1) |
OpenXMLでExcelにパスワードを付ける方法 |
□投稿者/ kanai (1回)-(2015/02/17(Tue) 23:43:42)
|
分類:[.NET 全般]
開発環境はWindows7, Visual Studio 2010, VB, .Net Framework 3.5です。
Officeオートメーションを使用せずに、Excelファイル(xlsx, Excel 2010の利用を想定)にパスワードを設定する方法を探しています。
NPOI, ClosedXMLを試しましたが、該当する方法が見つからなかったので、OpenXMLを調べています。
WorkbookProtection.WorkbookPasswordを使えば出来そうなのですが、具体的な設定方法が分からず困っております。
DocumentFormat.OpenXml.HexBinaryValueという型のようですが、目的のパスワードの値をどのように加工して設定するのでしょうか。
ご教示いただきたく、よろしくお願いします。
WorkbookProtection.WorkbookPassword Property
https://msdn.microsoft.com/ja-jp/library/documentformat.openxml.spreadsheet.workbookprotection.workbookpassword(v=office.14).aspx
現在試しているコードは以下の通りです。
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Spreadsheet
Imports DocumentFormat.OpenXml.Packaging
Module Module1
Sub Main()
Dim fileName As String = "Book1.xlsx"
Dim password As String = "password"
Dim document As SpreadsheetDocument = SpreadsheetDocument.Open(fileName, True)
Dim wbPart As WorkbookPart = document.WorkbookPart
wbPart.Workbook.WorkbookProtection = New WorkbookProtection()
wbPart.Workbook.WorkbookProtection.WorkbookPassword = ?
document.Close()
End Sub
End Module
|
|