Microsoft Excel Vba For Mac 2016
Use VBA add-ins and macros that you developed for Office for Windows with Office for Mac. Applies to: Excel for Mac PowerPoint for Mac Word for Mac Office 2016 for Mac If you are authoring Macros for Office for Mac, you can use most of the same objects that are available in VBA for Office.
Problems with Apple’s sandbox requirements and Mac Office 2016 with VBA code
In Windows Excel 97-2016 and in Mac Excel 2011 you can open files or save files where you want in almost every folder on your system without warnings or requests for permission. But in Mac Office 2016 Microsoft have to deal with Apple’s sandbox requirements. When you use VBA in Mac Excel 2016 that Save or Open files you will notice that it is possible that it will ask you permission to access the file or folder (Grant File Access Prompt), this is because of Apple’s sandbox requirements.This means that when you want to save/open files or check if it exists with VBA code the first time you will be prompted to allow access on the first attempt to access such a folder or file.
How to avoid problems
There are a few places on your Mac that you can use to avoid the prompts and let your code do what it needs to do without user interaction. But these folders are not in a place that a user can easily find so below are some steps that I hope to make it easier for you to access the folder manual if you want.
This is the Root folder on my machine that we use in the examples on this page:
/Users/rondebruin/Library/Group Containers/UBF8T346G9.Office
Note: rondebruin is the user name in this path and I agree that the naming of the folder for Office(UBF8T346G9.Office) is not so nice, but Microsoft must use that of Apple.
I not use this location on this example page to be sure that every Office program can access my files if this is needed.
Manual create a folder for your Excel files in the Office folder
- Open a Finder Window
- Hold the Alt key when you press on Go in the Finder menu bar
- Click on Library
- Open the Group Containers folder
- Open the UBF8T346G9.Office folder
- Create a Folder inside this folder named MyExcelFolder for example
- Select this folder
This are three ways to easily open the folder manual :
- Add it to your Favorites in Finder by dragging it to it.
- Add it to your Favorites in Finder with the shortcut : cmd Ctrl T
- Drag the folder to the Desktop with the CMD and Alt key down. You now have a link(alias) to the folder on your desktop so it is easy to find it and open it in the future.
Note : Adding the folder to your Favorites is my favorite because you see the folder in your open and save dialogs in Excel.
How to create a Folder in the Office folder with VBA code
Below you find a macro and a function that you can use to create a folder if it not exists in the Root folder named : UBF8T346G9.Office
In the macro you see one line that call the function and the argument is the name of the folder that you want to create if it not exists. Change 'MyProject' to something else to create another folder.
Note: On this page there is a example to create a shortcut on the Desktop to the folder.
How do I open files with VBA code in my folder ?
Below you find a macro and a function that you can use to open a file in one of the sub folders of the UBF8T346G9.Office folder. In the macro you see one line that call the function and there are two arguments :
- Name of the sub folder
- Name of the file
Note : You can also add code in the macro to test if the file is already open, I use that also in the code example in this section : Browse to a file or files in a sub folder of the Office folder.
How do I Save a file with VBA code in my folder ?
The first macro create a file of only the activesheet and save it in a folder named: ProjectName and the second macro save a copy of the file in a folder named Backup. Both are sub folders of your UBF8T346G9.Office folder. Be sure you update your Mac Office 2016 install so it is 16.9 or higher.
Note : Both macros use the custum function CreateFolderinMacOffice2016 that you find in the first section of this page.
Browse to a file or files in a sub folder of the Office folder
In the example below it opens a browse dialog with a folder folder named : MyExcelFolder from your UBF8T346G9.Office folderand you are only able to select xlsx files. Below the macro you find a list of format names and you can read how you can change it. Note: Do not forget to copy the bIsBookOpen function in your module, you find it below the macro.
Other file formats :
In the macro you see this code line that say which file format you can select (xlsx).
FileFormat = '{'org.openxmlformats.spreadsheetml.sheet'}'
If you want more then one format you can use this to be able to also select xls files.
FileFormat = '{'org.openxmlformats.spreadsheetml.sheet','com.microsoft.Excel.xls'}'
This is a list of a few formats that you can use :
xls : com.microsoft.Excel.xls
xlsx : org.openxmlformats.spreadsheetml.sheet
xlsm : org.openxmlformats.spreadsheetml.sheet.macroenabled
xlsb : com.microsoft.Excel.sheet.binary.macroenabled
csv : public.comma-separated-values-text
doc : com.microsoft.word.doc
docx : org.openxmlformats.wordprocessingml.document
docm : org.openxmlformats.wordprocessingml.document.macroenabled
ppt : com.microsoft.powerpoint.ppt
pptx : org.openxmlformats.presentationml.presentation
pptm : org.openxmlformats.presentationml.presentation.macroenabled
txt : public.plain-text
More information
See this page for more information about selecting files in Excel 2011 and Excel 2016
See this page for more information about the file format numbers
FileFormat numbers in Mac ExcelThis Excel tutorial explains how to open the Visual Basic Editor in Excel 2016 (with screenshots and step-by-step instructions).
See solution in other versions of Excel:
How to open the VBA environment
You can access the VBA environment in Excel 2016 by opening the Microsoft Visual Basic for Applications window.
First, be sure that the Developer tab is visible in the toolbar in Excel.
The Developer tab is the toolbar that has the buttons to open the VBA editor and create Form/ActiveX Controls like buttons, checkboxes, etc.
To display the Developer tab, click on File in the menu bar and select Options from the drop down menu.
When the Excel Options window appears, click on the Customize Ribbon option on the left. Click on the Developer checkbox under the list of Main Tabs on the right. Then click on the OK button.
Select the Developer tab from the toolbar at the top of the screen. Then click on the Visual Basic option in the Code group.
Now the Microsoft Visual Basic for Applications editor should appear and you can view your VBA code.