Permissionオブジェクト

Permissionオブジェクトについての解説になります。

目次

Permissionオブジェクトとは

Permissionオブジェクトは、Microsoft Office Word 2003 Document オブジェクト、Microsoft Office Excel 2003 Workbook オブジェクト、および Microsoft Office PowerPoint 2003 Presentation オブジェクトの Permission プロパティは、Permission オブジェクトを返します。

アクティブ ドキュメントに対して適用するアクセス許可を制限したり、特定のアクセス許可の設定について取得したり設定したりするには、Permission オブジェクトを使用します。

アクティブ ドキュメントでアクセス許可が制限されているかどうかを調べるには、Enabled プロパティを使用します。アクセス許可を与えられているユーザーの数を調べるには、Count プロパティを使用します。既存のアクセス許可をすべてリセットするには、RemoveAll メソッドを使用します。

アクセス許可の設定に関する追加情報を取得するには、DocumentAuthor、EnableTrustedBrowser、RequestPermissionURL、StoreLicenses の各プロパティを使用します。

Permission オブジェクトを使用すると、UserPermission オブジェクトのコレクションにアクセスできます。個別のユーザーに対して特定の権限を関連付けるには、UserPermission オブジェクトを使用します。msoPermissionPrint など、ユーザー インターフェイスを通じて設定する一部のアクセス許可はすべてのユーザーに適用されますが、UserPermission オブジェクトを使用すれば、ユーザー単位でアクセス許可を割り当てることができます。また、ユーザー単位で有効期限を設定することもできます。

Microsoft Office Information Rights Management では、管理用アクセス許可ポリシーを使用できます。管理用アクセス許可ポリシーとは、ユーザー、グループ、およびドキュメントに対するアクセス許可の一覧を管理するものです。アクセス許可ポリシーを適用するには、ApplyPolicy メソッドを使用します。ポリシー情報を取得するには、PermissionFromPolicy、PolicyName、PolicyDescription の各プロパティを使用します。

Permission オブジェクト モデルは、アクティブ ドキュメントでアクセス許可が制限されているかどうかにかかわらず使用できます。Document オブジェクト、Workbook オブジェクト、および Presentation オブジェクトの Permission プロパティは、アクティブ ドキュメントでアクセス許可が制限されていない場合でも、Nothing を返しません。ドキュメントでアクセス許可が制限されているかどうかを調べるには、Enabled プロパティを使用します。

Windows Rights Management クライアントがインストールされていない場合、Permission オブジェクトを使用すると、エラーが発生します。次の使用例は、アクティブ ドキュメントに対して適用されているアクセス許可設定の情報を表示します。


    Dim irmPermission As Office.Permission
    Dim strIRMInfo As String
    Set irmPermission = ActiveWorkbook.Permission
    If irmPermission.Enabled Then
        strIRMInfo = "このドキュメントではアクセス許可が制限されています。" & vbCrLf
        strIRMInfo = strIRMInfo & " 信頼済みブラウザでの閲覧: " & _
            irmPermission.EnableTrustedBrowser & vbCrLf & _
            " ドキュメント作成者: " & irmPermission.DocumentAuthor & vbCrLf & _
            " アクセス許可を持つユーザー: " & irmPermission.Count & vbCrLf & _
            " ライセンスのキャッシュ: " & irmPermission.StoreLicenses & vbCrLf & _
            " アクセス許可 URL の要求: " & irmPermission.RequestPermissionURL & vbCrLf
        If irmPermission.PermissionFromPolicy Then
            strIRMInfo = strIRMInfo & " ポリシーから適用されているアクセス許可: " & vbCrLf & _
            "  ポリシーの名前: " & irmPermission.PolicyName & vbCrLf & _
            "  ポリシーの説明: " & irmPermission.PolicyDescription
        Else
            strIRMInfo = strIRMInfo & " 既定のアクセス許可が適用されています。" & vbCrLf & _
                "  既定のポリシーの名前: " & irmPermission.PolicyName & vbCrLf & _
                "  既定のポリシーの説明: " & irmPermission.PolicyDescription
        End If
    Else
        strIRMInfo = "このドキュメントではアクセス許可が制限されていません。"
    End If
    MsgBox strIRMInfo, vbInformation + vbOKOnly, "IRM 情報"
    Set irmPermission = Nothing

シート見出しの色を設定するサンプルコード

こちらでは、シート見出しの色を設定するマクロになります。


Sub sample()

    Sheets("Sheet1").Tab.ColorIndex = 3

End Sub

実行結果

解説

こちらのマクロは、PermissionオブジェクトのColorIndexプロパティを利用しています。

Permissionオブジェクトの親オブジェクト一覧

親オブジェクト名内容
Chartオブジェクトブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。
Worksheetオブジェクト

Permissionオブジェクトのプロパティ一覧

  • Permissionオブジェクト(ColorIndexプロパティ)のプロパティ
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。