By making use of MS Word feature Quick Parts along with SharePoint Document Library columns, we can bring document metadata to the document as placeholders. In this blog post, I will cover the following:
Connecting MS Word Quick Parts to Document Library columns
I've a document library and added a column Description of type Multi-line of text. Now go to Library Settings -> Advanced Settings, under Document Template, click on Edit Template link.
It opens MS Word. Once the document is open, under Insert tab, look for Quick Parts as shown below:
Click on this, and select Document Property and here you can see lots of fields. If you observe, you can also find Title and Description fields which are coming from document library.
Now, you can insert these fields to the document. I've also typed my own texts as well as Header as shown below:
- Connecting quick parts to library columns
- Limitations which should be kept in mind before deciding on using this feature
In this example, I've used SharePoint 2013 and MS Word 2013. However, this should work for SharePoint 2010 and MS Word 2010 as well.
I've a document library and added a column Description of type Multi-line of text. Now go to Library Settings -> Advanced Settings, under Document Template, click on Edit Template link.
Edit Template |
Insert Quick Parts |
Library columns in Quick Parts |
Quick Parts in Document |
Now, save this document back to the same location which was shown under Template URL. Note that this will be saved in .dotx format (Document Template).
Now the fun begins.
Navigate to Library, click on New Document, it opens the document from the template it was saved in previous step. Just save this document without making any changes.
Now in the library you can see this item. Edit the property and add some text to Title and Description columns so that it looks something like below:
Document View with metadata |
Now just click on Document (in this example "First Document"). The document opens and alas! you can see the metadata values appearing in the document.
Metadata values in document |
If you make changes to the property values and again open the document, it reflects the new values. If you download the document, it retains the values as at the time of download.
Is it not a cool feature? Ok, before you jump into implementing this in your solutions, be aware of certain limitations and features so that you are consciously taking design decision.
Limitations/Features:
Is it not a cool feature? Ok, before you jump into implementing this in your solutions, be aware of certain limitations and features so that you are consciously taking design decision.
Limitations/Features:
- The following data types do not appear under Quick Parts (I did not check with BCS data type):
- Hyperlink
- Calculated Column
- Task Outcome
- Created By column appears as "Author"
- Last Modied By, Last Modified colums do not appear
- At a later stage, if template is updated with additional columns and/or text, these will not automatically reflect for existing documents
Try this feature and let me know how you find this!
Hi, what have I done wrong when the columns i created in the document library does not appear as quickparts?
ReplyDeleteWhich version of Office you are using? What are the data types of these columns?
DeleteDocument template (.dotx) must be saved before ... then you will see new columns under Quick Parts.
DeleteMy problem is, instead, the absence of connection between the columns of document library and the QP mapped on the new document .... and vice-versa.
DeleteDo you have any idea why this happens, Suresh? (my name is Paolo, i'm writing from Italy)
Hi Paolo, can you confirm if you are not getting the quick parts in dotx file? That is, you have to insert the quick parts in template and not in actual document. If it is possible, can you share screenshot of what you have tried?
DeleteHi Suresh. I can insert quick parts in dotx file but only when i edit the template file and save it in \forms\template.dotx. If i try to get quick parts directly in "edit template" from library advanced options ... i can't ... Document properties aren't populated by specific library columns. Well, after i have completed the structure of my template (and save it) with the insertion of one column from quick parts (name=cheese and the placeholder is visible), i create a new element that is correctly added to library. but the value of field inserted as quick part isn't written in the library column. If i modify the element using "modify properties" value is transposed in the library ....
DeleteSorry, i am not getting your explanation. Without screenshots its difficult to understand.
DeleteThis comment has been removed by the author.
ReplyDelete