セキュリティレベルも上がってきて、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

 

ではまた!