Posts Tagged ‘Microsoft Word’

SharePoint and Document Versioning within Word.

April 23, 2012 5 comments

I was working with a client recently and looking at how they were using (or not in this case) versioning in document libraries, they were still in the NTFS mind-set, as shown by the example below.


To client was using the versioning that Word supplies and manually updating the document version number in the title each time a new version was uploaded into SharePoint.

I introduced them to the Major / Minor versioning settings within a document library, so we could at least get document versions working.



The only problem with this was that the client still wanted to have a version number on the document, as these were quite often printed.

This is a problem that I have seen before with SharePoint 2007 and have addressed with Information Management Policies,  this is the first time I have had to set this up for SharePoint 2010, but the steps are similar. From your Doc Lib, go to Library Settings, –> Information management policy settings.



In this example I am using the Document content type, but you should be looking to use your own custom content type, to make the final solution more flexible.


Tick the Enable Labels box, and in the label format type {Version}, click the Refresh button and make sure you see {_UIVersionString} in the Preview box.



We have now created a custom Label that will appear as a Quick Part within Word (the Word Doc has to be opened from SharePoint) that contains the SharePoint Version number.




Once you have saved and re-opened your document you will now have a Label field linked to your SharePoint Version Number.



Enjoy the SharePoint Goodness.


Creating Test / Filler / Example text from Microsoft Word #SharePoint #SP2010 #in ‘#MSOffice

February 7, 2011 1 comment

I always forget the following link when I want some example text in my projects for Plain / Rich Text fields (in Lists and InfoPath Forms), Word Documents (Document Management etc.)

Microsoft Office Help Link:

Quick Reference

Within Word type the following:

  • =rand()
  • =lorem()

These produce a single paragraph, but the function is configurable via the following parameters:

  • =rand(insert the number of paragraphs, insert the number of sentences)
  • =lorem(insert the number of paragraphs, insert the number of sentences)

Example: =lorem(1,6)

Showing the Version column in Office as a Quick Part (Office 2007 & 2010 / Document Field (Office 2003)

October 17, 2010 5 comments

Recently in a project I have had the requirement to show the Version column within the Word document to aid document management at the company.

Why this isn’t standard functionality is anyone’s guess but this has been a “feature” of SharePoint since the beginning.

This post is going to concentrate on the various different methods available to solve this issue:

1. Use SharePoint Designer to copy the Version to a separate column

Although this works, when you open the document, the list data and the document version will be out of sync by one iteration.  This is fine if you are opening the document in read-only, but will give the impression that you are overwriting the current version in editing mode.

Issues with this approach:

  • The version will increase as the metadata gets updated via SharePoint Designer
  • Unless you have “require checkout for editing turned off” you will run into problems in the logic around check in and check out.  Ultimately it will also artificially increase the version of the document and if document approval is turned on you will never be able to publish the document.  (Constant Draft state)

2. Using the Labels feature of SharePoint.

A blog post I have found suggests using the labels feature of SharePoint.  This works but have limited formatting capabilities within the document template.

In particular, formatting must be set at the creation of the label on the server.  This results in no formatting capabilities in the Word client apart from location of the label.  It essentially creates an image on the fly when a user opens the document.

Unlike option 1 in this post, this does however work and doesn’t have adverse affects on the Version or Approval states.

Issues with this approach:

  • Word 2007 or 2010 only (Office 2003 is not supported)
    How to achieve this result (taken from the blog post linked above:
    • Enable versioning and content types on your document library.
    • Go into document library settings and select the content types you want the version to appear in.
    • Select Information management policies settings from the content type menu.
    • Select define a policy and click .
    • Click on the ‘Enable Label’ Check box
    • Do not Check the other two boxes in the Labels section.
    • In the Label Format field, enter the metadata fields in the following format:
       Version : {Version} \n
    • Set the label appearance and click on preview.
    • Click at the bottom of the page.
    • Go back to the library and create a new document using the content type you have modified.
    • Save the file as a Word 2007 format.
    • Select the insert tab
    • Select Quick Parts from the Ribbon menu and hover over document property
    • Select Label from the properties list
    • This should display the metadata defined in your label as a field in your word document. The field will update automatically when you next open the document.
    • Save.

3. Event handler to copy the version to a separate field

Using the object model, to copy the version value on Check Out of the document and upon Check In of the document.

The object model allows you to check in using the existing version number, thus getting over the artificial creation of new versions, but you will need to take into account the end users version comments when you do this. as well as the approval process.

Luckily for use someone has created a solution for us and has made it open source.  The solution is available for WSS 3.0, MOSS 2007 as well as SharePoint 2010 (Foundation and Server).

Compatibility is also available within all likely versions of Microsoft Office (2003, 2007 and 2010).

  • Quick Parts (Office 2007, 2010)
  • Fields (Office 2003)
    The solution handles Major and Minor Versioning as well as Content Approval within Document Libraries by adding the fields Current Version, Approval Version, Approval Date & Approval User.
    The only downside to this solution is that the above columns cannot be set to hidden within the content type as they will not appear in the Quick Part / Field options if this property is set.
    This results in extra fields in the Document Information Panel that end users can fill in if they desire.  However this does not affect operation since the event handler overwrites the values when they fire on Check Out and Check In.
    So basically this solution is 99% perfect and I am not sure the only downside can be fixed without client side development (in Microsoft Word).  This would cause its own headaches anyway.

As a result, this appears to be the best solution available and definitely recommend it to clients.

%d bloggers like this: