セキュリティレベルも上がってきて、Officeドキュメントに秘密度ラベルを設定するという会社も増えてきました。
VBAでセキュリティラベルを設定する方法を記載しておきます。
やりたいこと
秘密度ラベルを適用するには、ユーザーは Microsoft 365 の職場または学校のアカウントを使用する必要がありますので、個人のアカウントでは見たことないという方もいるかもしれませんね。
以下のSensitivyというやつです。日本語だと「秘密度」って書いてあります。
秘密度ラベルの設定方法について
https://www.softbanktech.co.jp/special/blog/cloud_blog/2022/0062/
秘密度を取得して設定するVBAコード
早速VBAコードを記載します。
Sub getlabel() ' ---- Get Label --------------- Dim myLabelInfo As Office.labelInfo Dim labelpart1 As String Dim labelpart2 As String Dim labelpart3 As String Set wb = ThisWorkbook Set myLabelInfo = wb.SensitivityLabel.getlabel() labelpart1 = myLabelInfo.LabelId labelpart2 = myLabelInfo.SiteId labelpart3 = myLabelInfo.labelName ' ---- Set Label --------------- Dim docSenseLabel As SensitivityLabel Dim labelInfo As Office.labelInfo Dim nwb As Workbook Set nwb = Workbooks.Add Set docSenseLabel = nwb.SensitivityLabel Set labelInfo = docSenseLabel.CreateLabelInfo() With labelInfo .AssignmentMethod = MsoAssignmentMethod.PRIVILEGED .LabelId = labelpart1 .SiteId = labelpart2 .labelName = labelpart3 End With docSenseLabel.SetLabel labelInfo, labelInfo nwb.SaveAs Filename:="C:\Temp\temp.xlsx" nwb.Close End Sub
解説
このコードは前段で元々のファイルの秘密度を取得し、後段で新しいブックに秘密度ラベルを設定して別ブックとして保存するという内容です!
ですので、元々のファイルから秘密度をUpdateしたいというときは対応できないです。。いづれやり方調べますが取り急ぎ公開しておきます!
さいごに
参考にさせていただいたのは以下のサイトです。日本語の解説あんまりないので、困ってました~。誰かの参考になると嬉しいです。
https://stackoverflow.com/questions/74712674/add-sensitivity-label
ではまた!