Request access to multiple files
Applies to: Excel for Mac | PowerPoint for Mac | Word for Mac | Office 2016 for Mac
Use the GrantAccessToMultipleFiles command to request access to multiple files at once in your Office 2016 for Mac solution.
Unlike VBA macros in Office for Mac 2011, VBA macros in Office 2016 for Mac don't have access to external files by default. Because the Office 2016 for Mac apps are sandboxed, they do not have permission to access external files.
Existing macro file commands prompt the user for permission to access a file if the app doesn't have access to it. This means that macros that access external files cannot run unattended. The user must approve file access the first time each file is referenced. You can use the GrantAccessToMultipleFiles command to minimize the number of prompts in order to improve the user experience.
Use the GrantAccessToMultipleFiles command to input an array of file paths and prompt the user for permission to access them.
|fileArray||An array of POSIX file paths|
The command returns whether the user granted permission or not.
|True||The user grants permission to the files.|
|False||The user denies permission to the files.|
After the user grants permissions, the permissions are stored with the app. The user doesn't need to grant permission to the file again.
Sub requestFileAccess() 'Declare Variables Dim fileAccessGranted As Boolean Dim filePermissionCandidates 'Create an array with file paths for the permissions that are needed. filePermissionCandidates = Array("/Users//Desktop/test1.txt", "/Users//Desktop/test2.txt") 'Request access from user. fileAccessGranted = GrantAccessToMultipleFiles(filePermissionCandidates) 'Returns true if access is granted; otherwise, false. End Sub
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.