Microsoft office word 2007 user groups




















Versioning between different releases of Office is another issue you'll avoid. Valid XML files are required to contain an xmlns namespace declaration that identifies which schema version they comply with. This provides RibbonX with information about which version of Office a particular add-in targets and allows it to map the UI appropriately, given any changes that might have occurred between versions.

The lack of versioning and ownership in the CommandBars object model are two of the main reasons that legacy add-ins often broke when upgrading to new releases of Office and that the Add-Ins tab is unable to better distinguish between the jumble of controls added to it by the OM calls.

Finally, XML has good tool support. The CommandBars object model can be described as using a "push" model, where add-ins are pushing all of the UI data to Office by setting various properties in the object model.

Each property of the controls in the UI must be explicitly set by the add-in at startup, even if the menu or toolbar where that control lives is never shown. If this involved loading up a large number of image files, it could be quite expensive, performance-wise.

RibbonX uses a "pull" model, where Office pulls the data from the add-in only when it's needed. Instead of setting properties like CommandBar. Name or CommandBarButton. Picture, add-ins provide get callbacks, such as getLabel or getImage.

Office calls these callbacks when it needs to know what the label or image of a control is. The main advantage of the pull model is performance. In the Office release, it's probable that most of an add-in's UI will not be visible when the application starts, especially if that add-in has added its own top-level tab or a group to the Add-Ins tab. There is no immediate need to incur the performance penalty of loading up all of the images for those controls. Only when the user clicks that tab do the images need to be loaded.

RibbonX delays the calling of callbacks as much as possible in order to amortize the cost of resource loading across the entire session, and keeps Office applications starting up snappily even when several add-ins are installed. If Office is deciding when to call these callbacks, you might wonder how to change control properties on the fly. RibbonX caches the callback return values and won't call back until the add-in invalidates them.

Once a control's properties have been invalidated, RibbonX will know to call back the next time they are needed. If that control is currently on the screen, it will call back and update the value immediately. If it's not on the screen, RibbonX won't call back until it is. We'll get into all the nitty-gritty details of how to implement callback functions and do invalidations in the sample add-ins later in the article.

RibbonX provides many different control types for extensibility, including those shown in Figure 3. Only the first six of the items in this list were available in CommandBars, so there are many new UI options available to RibbonX add-ins.

Perhaps the most compelling new control types are a splitButton that includes both a button and dropdown menu see Figure 4 , and a gallery that expands to display a selection of images. They are both used extensively in the Office release to reduce UI clutter and easily preview visual operations. Add-in writers are encouraged to use these new control types to give their UI the same impact. Many developers use Office as a platform for building their own self-contained apps. While running, these apps often remove all of the built-in Office UI and replace it with their own.

There was no standard mechanism for doing this using CommandBars, so it was fraught with difficulty and error. Once these changes are applied, add-ins can make further UI changes, including revealing some of the built-in tabs or hiding further TabSets or Office Menu items. Most of StartFromScratch mode's functionality can be duplicated by manually hiding all of these UI elements, but StartFromScratch does have a couple of advantages over doing this by hand.

First, it's a whole lot easier to write one line of XML than fifty. Second, it's designed to be forward-compatible with future versions of Office. If the next version of Word adds new top-level tabs or Office Menu items, StartFromScratch mode should automatically hide them, but add-ins that hide the UI by hand will need to be updated to hide these new elements.

Another great feature of StartFromScratch mode is that it works on a per-document basis. If the user is editing multiple documents in Multiple Document Interface MDI mode, one of those documents can enable StartFromScratch mode, and all the UI will automatically hide and show as the user switches between that document and others.

No code required! Another operation commonly performed by Office add-ins is disabling built-in commands. RibbonX also makes this as easy as writing one line. This will disable the Bold button anywhere it appears in the UI, which in the default configuration includes the Font group in the ribbon and also in the MiniToolbar.

Because this didn't happen with CommandBars, it's important to note that this disables the Bold button in both locations. Add-ins were required to enumerate through the entire UI and manually disable every copy of the button, in case the user had customized their toolbars and placed a copy somewhere else.

They also had to search for commands by their ID number 43, anyone? A getEnabled callback can also be used if the add-in wants to conditionally disable the command only at certain times. Add-ins often enhance or extend the built-in functionality of Office, take over existing UI buttons, and repurpose them.

Alternatively, IT managers sometimes choose to restrict functionality using repurposing for example, showing a password dialog box when the Print button is clicked.

Any button that performs an action on click can be repurposed using RibbonX though more complicated control types such as galleries or comboboxes cannot be repurposed.

Here's an example of the XML required to repurpose the Save button:. When Save is clicked, the add-in's MySaveFunction will run, giving the add-in the opportunity to perform its own actions and choose whether to allow the built-in Save function to execute.

Once again, all copies of the Save button will be repurposed by this one line of XML both on the Office Menu and on the Quick Access Toolbar , and if an individual document is doing the repurposing, it won't apply to any other documents which are also open unless that document is loaded as a global template or add-in. One problem with Office add-ins is that their DLLs often take a while to start up, especially if they are written in managed code and the common language runtime CLR is not already loaded.

Users with several add-ins installed can see a significant performance hit every time they launch an Office application. The irony is that the user probably won't even use most of the add-ins' functionality in any particular session, but they pay the price in all of them.

Since slowdowns reflect poorly on both Office and the add-ins, Office provides a feature for COM add-ins known as demand-loading. This feature has been upgraded in the Office release and extended to include RibbonX support. An outline of the process follows. On the first boot of the application since the add-in was installed, the add-in is started up. RibbonX then calls all of the add-in's Get callbacks in order to load all of its images and cache the initial state of the add-in.

On shutdown, the add-in's registry key is changed to DemandLoad. On subsequent boots of the application, the add-in is not started, but its RibbonX UI is shown as if it had been loaded. As soon as the user clicks one of the add-in's buttons, the add-in is loaded in order to execute the user's command.

Demand-loading is transparent to the end user and, aside from setting the registry key, developers don't have to do any work either. Obviously, demand-loading won't be useful for every add-in, but it should benefit the majority of add-ins that just add a single button or menu item to the UI and then activate their functionality when it's clicked.

More complicated add-ins that need to run elaborate code before the user interacts with their UI won't be able to take advantage of demand-loading, however, since they need to be loaded in order to run code. Now that we've covered all the major features of RibbonX, let's dive into the details with some example add-ins and code snippets.

First I'll take a look at a scenario many developers will encounter when switching to the Office system: upgrading a legacy add-in from CommandBars to RibbonX. The add-in I'm going to upgrade is a fairly simple Word template. The add-in is implemented with a button on the Insert menu in the document's attached CommandBars. It's obviously not too complicated, but it works as a demo. You can install it as a global template using the Templates and Add-Ins dialog.

With all of the toolbars and menus replaced by the ribbon, it's not immediately obvious where the add-in's UI will fit best. Before you even get to that, take a step back and ask the question, "Do we even need to upgrade this add-in at all?

There's nothing particularly wrong about how it works here, but you might not like how it's stuck in the Menu Commands group with all the other legacy add-ins, and it isn't using any of the new features of RibbonX. It also wouldn't make a very good demo to just quit at this point, so let's continue. Since the add-in inserts pages into a document, a good place for the UI would probably be on the Insert tab.

If the add-in dealt with manipulating the document as a whole, you might choose to put its UI into the Office Menu. If there was no good place for it in the existing UI, a custom group on the Add-Ins tab would be best to avoid creating a whole tab with just one button. The built-in Insert tab for Word contains a group for inserting pages and, lo-and-behold, it already contains a button for inserting blank pages a new feature in the Office release.

Since the legacy add-in also inserts "Intentionally Blank" placeholder text, I'd like to distinguish it from the built-in functionality. Let's add a custom group named "Legal Pages" next to the other group, and have a big button with an instructive icon. Figure 6 shows what it should look like when it's finished.

The next step is to come up with the XML file that will create the desired result. In demos it's often quickest just to start with the final product and then explain how it works. In that spirit, Figure 7 shows the final XML.

As you can see, it's pretty straightforward. Built-in controls use idMso to show that they are Office controls and to distinguish them from custom controls, which use the id property.

If you cancel your subscription or it expires, you can still access and download all your files by signing in to OneDrive directly using the Microsoft account you used to set up Microsoft You do lose the additional storage that comes with your subscription, so you must save your files elsewhere or buy more OneDrive storage if your OneDrive account exceeds the free storage quota.

If you purchase an auto-renew subscription, your subscription starts when you complete your purchase. You can purchase auto-renew subscriptions from Microsoft If you purchase a pre-paid subscription, your subscription starts when you activate your subscription and land on your My Account page. You can purchase pre-paid subscriptions from a retailer or reseller, or a Microsoft support agent. If you have an active Microsoft Family subscription, you can share it with up to five members of your household six total.

When you use cloud-based services, your IT infrastructure resides off your property off-premises , and is maintained by a third party hosted , instead of residing on a server at your home or business on-premises that you maintain.

With Microsoft , for example, information storage, computation, and software are located and managed remotely on servers owned by Microsoft. Many services you use every day are a part of the cloud—everything from web-based email to mobile banking and online photo storage.

Upgrade from Word to Microsoft Still using Word ? Bring out your best writing with Word in Microsoft See options for home. See options for work. Office is now retired Do your best writing with the most up-to-date version of Word. Upgrade to Microsoft today. See plans and pricing for Microsoft Shift your business to Microsoft Bring out your best writing Go from blank page to polished document in no time with the Researcher and Editor tools. Coauthor with anyone anywhere Invite others to edit and comment, manage access, and keep track of versions.

Take Word on the go Review and edit files at work, home, or anywhere in between with mobile apps. Always up to date Get exclusive, new features ever month and the most up-to-date security available only for Word in Microsoft Word Compare Microsoft Office Product features.

Efficient files. So for example, when a sentence finishes, the next sentence will automatically start two spaces after the previous one if set like that in word.

Can you tell me within the word program, if I can also do this with a comma? I would like to, every time I use a comma for punctuation, have the next word after the comma to start one space after it. Is this possible at all and if it is, could you tell me how it is done within the word program please.

Thank you Wendy. Two spaces automatically at the start of a new sentence immediately after the previous one, can be done within word because I have done it.

I assume this cannot be achieved then? My web site www. It merely reports it as in error. Regarding automatically starting two spaces after the previous sentence does work in my word , it does not report it as an error! I know this because I have done it and it works! Try it. Graham, I have just tried it again to make sure and if you go through the procedure I showed in my previous post here, it works!

Also in grammar settings, I have the following boxes all checked with a tick: - Check spelling as you type: Use contextual spelling: Mark grammar errors as you type: Check grammar with spelling. If you also look below that in the "Exceptions for" box, you can choose to use this format only on the document you are on or "All New Documents".

I do not get any green underlining and I do not get any flagging errors like you mention. Like I say, it works! The language is English United Kingdom Then use the same settings as I mentioned earlier and try it then. I tried it by typing the text and it does not work automatically.

What I forgot to tell you was, I am using speech recognition to dictate the text to the screen and not typing it. That must be the reason why it works with me and this program and not by physical typing. I do not know if you have ever used WSR, but once you've trained it, it is a little diamond of a program and very handy.

Forgive me for leading you up the garden path lol, I did not mean to. When you are typing and you put the "full stop" in after a sentence, as long as you do not press the space bar but just carry on writing after that sentence, the next sentence should automatically start two spaces after the previous one.

Hi Terry, Thanks for your advise. I too had Word open on one of those nights when updates took place. Problems with Microsoft Office Word Reply to author. Report message as abuse. Show original message. Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message.

Hi, I have are a couple of problems with Word Thanks Gordon, I fathomed how to get a blank page again through the Website you gave me but I am still having problems with the cut and pasting scenario.

Terry Farrell. It sounds like Word was left running whilst this week's updates installed which corrupted the Word Data Key. Word will create a new key when you restart. Thanks Terry for the advice, it sounds a bit complicated but I will have a look.

It's not difficult. Now type in regedit and press enter. Select the word "Data" and delete it. Why are you double-clicking anything in the right hand pane?

My final instruction was



0コメント

  • 1000 / 1000