Custom Ribbons - per DOTM - ms-word

we have a possible customer, who would like to have a custom ribbon in ONE template, which makes it for him easier to design the text etc.
This stuff should work on Office 2007, 2010 and 2013.
Since this will go to thousands of people, the easiest solution for this would be, to implement Macros, which do the Design-Stuff.
It seems to be no problem (I tested only with 2013) to create a custom ribbon and connect it to macros, it seems even to be possible to define custom Icons.
The real problem causess the Ribbon itself. Since, if I activate my custom ribbon, it's activated for all documents, I have to anyhow create a macro, which makes it visible JUST for one template.
Is this even possible, or is there a possibility to define a Ribbon per dotm? I didnt find anything about that, but what I found makes me nervous about the 2007, 2010, 2013 thing...
Or is it easier to create an Addin, which is kindahow compatible with alle 3 Versions?

Use Visual Studio and start a Word Template project. You can use VB if macros are to your liking or C#.
Your future documents will have to have the template attached for the ribbon to show up, which in my experience has proven to be a pain.
Alternatively you can create an addon that handles document-open events and checks if the document looks like what you expect it to look like. Heuristics can be very tricky if you don't have very specific indicators (such as an attached template, schema or content tags)
Another suggestion, which would most likely be acceptable to users, is to write an addon that shows and hides its main ribbon tab but has a ribbon button to "activate" the document and when you click that button (on another tab) it attaches your template or assigns some other persistent indicator to the document. This addon would also check each document when opened for that indicator and automatically show the actual ribbon tab when the document is recognized.

Related

How can I determine if my VSTO ribbon is active in Word

I have a VSTO project that creates a ribbon tab in Word.
In this Stackoverflow link I can see how to force my ribbon tab to be activated.
No where can I find how to perform sort-of the reverse - i.e. I want to know whether my ribbon tab is active or not.
Can anyone tell me how to achieve this? How to determine whether the ribbon tab that I can activate is still active at any other stage of the user interaction with Word?
There is no way to do that using the Outlook Object Model. As a possible workaround you can use the Microsoft Active Accessibility.
The Fluent UI (aka Ribbon UI) doesn't provide anything for that. But you can use the GetVisibleMso method of the CommandBars class for checking whether a built-in controls is visible or not. You just need to pass the idMso value of the control to the method, see Office 2013 Help Files: Office Fluent User Interface Control Identifiers. But the best way to get the job done is to use callbacks in your custom UI markup. For example, the getVisible callback is invoked when controls are going to be shown on the ribbon (your tab is active). Thus, you will always know your tab is visible.

Web Addin Support in comparison with VSTO/COM based Extensions for PowerPoint

I am trying to build a Powerpoint Addin using the new JS-based stack that Microsoft has introduced. As part of the development, I am evaluating the support that the current JS libraries are providing. While VSTO/COM-based plugins have been around for quite some time, lack of cross-platform support is a challenge(especially for Mac and now Web), which is also the reason I want to opt for Web-based Addin(JS). But Powerpoint doesn't have a HOST API as Excel or Word does which makes things slightly challenging.
Thus here are the capabilities I want to have from the JS stack -
Ability to add and change the properties of shapes. While adding a shape doesn't have a specific API function, I was able to add it as an SVG object. Is there an easier way to change the properties of shapes and
Adding links to shapes to different slides.
Initiating other office apps like Excel and the ability to edit/read data from those instances.
Apply Slide Transitions.
Ability to connect other data resources through a URI.
Store state of shapes and slides.
It would be great if someone can point to the appropriate sections of the documentation which might help me find answers to this.
Most of what you are requesting cannot yet be done in a PowerPoint Web Add-in. But you can so some of it; for example, "connect to other data sources through a URI". I recommend that you look through the Develop section of the documentation.

How to insert custom fields in between Outlook's New Mail form?

We want to create an Outlook add-in which customizes the New Mail form (Message class) of Outlook such that our custom region appears embedded, below the attachments bar of Outlook, as shown in this mock-up:
So far, the options we've explored are Form Regions and Form Page customization. Form Page customization allows us to add controls at the required place, but the theme of the form is lost. Form regions, by limitation, cannot insert custom regions in between existing form.
How can this be achieved without changing the theme of the form? Please note, the add-in would be using C++ or .NET for coding.
The short answer is you cannot do it without changing the theme of the form. Regardless, I would not recommend building a solution using the legacy Custom Form approach. Custom TaskPanes are out as well as they can only dock to the window borders.
The long answer is the hard answer, using the Windows API to inject your UI: https://code.msdn.microsoft.com/OlAdjacentWindows. However, this approach is not supported.
The way forward for Outlook integrations are the new web based add-ins See here.. Granted, they won't allow you to integrate as nicely within the form, but the default Outlook task panes do actually integrate directly below that form, and on the positive side, it allows you to go cross-platform which would be impossible in any of the legacy extensions.

MS Word Personal Templates

I'm working with MS Word and am trying to create a list of customized template(s).
i.e. Open Word (2013 / 2016), in the 'New' menu you'll see a list of "Featured" templates, I would like to add my own list of templates.
Through research (Handy Blog), I've learnt that you can create a new template and add it to the "Personal" templates. My problem is, I'd like it to be my own name - instead of Personal, I'd like to have my own heading, say MyCustomTemplates.
From some further reading, I've read a few mixed opinions from this and some even saying that it is impossible, as these 'headings' are hard-coded (Office Forum)
Graphical explanation:
Doing this manually will be my first step, from there - I'll be adding these templates programmatically.
To help anyone that comes across this - below are my findings (including some really useful forums and feedback) and the solution I am most likely going to go with;
After tons of research I have noted and got confirmation that, to change the name of either of the Word headings (FEATURED, PERSONAL etc.) is not possible - Office have hard coded these - see this thread.
You do have some options though:
Using the PERSONAL tab within Word, you could create your own
templates for use (the name would however, remain "PERSONAL") > This
URL will take you through the process, step by step.
If you prefer using a "Support Office URL" - here it is.
As suggested by Doug Robbins, in this thread - you could "Add the New Document or Template command to the Quick Access Toolbar and create a folder under:
C:\Users[User Name]\AppData\Roaming\Microsoft\Templates". This is not ideal for my implementation.
Create an Addin Template using this URL
Use the Ribbon XML, (this is most likely going to be my route): Create a Ribbon XML for the Word application, the user must select this option (click on your ribbon item), then from a folder that you specify, let the user select a template (that you've added) for them to work with. Load the template to the current word document.
I hope this helps.

Word forms with too many ActiveX checkboxes load slowly

my company's software product has a feature that allows users to generate forms from Word templates. The program auto fills some fields from the SQL database and the user can fill in other data that they desire. So we have a .dotx template that holds the design of the form, and then the user gets the .docx file to fill out when they call it from our program.
The problem we're having is that some of our users have been finding that the forms take an exceptionally long time to open up and then, once open, are so slow to respond (scroll around, etc) that they're unusable. So in my investigations so far, I've found out that the problem systems are one with lower powered CPUs (unfortunately it happens for systems above our system requirements) and the Word forms that cause the problems are ones with large amount of ActiveX style checkboxes on them. I verified that reducing the ActiveX checkboxes fixes the form loading problems.
So I have the following questions about solutions (we're using Word 2007):
1) Is there any way to configure Word, or some other settings, so that there won't be such a strain opening a Word form with lots of ActiveX checkboxes? Any way of speeding up Word's opening?
2) Using Legacy style checkboxes instead of the ActiveX ones makes the forms load fine, but it looks like the user has to double-click the checkbox and change Default Value->Checked. Is there a way to configure it so that they can simply click on the checkbox to tick it? "Legacy Forms" checkbox as a name kind of worries me (Legacy…), does that mean a future version of word at some point wouldn't load the checkboxes because they're "legacy"?
3) Yes, it became clear to me after a little bit of research into solutions that Word is not the tool for the job for forms like I'm describing. InfoPath seems to be exactly what we should have been using all along but unfortunately I wasn't involved in the decision making or development of these forms, just tasked with coming up with a solution.
I'd appreciate answers to any of these, or if anyone has any other ideas for solutions to this problem.
Thanks
I'm about 3 years too late, but if you want a legacy checkbox to act like a checkbox, you have to restrict editing on the document or section. (You can lock just a section, if you want.) Locking--on Word 2010 it's called "Restrict editing"--is an option under either the Developer tab or the Review tab.
If you restrict editing in this way, the user cannot edit the text but can fill in the form field, so if the form field is a checkbox, the user can click the checkbox on or off; if the form field is a text box, the user can fill the text box.
If you choose to lock off just a section, you'll probably want to use continuous section breaks (Page Layout > Breaks > Continuous) and specify which section. (In the space where you choose form editing as your kind of restriction, there's a small link that lets you specify which section or sections are locked.)