Office 2010

Open XML en Word Automation Services

Vanavond in Open XML en Word Automation Services gedoken. Word Automation Services is nieuw voor SharePoint / Office 2010. Deze nieuwe functionaliteit zal ervoor zorgen dat veel van de macro’s die nu met Office clients moeten worden uitgevoerd geheel vanaf een server kunnen worden afgehandeld.

Het probleem nu

Officieel ondersteunt Microsoft het draaien van client applicaties op servers niet. Daarnaast zijn de huidige opties voor het automatiseren van de Office Clients erg beperkt. Word ondersteund bijvoorbeeld maximaal 1 processor. Een ander voorbeeld is dat bij eventuele problemen een client applicatie, zoals Word of Excel een dialoogvenster zal tonen waarna de Macro stopt. Zeker indien grote hoeveelheden documenten verwerkt dienen te worden met behulp van Office Automation kunnen daarmee enorme problemen ontstaan. Office Automation is kortweg niet geschikt voor het verwerken van grote hoeveelheden data in bulk.

Toch kan zich soms een situatie voordoen waarin de productie van grote hoeveelheden documenten gewenst is. Een voorbeeld daarvan is een situatie waarin, en dit is zeker nu actueel, grote hoeveelheden hypotheek offertes dienen te worden samengesteld. Daarbij kan zich de situatie voordoen dat gegevens uit meerdere Word documenten en Excel spreadsheets samengevoegd te worden tot één geheel. Indien dit gedaan zou moeten worden met behulp van Office macro’s kan, zelfs al is alles geautomatiseerd, een situatie ontstaan waarbij de samenvoegactie tussen de 10 en 30 seconden per offerte kan kosten. Indien op deze manier honderden offertes dienen te worden samengesteld kan de verwerkingstijd in de uren al dan niet dagen lopen.

Open XML

Alle documenten vanaf Microsoft Office 2007 zijn gebaseerd op Open XML. De de x achter de bestandsformaten geeft dit aan. In feite is een Open XML bestand niets meer dan een ZIP bestand met meerdere bestanden erin.


Voorbeeld van een Word bestand waarbij de extensie omgezet is naar .zip

Een Word document kan zo bestaan uit een enorme hoeveelheid afzonderlijke XML bestanden, aangevuld met plaatjes in de vorm van .jpg of .png bestanden. Elk XML bestand bevat andere gegevens. In document.xml staat de daadwerkelijke tekst, styles.xml bevat een beschrijving van alle gebruikte stijlen en ga zo maar door.


Voorbeeld van Open XML Word 2010 bestand geopend in ZIP

Open XML SDK

Met de introductie van Office 2010 en SharePoint 2010 zal Microsoft de Open XML SDK (Software Developers Kit) 2.0 bevatten die het mogelijk maakt een breed scala aan operaties uit te voeren met Office bestanden. Met behulp van de Open XML SDK 2.0 kunnen programmeurs met slechts enkele regels code de inhoud van Open XML bestanden bewerken. Het gaat daarbij voornamelijk over het injecteren van gegevens in bestanden.

Een voorbeeld daarvan is het samenvoegen van bestanden. Indien inhoud van meerdere documenten samengevoegd dient te worden naar één uiteindelijk bestand is dit een bewerking waarvoor de Open XML SDK 2.0 uitermate geschikt is. Gebruik van de Open XML SDK kan in dit geval bewerken van documenten enorm versnellen. Waar met traditionele Word Macro’s het invoegen van gegevens in een specifiek bestand een enorme hoeveelheid tijd kan kosten en altijd op een client moet worden uitgevoerd, kan dat nu worden afgehandeld op een server en zal de complete bewerking in enkele milliseconden afgehandeld zijn.

De Open XML SDK 2.0 is momenteel beschikbaar in de vorm van een CTP (Customer Technology Preview). De finale versie is dus nog vrijgegeven en zal naar verwachting gelijktijdig vrijgegeven worden met de introductie van Office 2010. Hij kan gedownload worden via de link: http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

Over de nu beschikbare Open XML SDK is door Microsoft een video gemaakt die hier bekeken kan worden:

YouTube Preview Image

De Open XML SDK kan veel voordelen bieden maar ken took een groot aantal nadelen. Zo biedt de Open XML SDK alleen een antwoord op het invoegen en lezen van data in bestanden. Opmaak en algemene Microsoft Office eigenschappen (zoals herberekenen van formules in Excel, wijzigen van de opmaak in een Word document, herberekenen van de inhoudsopgave etc.) kunnen niet uitgevoerd middels de Open XML SDK. Daarnaast kan ze alleen gebruik de Open XML SDK alleen gebruikt worden op Open XML bestanden (zoals docx, xlsx, pptx).

Om op deze laatste bewerkingen een antwoord te bieden is met de lancering van Office 2010 en SharePoint 2010 een aantal nieuwe services beschikbaar gesteld in de vorm van de Office Automation Services.

Word Automation Services

Word Automation Services zijn nieuw voor Office 2010 en SharePoint 2010. Met behulp van de Word Automation Services kunnen alle handelingen die normal op een client worden uitgevoerd op een server worden afgehandeld.

Een voorbeeld daarvan is het openen van een .doc bestand, herberekenen van de Inhoudsopgave, dit geheel converteren en opslaan als een Open XML bestand (.docx) en vervolgens opslaan als PDF bestand.

Word Automation Services kunnen door ontwikkelaars gebruikt worden. Het is beschikbaar in C# en VB.NET.

Excel Services

Excel Services zijn beschikbaar voor SharePoint sinds MOSS 2007. Met behulp van Excel Services kunnen grofweg dezelfde bewerkingen gedaan worden op Excel documenten als de bewerkingen die worden uitgevoerd met Word Automation Services. Specifieke handelingen voor Excel zijn echter bijvoorbeeld het hercalculeren van werkbladen.

Open XML SDK en Word Automation Services combineren

Het is mogelijk de Open XML SDK en Word Automation Services te combineren. Situaties waarin dit gemakkelijk zou kunnen zijn is in gevallen waarin grote hoeveelheden doc bestanden voorzien dienen te worden van aanvullende gegevens die uit meerdere bestanden Excel moeten komen waar de nodige berekeningen op moeten worden uitgevoerd. Het scenario zou er als volgt uitzien:

Word Automation Services

  1. Converteer een .doc bestand naar een .docx bestand

Excel Services

  1. Open de Excel bestanden en voer alle calculaties door

Open XML SDK

  1. Injecteer de gegevens van de verschillende bestanden in het Word Document

Word Automation Services

  1. Converteer het .docx bestand terug naar een .doc bestand

Tags: , , ,

OneNote: table of contents

I love Microsoft OneNote. I love OneNote so much that I can happily listen to the song that Microsoft’s Mike Tholfsen, test manager on the OneNote team wrote and performed at one point, My One and Only OneNote. OneNote helps me out every day by helping me stay organised, minimizing the amount of paper that I have with me and making sure I can find stuff again.

As you know, OneNote is built hierarchically: Notebook > Section Group > Section > Page > Subpage. The nice thing about this is that you can set up your own structure, whatever works for you. So I tend to have a work notebook, in which I stick everything about work. Each client project gets its own notebook, with different sections like communication, design, functionality – whatever I happen to be responsible for within that project.

One day, I wasn’t happen with how I’d organised a set of sections. It just didn’t make sense. So I grabbed all the pages from one section and stuck them into another section. That worked. The only thing was that I suddenly had all the pages that had originally been in the section, then all the pages that I’d just added. So instead of being neatly sorted by the date I’d created them, it was a mess.

As a solution, I looked at OneNote Power Toys. They’re exactly what they sound like, add-ons for OneNote. There aren’t a whole lot that I found useful, but I stumbled across the Table of Contents Power Toy:

Nani Courten of the OneNote Testing Team has created a Table Of Contents PowerToy.

It creates a new Table Of Contents page for the section with hyperlinks to all the pages. It also shows the creation date, last modified date, and sorts them by last modified at the top.

Just to give you an idea of where the button ends up, as I didn’t actually realize at first:

OneNote_TOC_Icon

So, for my incredibly messy and chaotic section, I was able to create a Table of Contents page with one click of the button, getting an overview of all of my pages in that section.

OneNote Table of Contents

You can see exactly what it did via the screenshot, creating a table consisting of all pages sorted by last modified.

I have found no way to change this power toy so that it sorts by creation date instead of modification date. Even so, I find it a useful addition to OneNote.

Do you use any power toys?

Tags:

SharePoint Workspace 2010

Met Office 2007 en MOSS2007 is het al mogelijk om off-line te werken met bestanden die opgeslagen staan op een MOSS server. Hiervoor is Groove beschikbaar. Met SharePoint 2010 en Office 2010 is dit sterk verbeterd. Nu is er SharePoint Workspace 2010. Dit maakt het mogelijk eenvoudig delen van een SharePoint site of zelfs de hele site te synchroniseren met je PC. Hierdoor ben je altijd verzekerd van het werken met de laatste versie van documenten, ook al ben je niet verbonden met je site. Dit zelfde geldt ook voor lijsten, welke offline kunnen worden bekeken en bewerkt. In de onderstaande video wordt dit gedemonstreerd.

YouTube Preview Image

SharePoint and Office 2010 public beta’s available now!

The pubic beta’s for SharePoint 2010 and Office 2010 are available now!

http://bit.ly/ZI2010