Save custom macro toolbar modifications in Excel 2011 for Mac - excel

I produced several custom macros in Windows, modified the XML so that a custom Ribbon Tab was visible in the 2013 version of Windows, and everything was wonderful.
I'm now trying to produce equivalent functionality for Excel 2011 for Mac. I did the following: View >> Toolbars >> Custom Toolbars and Menu. I then went to the "Commands" toolbar >> Macros, and dragged SmileyFace macros to the main toolbar. I then changed the images, modified the text, and it worked locally.
For redundancy, I also added a new menu to "Toolbars and Menu" and added all my macros to that toolbar as well, which appeared as some sort of goofy, nebulous floating box. I attached the macros to the document using the "attach" button.
However, when I send the document to colleagues, the only thing that appears is that nebulous floating custom toolbar, with none of the macros mapped to buttons, and the buttons don't have my custom image.
How do I do this?

The most recent version of Excel 2011 (14.3.5) seems to save custom toolbars in a single file in specific user folder:
Users/[User]/Library/Application Support/Microsoft/Office/Preferences/Office 2011/Microsoft Excel Toolbars.xlsx
(original source here)
When I saved an Excel 2011 workbook with a custom toolbar on one Mac, and transferred it to another, the toolbar did not appear. When I coied the Microsoft Excel Toolbars.xlsx file over (and dropped it in the proper location), the toolbar did appear.
Note: This location may be specific to more recent versions of Office 2011; older versions seem to store them in Users/[User]/Library/Preferences/Microsoft/Office 2011.
Short-term, you may need to distribute the toolbar file along with the spreadsheet, as well as some means (via script and/or manual instruction) of copying it into the expected location.
<pure speculation>
Longer-term, maybe there's a way to override this default behavior and point to a 'local' copy of the toolbars stored in the distributed file itself. Or, maybe you can use the toolbar file as a template for the distributed spreadsheet.
</pure speculation>

Related

Modules in Project Explorer are not grouped anymore into modules, classes and forms

Modules in MS Office Project Explorer have always been grouped into forms, modules and classes, with "pluses" that allow to collapse or expand the groups. Either I have pressed some random hotkey, or the latest MS Office update messed it up, BUT now all my modules are just a list sorted by name (see the screenshot). It's the same in all Office programs. What has happened, and is there a remedy to this? I want my groups back :-(
I looked through all settings in VBA Editor, but I never found anything related to the problem.
Press the Toggle Folders button in your Project Explorer:
Alternatively use the Toggle Folders button in the context menu of the Project Explorer.

How to create an add-on and share it with other people?

I have created a few macros with the help of this community the last week, but now I am going to be off work for some time, therefore I need to hand my work over but for that people will need access to my macros. I have created a custom tab for myself that contains all my macros and they only need to follow instructions and click on them in theory.
I however, had issues creating that add-in. I have created the .xlam file but even though people select and load it my macros won't appear, neither at the developer -> Macros tab, nor my tab will appear. The only way for them to run my macros if the add-in is loaded if they go into the visual basic window and run it from there, but I don't want them to do that as I want to protect that with a password eventually.
If somebody has got a solution and willing to help, thanks in advance.
Into the Visual Basic window, you can import your .xlam file with Tools > References > Browse. Now, you should see your file into the Project Explorer of Visual Basic.
Hope this help !
There are couple of different ways you can install an Excel .xlam add-in.
Method One
Save the add-in Excel's start-up folder. Any Excel files saved in this folder are automatically loaded when Excel starts. To view the start-up path:
Open the Visual Basic window.
Open the Immediate Window (Ctrl + G or View >> Immediate Window).
Type ? Application.StartupPath.
You can also change the start-up path:
Click File >> Excel Options >> Advanced.
Under General, in the At Startup, open all files in box, type the full path of the folder that you want to use as the alternate startup folder.
Method Two
You can install the add-in directly:
Click File >> Options >> Add-ins
Pick Excel Add-ins from the manage drop-down (near the bottom of the screen).
Press Go >> Browse...
Navigate to the .xlam add-in you want to use.

Treeview Control becomes unresponsive - Excel 2013 64 Bit

My Problem: Treeview Control 6.0 becomes unresponsive in Excel 2013 64 Bit (Compile Error: Method or Data Member Not Found). I am able to delete the control, insert a new Treeview and it initializes fine (loads Imagelist, allows user configuration of nodes, etc.); however, once I save/close/reopen it becomes unresponsive again. This Excel tool allows users to configure a dashboard using Treeview and it worked fine (still works fine) in Excel 2007. I can include the code to initialize the Treeview control, but it is not a code issue as it works perfectly in Excel 2007.
Attempted Solutions: I have read through many forums and have tried numerous solutions to fix, but none have fixed the issue...
Running a batch file (as Admin) to unregister/re-register MSCOMCTL.OCX in the correct location
Deleting all .exd files from my hard drive
Removing/adding Common Controls reference in VBA editor
Deleting/Recreating the Treeview numerous times
Repeating above solutions in every possible order
The strangest part to me is that I can re-create the Treeview (insert, set properties), run code to initialize, and completely configure the Treeview with no issues... it only becomes unresponsive after saving/closing/re-opening. Again, the opening/closing routines worked fine in Excel 2007 so I don't think it is a code issue.
Any help would be greatly appreciated... I need Treeview to work as it stores all of the user dashboard info (TV terminals, files to open/close, etc.).
I encountered the same problem with EXCEL 2016, 32 bit version. EXCEL does not recognize the embedded TREEVIEW control after saving and reopening the file. (Sometimes it would work on the first save and reopen, but fail on the second.) This problem did not occur with EXCEL 2010 and earlier, same spreadsheet. Like you, I can embed a new TREEVIEW control, name with the name the macro populating uses, i.e., the name originally given to the unresponsive TREEVIEW control. I did not have to delete the unresponsive control like you did because EXCEL did not recognize it. You can check this by going to Develop tab and activating the properties view.
Curiously, I found a couple of workarounds this bug in EXCEL:
When I saved the file while in Developer mode, it opened OK and the TREEVIEW control worked, but you have to run a macro to populate. So far it works, but who knows....
When I embedded the TREEVIEW control in a Form, rather than directly in the spreadsheet, it saved and reopened OK, at least so far. No need to be in Developer mode or rerun the populating macro.
Good luck, maybe one of these will work for you.

Sharing custom macros and custom Excel Ribbon with others via Sharepoint

My colleagues and I use Excel 2013 and Sharepoint
I have written some custom macros which I have stored in Personal.xlsb
I have also customized the ribbon to add a tab to access these macros.
What is the best way of sharing these macros and the ribbon with my colleagues? (and keeping them updated)
One way is as follows (and this needs to be done each time there is a change)
right-click Ribbon | Customize the Ribbon | Import/Export | Export all Customizations and send this XML file to my colleagues and ask them to import it
Send my colleagues my Personal.xlsb and ask them to overwrite their own with this.
However is there a better way - involving manual effort on the part of my colleagues as little as possible.
I thought perhaps of saving the macros as a sharepoint document, and then editing the XML document to point to this sharepoint document.
The best answer that I have come up with is as follows:
Not to save the files in personal.xlb but to save them in an AddIn (an .xlam file)
To add the menus to the Addin via Custom UI Editor For Microsoft Office (downloadable from http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2009/08/07/7293.aspx)
To save the file in the "Shared With Everyone" folder of "SkyDrive Pro"
To send a link to the file to my colleagues
This seems to solve all the issues. If I do an update then it seems that if my colleagues restart their computer then the addin is updated automatically.

How do I make an Office 2013/2016 application run in separate process on Microsoft Windows?

I am developing a Excel plugin. It works all right for Excel versions before 2013. But a lot of features is broken when it runs against Excel 2013. I found the root cause is all windows are running in only one process in Excel 2013. Even if user explicitly launch a new window by double-clicking the shortcut on the desktop or by clicking the item in the start menu, no new process is created.
This results in the status conflict between processes. Status bar and ribbon is shared. For instance, when I update the status bar information in one window, the other windows' are also updated. When I check/uncheck a ribbon button in one window, the other windows' buttons are also checked/unchecked.
I think a possible solution is to change some configurations to make it work as before. But I found nothing relevant by searching on google.
Does anyone know how to make it or is there any other solution?
With Excel 2013, the default you have is to create a new window within the existing Excel process. In order to force the creation of a separate instance of the Excel process, you have these options:
Option 1
From the command prompt, run EXCEL /X and you will open Excel window as a new instance. The /X command switch forces the creation of a new instance.
Option 2
Right click on the Excel icon in Windows taskbar
Go down to where it lists the application
Hold down the ALT key on the keyboard and click "Excel 2013/2016"
It should give you this prompt, "Do you want to start a new instance of Excel?"
Click "Yes!"
Option 3
Use this technique to open an existing document directly:
Hold down Alt.
Right click Excel file.
Click Open.
Continue holding down Alt until the "Do you want to start a new instance of Excel" dialogue pops up.
Click Yes.
For more detail,please visit:
http://sqlblog.com/blogs/marco_russo/archive/2012/07/24/running-excel-2013-in-a-separate-instance-excel-powerpivot.aspx
re. "Right click on the Excel Tab in Windows taskbar keeping the ALT key pressed"
-This option is not available in Windows 10 with Excel 2016.
However, the Excel /X option works and a second change-undo buffer is created, as noted above, in the new process.

Resources