VBA を使用して Outlook で AIP ラベル検査を探索する
最新のビジネス環境では、電子メールのプロパティにプログラムでアクセスできる機能は、データのセキュリティとコンプライアンスを維持するために非常に重要です。 Microsoft Outlook を Visual Basic for Applications (VBA) と組み合わせると、広範なカスタマイズと自動化が可能になります。セキュリティ ポリシーを適用したり、特定のワークフローをトリガーしたりするために、ユーザーが受信メールに添付された Azure Information Protection (AIP) ラベルを検査する必要がある場合に、特定の課題が発生します。
ただし、Outlook VBA は、'SensitivityLabel' プロパティへのアクセスをネイティブにサポートしていません。このプロパティは、Excel VBA および新しい JavaScript ベースのアドイン モデルですぐに使用できます。この制限により、電子メール ヘッダーを直接解析せずに AIP ラベル情報を取得する代替方法が必要になりますが、これは面倒でエラーが発生しやすい可能性があります。
指示 | 説明 |
---|---|
Application.ActiveExplorer.Selection.Item(1) | Outlook で現在選択されている項目の最初のアイテムを選択します。通常、現在選択されている電子メールを操作するために VBA で使用されます。 |
PropertyAccessor.GetProperty() | MAPI プロパティ タグを使用して、Outlook メール アイテムから特定のプロパティを取得します。ここで電子メールヘッダーにアクセスするために使用されます。 |
Office.onReady() | Office アドインが読み込まれて準備ができたときに関数を初期化し、ホスト アプリケーションが Office.js スクリプトを実行できるようにします。 |
loadCustomPropertiesAsync() | Office.js を使用して、Outlook の電子メール アイテムに関連付けられたカスタム プロパティを非同期的に読み込みます。アドインの AIP ラベルなどの非標準の電子メール データにアクセスするためのキー。 |
console.log() | JavaScript アプリケーションのデバッグに役立つ情報を Web コンソールに出力します。ここでは、取得したラベルをログに記録します。 |
Chr(10) | ASCII コード 10 に対応する文字、つまり改行 (LF) 文字を返します。この文字は、電子メール ヘッダーの改行を検索するために使用されます。 |
AIPラベル取得のためのスクリプト機能の詳細な分析
提供されるスクリプトは、電子メール内の Azure Information Protection (AIP) ラベルにアクセスするための実用的なソリューションを提供します。この機能は、Outlook VBA から直接アクセスすることはできませんが、コンプライアンスとセキュリティ対策には重要です。最初のスクリプトは Outlook 内で VBA を利用します。 Application.ActiveExplorer.Selection.Item コマンドを使用して、ユーザーが現在強調表示している電子メールを選択します。このスクリプトでは、 PropertyAccessor.GetProperty 事前定義された MAPI プロパティ タグを含むメソッドを使用して、機密ラベル情報が保存されている可能性のあるすべての電子メール ヘッダーを取得します。
2 番目のスクリプトは、最新の Outlook 環境内の機能を強化するための Office.js フレームワークの使用を強調しています。ここで、 Office.onReady この機能により、Office ホスト アプリケーションが完全に読み込まれた場合にのみスクリプトが実行されるようになり、互換性と信頼性が確保されます。次に、 loadCustomPropertiesAsync 電子メールに添付されているカスタム プロパティ (AIP ラベルを含む可能性がある) を非同期に取得するメソッド。この方法は、同期呼び出しによるユーザー エクスペリエンスに影響を与えることなく、強化されたデータ処理が必要な環境で特に役立ちます。
Outlook での AIP ラベル取得のスクリプト作成
VBA を使用した電子メールのメタデータ抽出
Dim oMail As Outlook.MailItem
Dim oHeaders As Outlook.PropertyAccessor
Const PR_TRANSPORT_MESSAGE_HEADERS As String = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
Dim labelHeader As String
Dim headerValue As String
Sub RetrieveAIPLabel()
Set oMail = Application.ActiveExplorer.Selection.Item(1)
Set oHeaders = oMail.PropertyAccessor
headerValue = oHeaders.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
labelHeader = ExtractLabel(headerValue)
MsgBox "The AIP Label ID is: " & labelHeader
End Sub
Function ExtractLabel(headers As String) As String
Dim startPos As Integer
Dim endPos As Integer
startPos = InStr(headers, "MSIP_Label_")
If startPos > 0 Then
headers = Mid(headers, startPos)
endPos = InStr(headers, Chr(10)) 'Assuming line break marks the end
ExtractLabel = Trim(Mid(headers, 1, endPos - 1))
Else
ExtractLabel = "No label found"
End If
End Function
ラベル検査用の JavaScript アドインの構築
Office JS API を使用した電子メール処理の強化
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
retrieveLabel();
}
});
function retrieveLabel() {
Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Succeeded) {
var customProps = result.value;
var label = customProps.get("MSIP_Label");
if (label) {
console.log("AIP Label: " + label);
} else {
console.log("No AIP Label found.");
}
} else {
console.error("Failed to load custom properties: " + result.error.message);
}
});
}
メールメタデータ分析によるセキュリティ強化
企業環境内の電子メール メタデータは、セキュリティを維持し、規制へのコンプライアンスを確保する上で極めて重要な役割を果たすことができます。これらのデータ、特に AIP などの機密情報ラベルにアクセスすると、IT 部門がセキュリティ対策を効果的に自動化および調整できるようになります。このアクセスは、データ漏洩を防止し、機密情報がライフサイクル全体にわたって正しく分類され、保護されるようにするために重要です。
Outlook VBA などのレガシー システムが使用されている環境では、次のような新しいプロパティを直接サポートしていないため、このようなメタデータにアクセスするには創造的なソリューションが必要です。 SensitivityLabel。このギャップにより、多くの場合、企業設定内で古いテクノロジと新しいテクノロジ間の機能を橋渡しするために、追加のプログラミングまたはサードパーティ ツールの使用が必要になります。
Outlook の電子メール ラベル管理に関するよくある質問
- AIPラベルとは何ですか?
- Azure Information Protection (AIP) ラベルは、ラベルを適用することでドキュメントと電子メールを分類および保護するために使用されます。
- Outlook VBA は AIP ラベルに直接アクセスできますか?
- いいえ、Outlook VBA は直接サポートしていません。 SensitivityLabel AIP ラベルにアクセスするために使用されるプロパティ。ヘッダーの解析などの代替方法が必要です。
- は何ですか PropertyAccessor.GetProperty コマンドを実行しますか?
- このコマンドは、MAPI プロパティ タグを使用して、Outlook の電子メールなどのオブジェクトから特定のプロパティを取得します。
- 最新の Outlook バージョン用の JavaScript ベースのソリューションはありますか?
- はい、Outlook の最新の JavaScript ベースのアドイン モデルでは、Office.js ライブラリを通じてこれらのプロパティにアクセスできます。
- Outlook で電子メールのカスタム プロパティに非同期的にアクセスするにはどうすればよいですか?
- を使用して、 loadCustomPropertiesAsync Office.js のメソッド。ユーザー インターフェイスをブロックせずにカスタム プロパティを取得します。
Outlook の電子メール セキュリティ強化に関する最終的な考え
従来の Outlook で VBA を使用して AIP ラベルを直接管理するのは複雑ですが、ここで説明する戦略は効果的な回避策を提供します。最新の環境でヘッダー解析に Outlook VBA を使用し、カスタム プロパティを処理するために Office.js の両方を活用することで、組織は電子メール セキュリティ プロトコルの堅牢性を維持し、進化するコンプライアンス要件に適応できるようにすることができます。この 2 つのアプローチは、多様な技術エコシステム内で電子メールのセキュリティを管理する際の柔軟性の必要性を強調しています。