Does anyone know the exact legal terms of use of the Microsoft Office 2010 Icons Gallery (https://www.microsoft.com/en-us/download/details.aspx?id=21103), especially for commerical applications (i.e. add-ins for Microsoft Office programs)? I couldn't find it anywhere.
Are these button images only provided for private, non-commercial use (they can be easily added to custom-built ribbons, after all)?
Thanks for your answer.
The icons can only be used by the common Fluent Ribbon definitions in your solutions:
Use these icons in your Ribbon solutions by specifying the imageMso value for your controls.
For example:
<button id="myButton" label="My save" imageMso="FileSave" />
creates a button with the Save icon.
So you essentially are not redistributing the icons doing so but address the icons already available in the product. So if you for instance build a commercial product using the Fluent Ribbon UI (i.e. RibbonXML) you are allowed to use the identifiers recognized by the Office host applications. Office itself will provide the images that will be displayed in the Ribbon or Context Menus (right click).
Other than that in general you are not allowed to redistribute the Microsoft IP without written confirmation from Microsoft, see the section on Icons:
https://www.microsoft.com/en-us/legal/intellectualproperty/permissions?30648508-ebb3-4af9-81ba-3cc4c26d67b4=True
Related
Microsoft Word 2010
From ribbon XML:
<button idMso="TableRowsDelete" getScreentip="RibbonControl.Get_Screen_Tip" getLabel="RibbonControl.Get_Label" showLabel="true" size="normal"/>
My tab switches between 2 languages, so the label and screen tip changes for each button. For all the custom buttons I have created, I can change the labels and screen tips. However, for all the Microsoft buttons I included in my tab, the label and screen tip remains unchanged.
Is there something special that needs to be added, so I can change these too?
To change the language of built-in controls, you need to make sure that the corresponding UI language is installed, e.g. using a Language Interface Pack.
You can then set the language by setting the following Registry entry to the respective language ID, e.g. 1033 for en-US:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\LanguageResources::UILanguage
For the change to take effect, Office needs to be restarted though, so you won't be able to change the language on the fly.
I'd like to allow my users to enter rich text (with bold, italic & underline, but probably nothing more than that) in an entry box on a VBA userform.
I don't want the user to have to install anything, so I need this to be something that leverages what Office or Windows already provide. The obvious candidate is the Windows built-in Rich Edit control.
I did a quick test and verified that I could create a window of this type from VBA, but what it then lacks is all the UI, etc. I could really use a leg-up as to how I then turn this into something usable.
I'm happy to consider alternative controls, so long as they're guaranteed to require no installation (other than as part of the Excel file containing the rest of my VBA code). It needs to work on Windows XP and up, and Office 2003 and up.
You could just try making a simple UI yourself. Add a command button to the form that will bold the selected text in the rich edit control. Or add a command button that will italicize or copy or paste. Your imagination is your limit.
I was checking Rich Edit Version 1.0 in Excel 2010, and I could access the text in the control.
For anyone searching for this still. As Gary McGill stated, "Microsoft InkEdit Control" is your best option.
Use the link below for a reference on the variables it can use:
https://www.thevbprogrammer.com/Ch10/10-06-RichTextBox.htm
With the Toolbox window open in Excel's Visual Basic editor, select Tools->Additional Controls from the menu. Check the box next to MSREdit Class. This will add the rich text control to your toolbox. From there you can add it to a UserForm.
I tested this control in both Office 2003 on Windows XP and Office 2010 on Windows 7. It looks like you'll still need to provide the UI for allowing the user to toggle bold, italics and underline.
It does accept a paste (via Ctrl+V) of some rich text that I copied from Word, but I couldn't figure out how to make it switch font formating while typing text into the control.
Putting this here just to rule it out...
It seems that the "Microsoft InkEdit Control", which is available from "Additional Controls" on the toolbox, is a superset of the Rich Text Edit control (as the name suggests, it also supports Ink).
It's hard to tell whether this is widely installed - it is on my XP/2003 machine, but not on my 2K/2K machine. (I've seen it said that it's installed with Vista and Win7, but clearly there are earlier versions too).
Anyway, I'm ruling this out because using the control results in a message at runtime to the effect that the ActiveX control is "unsafe" (presumably related to the well-known issue with the Rich Text Control itself).
I've gone through the tutorials on how to create a custom ribbon with Visual Studio. I see that you can export your Ribbon XML. Is it possible to utilize this ribbon with another document? Do you have to use Visual Studio at that point or is there a way to embed the custom ribbons into another document? (without VSTO)
Ok... After doing more and more digging. I've come up with some answers.
You do NOT need to do a full-blown VSTO (Visual Studio 2008/2010) Office document to modify the Ribbon (Fluent UI). You can create custom XML (which is real easy if you use the Ribbon designer in Visual Studio) and inject it into the Office document. To make it real simple there is a tool out there that does this for you: Custom UI Editor for Microsoft Office.
Also there are great references on this site: http://www.rondebruin.nl/ for instance: http://www.rondebruin.nl/ribbonx20072010.htm
Is there a tool out there that allows me to browse all the ActiveX controls I have installed on my system and the methods and properties that I can access? And of course their UUIDs.
Oleview which comes with every Windows SDK, look under the controls section.
You can see the methods if you right click on the object and select "View type Information...".
http://twitpic.com/7g2je http://twitpic.com/show/large/7g2je
Basically, what I want to is be able to explore an ActiveX DLL.
I normally fire up VB 6, add the DLL to the "References" of the project, and use Object Explorer.
However, in this particular machine I can't install VB / VS.
I'm sure there's a tool out there that does this. Does anyone know of one?
Thanks
If the machine has Microsoft Office installed, you can go into the built-in Visual Basic for Applications IDE and load the object there:
Tools menu -> Macro -> Visual Basic Editor (or press Alt+F11)
Then when inside the VBA window, Tools menu -> References -> Browse to locate your DLL
and View menu -> Object Browser to view the object's content (or press F2)
I've used Microsoft's OLE/COM Object Viewer for this. It used to be installed with older versions of Visual Studio, and is still part of the Windows SDK.
It also seems to be available separately -- this is from an older version of the Windows SDK, but I don't imagine this tool has changed much recently.
To view the type information for a particular DLL or OCX, File, View TypeLib... is the option you're looking for. You can also dig through the Controls group in the main window to view details on a registered control. Right-click the entry for the control and click View Type Information to see details on the types and methods it exposes.
This will show rather more information than VB6 would. If you're looking at an ActiveX control, the coclass and dispinterface sections of the type library display are the things to look at.
(There's also an Expert Mode option in the View menu -- this will show you pretty much everything stored in the Registry to do with COM, OLE and ActiveX. This is generally rather a lot of information...)
Is it possible to download the component from that machine and examine it locally in Visual Studio? (That'd be my first suggestion.) (And BTW, the .NET versions of Visual Studio also feature a VB6-like Object Explorer which works nicely for this.)
Alternatively, and it's not free, but you might try ActiveXplorer. (I haven't tried this, but it looks promising.) (Discontinued)