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

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.

Related

How to make a macro open automatically when I start excel on mac os?

I am trying out excel for MacOS and want to set up my Excel with some custom macros that I tied to keyboard shortcuts in my windows setup. I want the macros to be available any time I start excel.
To accomplish this in windows I put the relevant *.xlam files in the "C:\Users\me\AppData\Roaming\Microsoft\Excel\XLSTART" directory. Is there an equivalent directory for MacOS? Alternatively is there another method to accomplish the same goal?
Thanks! I've yet to find a good answer to this!
Running Catalina 10.15.2 and Excel 16.33
You can set a directory to do the same as the PC by doing the following:
Click Excel in upper left and selecting Preferences
Select the General button
Midway down the General Dialog Pane you will see a field that states the following: 'At startup, open all files in:' this is where you can choose a folder location and placed your Personal Workbook. Bottom line is that you choose your file location. That is actually the same as Windows.

Debug Excel add-in written by JavaScript API on an existing workbook

I am trying to develop an Excel add-in by using JavaScript API for Excel.
I can already make some samples run, launch debugging under Visual Studio. Every time when i launch debugging, it opens a new workbook of Excel.
However, most of time, I need to debug an add-in on an existing workbook. For instance, here is an add-in sample, which opens a blank workbook and adds blank sheets to it. However, I want it to add blank sheets to an existing (opened) workbook. Does anyone know what I should set to debug it on an existing (opened) workbook? Should I modify some lines of code?
Edit 1:
From http://dev.office.com/docs/add-ins/get-started/create-and-debug-office-add-ins-in-visual-studio
To use an existing document to debug the add-in
In Solution Explorer, choose the add-in project folder.
Note Choose the add-in project and not the web application project.
On the Project menu, choose Add Existing Item.
In the Add Existing Item dialog box, locate and select the document
that you want to add.
Choose the Add button to add the document to your project.
In Solution Explorer, open the shortcut menu for the project, and
then choose Properties.
The property pages for the project appear.
In the Start Document list, choose the document that you added to the
project, and then choose the OK button to close the property pages.
Here is the resulting configuration that you should see:
After that just press F5 (start debugging), and you should be good to go.
~ Michael Zlatkovsky, developer on Office Extensibility team, MSFT
For anyone else running into this same issue (i.e. tying to set up an existing worksheet for debugging) without having to jump through 3 hoops to insert the add-in every time, this worked for me:
Set the Start Document to "New Excel/Word/etc Document"
Hit F5 to start debugging.
The resulting new document will be read-only and it will be in the Debug/Release folder.
Close the document, don't save it.
Copy the document to the folder where your Web Add-In manifest is and renamed it to whatever name you prefer.
Uncheck "Read Only" int the file's properties.
Set the Start Document as described by Michael in his response above.
If you start debug now, the add-in "should" load automatically. If you start without debugging (Ctrl + F5), you should be able to close the document and open it (or a copy of it) from anywhere in the PC and it should load automatically. You can even make changes to your JS code and reload the taskpanes/dialogs and it should take effect.
What did NOT work:
Using a blank start document and saving it after inserting the add-in. Once you save it, it loses its connection to the developer add-in.
If you start any document in debug mode and save it, it will NOT work the next time! If you want to make any changes to it, DO NOT start in debug mode.
I am not sure if any of these quirks are by design or if a Windows/Office update messed it up for me. Regardless, this is a very painful experience compared to developing VSTOs.

"Enable Macros" prompt does not appear for .xla files added to user Add-Ins folder

My workplace has Excel's Trust Center settings for Macros locked to "Disable all macros with notification." This is usually fine as most of the macros we use are stored in the workbooks themselves, so all the user has to do is enable the macros once the document is opened.
However, we recently were given a useful add-in (.xla) that we're expected to start implementing.
However, the "Enable Macros" prompt only appears if the .xla file is opened manually. If the file is added to Excel as an actual Add-In (either through Excel's options, or by copying the file to the user's ...\AppData\Roaming\Microsoft\AddIns folder), the prompt does not appear.
Instead, if the user attempts to run the macro through the included keyboard shortcut, a prompt appears simply telling us that macros have been disabled for this workbook, and that it needs to be reopened.
Unfortunately the trust center settings are non-negotiable; these settings are managed site-wide and my issue is specific to my particular office.
I've attempted to run the add-in macros manually through the developer tab, but get the same result. I've also tried saving the add-in as the newer .xlam versus .xla, but again got the same result.
Is there any way to convince or trick excel into prompting the user to enable macros when using an add-in? Or are the users stuck with needing to open the file manually each day?

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.

Excel Add-in doesn't get the hint

I have an excel add-in that keeps coming back when I start excel, even though I've removed it from the last open instance of excel (yes I checked the processes in task manager).
The critter even shows up when I start excel in safe mode.
Anybody else had this?
Perhaps the add-in file is sitting in the Excel startup directory?
Tools -> Options -> General -> 'At startup, open all files in'
As well as the entry in this setting, Excel may also be implictly loading the add-in from folders such as
C:\Program Files\Microsoft
Office\OfficeVersion\Xlstart
C:\Documents and Settings\User
name\Application
Data\Microsoft\Excel\XLSTART
Any folder named 'xlstart' is a candidate - perhaps it's worth searching your C drive for such folders and/or the actual name of the add-in file.
Also, check the registry for Excel OPEN entries. Start -> Run -> regedit -> HKEY_CURRENT_USER\Software\Microsoft\Office\version\Excel\Options. Look for any values named OPENx.
Here are the steps:
First, remove the addIn from Excel. After removing it, don't reopen Excel yet
Go to registry: Start -> Run -> regedit -> HKEY_CURRENT_USER\Software\Microsoft\Office\version\Excel\Options. Delete the registry of the addIn you want to remove. The data column will give you the hint.
This is the key, remember to restart the computer to reset Excel. If you open Excel before the restart, it will register the AddIn in your registry again and you will need to start all over again
1) Did you check C:\Documents and Settings\\Application Data\Microsoft\AddIns and see if the file is there? If it is, you could delete it from there.
2) Try these steps:
• Try searching your C drive for all .xla or .xlam files and see if you can find the one that looks like the add-in you're trying to delete.
• If you find it, delete it (let it go to recycle bin though just in case something goes wrong and you want to get it back quickly).
• Once you delete it, start Excel. You may get message about add-in being missing, and if so say yes when prompted if you want to remove add-in from list.
• If not prompted, go to tools add-ins and check the box for the add-in you are trying to delete. Excel won't be able to find it, then it should prompt you as to whether you want to remove it from list. Say yes.
I was having the same issue and was able to solve it like this:
Open File Explorer and navigate to C:\Users\USERID\AppData\Roaming\Microsoft\AddIns, remove the add-in(s) you would like to remove.
Open Excel, when given warning about missing add-in(s) just click "ok".
Click "File", "Options", "Add-ins" then "Go"
The Add-ins window will appear, uncheck the add-in(s) you would like to remove. When prompted to remove CLICK NO (trust me).
Click "Ok", the Add-ins menu will close.
Save blank file to desktop, close Excel and Reopen. This time you should not get the warning messages about missing add-in(s).
Click "File", "Options", "Add-ins" then "Go" again.
This time, click on the add-in(s) you would like to remove, when prompted to remove remove from list select "Yes".
Click "Ok".
The Add-in(s) should no longer display in the Add-ins menu and the warning messages will stop appearing.
This is what worked for me, there may be unnecessary steps (like saving and possibly closing) but I wanted to include everything I did.
I found there was a process spawning the addin, and somehow managed to break it. Excel offered for me to disable it, and told me I could find it in Help > About > Disabled items if I wanted to reinstate it.

Resources