I spent all night looking this up and can't find it.
Is it possible to have an Excel/Office add-in that has both content and taskpane components?
Really, I want a content app, but I want extra options/buttons in the ribbon and taskpane that will trigger different actions/changes in my content app. Whenever I try to add the VersionOverrides xml node to my manifest on a content app, it always fails. None of my buttons show up. All the examples I can find that work have the namespace [...]/taskpaneappversionoverrides. I've tried changing it to [...]/contentappversionoverrides but that doesn't work either.
The reason I want this is because inserting a content app is obtuse because you have to go to Insert > My Addins > Select add in. It is hard to find. But it is really easy to trigger actions when they've installed a taskpane add in.
<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
<Hosts>
<Host xsi:type="Workbook">
<DesktopFormFactor>
<GetStarted>
... custom tab, groups, buttons, etc
It is not possible to launch a taskpane from a content add-in and commands are only supported for the taskpane manifest. An alternative for your scenario is to have a content add-in and then, to declutter some of the UI in your content add-in, use the dialog API (E.g. have a gear icon than then opens the dialog for more real state where you present more options).
Longer term I'm thinking we should have an API to allow you to insert web objects on the document. So the model would be to just have a single "add-in" concept, that has commands, and then from commands you use APIs to do stuff, including inserting web objects into the document, displaying dialogs, or panes.
At this time you can only show a taskpane or a dialog through an add-in command. It is a scenario that we've heard and we have in our roadmap to address (not committed date yet). We can reply to this thread when the functionality is available for preview.
Is there a particular scenario you want where you'd need this to be a content add-in (i.e. a data visualization?).
thanks
Related
We have created add-in manifest xml file for our application and also embed office.js file.
We have use custom ribbon feature by assigning url to icon. When we click on icon, it open task pane on desktop. We want to open third party url in new window of browser using Add-in manifest and taskpane should be close.
We have gone through AppDomains and uses Office.addin.hide function. But both solutions are not working.
Please provide us solution if exist.
Office.js doesn't provide anything for opening a new tab in a web browser. Instead, you can display a popup message. In Excel, you can use the following code to hide the task pane:
Office.addin.hide();
For example:
function onCurrentQuarterDeactivated() {
Office.addin.hide();
}
See Show or hide an Office Add-in in a shared runtime for more information.
You may try to use UI less function, in UI less function, you could execute a javascript code to open a page in the default browser.
You could refer to this answer.
Open directly a web page from a button in Ribbon in a browser outside Excel?
We are populating list of users in dropdown list Task pane UI. When we are selecting the user in the list we were able to show selected user in taskpane itself.
Also we wanted to show the selected user in ribbon command Menu like in attached screen shot.
The screen shot which took from Excel DNA with .net application the same wanted to achieve in Excel add-in using OfficeJS.
The Fluent UI extensibility level leaves much to be a desire for Web add-ins. See Add-in commands for Excel, PowerPoint, and Word for more information.
If you need to implement dynamic ribbon customizations you need to consider developing a VSTO based add-in instead.
this feature is not yet available with add-in commands. One capability we just announced on the community call was "contextual tabs api". This will be available soon for public preview where you will be able to test it. Please stay tuned for our next community call for an update.
I am working with outlook Web-Addins. Addin type is "ItemRead". Now I want some thing unrelated to mails as in i want to have button on header as i see the skype button on the top.
Also we can create Addin on mail compose. I am not sure if this is possible to have separate buttons on header separate from mail section
example in the image of skype button.
I have also tried with Outlook Add-in ModuleExtension but cannot seems to be work as expected in outlook web app.
The command controls for invoking add-on are described in manifest part of the add-in. Those controls will be displayed in predefined place of the UI depend on particular client design (Outlook online, Outlook desktop, etc.). As the developer you are able to set control's setting, such as title, icon and so on, but not the place where control will be displayed. This would be up to Microsoft dev/design team.
Bottom line: You are not able to place your control in the specific place of the client interface.
Module extension add-in currently available for Outlook 2016 desktop. There is request to make it available for Outlook online which you can upvote if you like.
Additional Questions:
So is it is not possible right right now?
Module extension add-in for Outlook online is not currently available. To place your control into the place you want is not available, either and never will be. This is because of obvious reasons ... can you imagine what's happen with user interface if every extension will be able to modify the UI as it needs? Total disaster.
Or can you help me with other option ?
Outlook add-in works with single item, as of the controls will appear when item (e-mail, appointment, etc.) selected or compose window invoked, there is nothing you can do.
Also one more thing that is it possible to store a custom global setting value for the outlook organization using addin or any other way?
To store the settings for particular mailbox, user inside organization, there is Office.context.roamingSettings object. If you need some global settings for your app for entire organization, you would set them inside JS part for this particular organization and make the deployment just withing this organization. In case you want to distribute the app via Office store and customize it per organization you may want to write some service which delivers custom settings for add-on on start-up. For example you have rest service which returns custom configuration depend on domain; in this case when add-on invoked you may request custom configuration by sending rest call with user domain and after cache it in mailbox.
I take Excel for example. At the moment, every time when a user wants to use an add-in, they need to go to insert ==> add-ins and choose the add-in. Then either a take pane or content add-in appears. If the manifest xml of the add-in has add-in commands, users can launch the add-in via menu or ribbon.
If the user des-actives the task pane, closes and re-open Excel, they need to go to insert ==> add-ins again and so on... It is tedious.
Is it possible to set an add-in loaded by default (either by developers or users)? For example, each time the user opens Excel, they could see the item in the menu or ribbon (or even the task pane activated) to launch the add-in.
Unfortunately users have to always manually activate the add-in, either from a Ribbon command or from the Add-ins button. Only COM add-ins allow you to display a Task Pane when the Office application opens.
While the ribbon-button feature mentioned by SoftTimur and Eric is one solution to the problem, another potential solution (depending on your business model) may be to use a template:
You can create a .xlsx document and insert your add-in task pane manually, then share that document with others, who will automatically see the open task pane when they open that document. One strategy is to post this template document online and provide links to it elsewhere.
I'm trying out the new style JavaScript based office add-ins and can't see how I can add the add-in launcher button to the ribbon.
I know that Command add-ins which can add tabs etc are not released yet, I'm just talking about a button that will launch my add-in.
It's a TaskPaneApp.
It seems to be possible because (in my version of office 16 at least) I can see that under the Insert tab, Wikipedia add-in has it own button in the Add-In group.
Currently I've just added a Shared Drive as a trusted location and am launching the app from there. As this is an internal app, it's likely to stay there.
Thanks
You just need to add some elements to your manifest file:
https://msdn.microsoft.com/EN-US/library/office/mt621545.aspx
Make sure you are using the latest version of Word, Excel or PowerPoint; it must be 16 or higher.
Also, make sure to use HTTPS requests.
The XML manifest is super sensitive.
Look for closing /> for all the tags, because you might be missing them somewhere.
You could also use this NPM module which is supported by Microsoft to validate your XML file.