VBAからicaclsコマンドを実行するには、Shell関数を使用することができます。以下はicaclsコマンドの基本的な使い方の例です。
Sub SetFolderPermissions() Dim folderPath As String folderPath = "C:\ExampleFolder" Dim userName As String userName = "ExampleUser" Dim permissionLevel As String permissionLevel = "F" Shell "icacls " & folderPath & " /grant " & userName & ":" & permissionLevel, vbNormalFocusEnd Sub
Shell "icacls C:\ExampleFolder /grant ExampleUser:F", vbNormalFocus
上記の例では、C:\ExampleFolderディレクトリに対して、ExampleUserユーザーにフルコントロール(/F)の権限を与えています。
以下はicaclsコマンドの主なオプションです。/grant:ユーザーにアクセス許可を与えます。/deny:ユーザーにアクセス許可を拒否します。/t:サブフォルダーとその中に含まれるファイルに対して設定します。/c:エラーを無視して処理を続行します。/q:処理中に進捗情報を表示しません。