What's new for Office 2013 developers
Learn about the features and technologies of Office 2013 that are of interest to developers.
Applies to: apps for Office | apps for SharePoint | Office 2013 | Office 365 | SharePoint Foundation 2013 | SharePoint Server 2013
Introduction to Office 2013
Office 2013 is the future of productivity. It is an exciting release for users and developers alike. Wherever you go, Office 2013 roams with you, incorporating your email, important documents, contacts, calendars, and personal settings on nearly any device, including touch-enabled experiences (see Figure 1).
Figure 1. Office 2013 productivity experience
Office 2013 brings the web to Office client applications. The web enables a wealth of exciting, new scenarios and solutions in a dynamic web application development environment. You can now use dynamic languages, such as Python, PHP, Perl, and JavaScript, and web development tools such as Microsoft Visual Studio 2012 for app development.
Integrating the web with Office
Office 2013 is about integrating the web with Office applications that are already familiar to users. This shifts the development focus from a proprietary language (Microsoft Visual Basic for Applications) to web-based languages (HTML, CSS, JavaScript, etc.) that enable you to use your web development skills for Office development. You add web-based features to the Office applications by using Office Add-ins (formerly code-named "Agave") (see Figure 2).
Figure 2. Bringing the web to Office applications
Office Add-ins is detailed later in this article. Office 2013 introduces the following key components.
Browser in Office
Office 2013 continues to support the services and technologies that you are familiar with and introduces easy integration with the web (see Figure 3).
Figure 3. Office 2013 continues to support familiar features
You can bring the best of the web into Office applications by creating visually rich solutions that integrate data and web content. You can also use powerful new tools in Visual Studio 2012 to streamline development. With Office 2013, code solutions use the same code base so that they work across applications and devices, helping to reduce development costs due to re-engineering and re-designing.
This modern development platform brings solutions from the web into Office in a fully-interactive browser-like experience and enables you to build solutions with greater speed by using standards based web languages such as JavaScript, HTML5, and JQuery. For example, you can combine sales data from a customer relationship management database with the Bing maps web service to create a more effective sales report.
Be aware that JQuery is a library based on the JavaScript standard.
Office 2013 is a robust platform to build enterprise solutions. Office 2013 offers the following benefits:
Rapid development time
Easy to integrate with line-of-business (LOB) systems
Secure and reliable platform
Easy to deploy and manage
Office Store
Office 2013 provides an Office Store for Microsoft Office solutions. The Office Store can be used to buy solutions for an organization. Organizations will also have the option for an internal store known as the App Catalog. The App Catalog provides a central location for all corporate solutions, whether developed internally or externally. This enables IT to manage and monitor solutions from a central location, and makes it easy for users to find solutions.
There are several advantages to using the Office Store for IT and end users:
Simplified management – Provides one location for all solutions
Increased security – Monitor the apps and security threats from one location
Central configuration – Control the visibility and availability of solutions; disable malicious code using central configuration
Discoverability – Solutions are easy to find and download
Remote execution – Solutions don’t need to be installed on the user’s computer to be available
Telemetry and analytics
As the number of files and solutions within an organization increases, management and security become a complex and costly task. Office 2013 helps identify the most frequently used solutions, simplifying the upgrade process. There is also additional telemetry available in Office 2013 that provides information about the health of the solutions that have been deployed thus reducing overall IT management costs while improving service quality (see Figure 4). The new tool to manage the health of deployed applications is called the Office Telemetry Dashboard.
There is also an Telemetry Log for Office 2013 that enables you to identify specific programming entities – collections, classes, enumerations, methods, and properties – that have been deprecated, hidden, or changed from previous releases. This enables you to refactor your solutions quickly by identifying the code that is incompatible with Office 2013.
Figure 4. Office Telemetry Dashboard
Common JavaScript object model
The Office 2013 application development platform is based on a common API (see Figure 5) for web-based development. This is made possible by the large number of common objects that Office can read, write, and establish bindings to. Microsoft Visual Basic for Applications (VBA) is still supported for individual Office 2013 application development.
Figure 5. Common Office API
In addition to the new web focus for Office, Office 2013 applications have also benefited from added and improved features. The following sections provide more information about the benefits of Office 2013 products.
Access
Access 2013 is designed to simplify web development in much the same way that it did in previous scenarios involving Microsoft Windows development. Access 2013 enables you to rapidly create applications that can be used to run LOB applications.
Data-centric applications
Access 2013 features a new framework that is designed for one purpose―enable users to create data-centric web applications. Access Services uses Microsoft SQL Server 2012 or SQL Azure to store data. Using SQL Server to store data provides a new level of manageability and scalability.
Integration with other technologies
By using standard technologies, Access 2013 significantly expands the number of developer tools that can be used to customize Access applications. By using SQL Server as its data store, Access 2013 significantly improves the manageability and scalability of Access applications. Compatibility with Office 365 and SQL Azure significantly expand the reach of Access applications.
For more information about features in Access 2013, see New in Access for developers.
Apps for Office
Office Add-ins enable a new extensibility model for supported Office 2013 client applications. This new model is designed to enable web developers to easily create web-based solutions that extend Office client applications. An Office Add-in is essentially a webpage that can be hosted inside an Office client application to provide extended content or functionality within a document, hosted in a task pane that is associated with the client application, or activated contextually in an email message. Office Add-ins provide a new way to extend Office client applications through standard web technologies like HTML, CSS, JavaScript, and REST.
To implement Office Add-ins, there is a new JavaScript-based API that provides simple and consistent programmatic access to Microsoft Office documents and applications across Office client environments through common as well as application-specific data types, objects, functions and events. The JavaScript API for the Office Add-ins library provides objects and members for reading and writing to the supported Office documents, as well as handling key application and user events like selection change.
You can upload apps to the public Office Store, to a private app catalog on SharePoint, to a file share, or to an Exchange server:
Publishing to the Office Store – Office 2013 provides the ability for users to discover solutions directly from a public marketplace hosted on Office.com. The Office Store provides a convenient location for you to upload new app solutions aimed both at consumers and businesses. As a developer, when you upload your app to the public marketplace, Microsoft runs some validation checks on it.
Publishing task pane and content apps to an App Catalog – For task pane and content apps, IT departments can deploy and configure private app catalogs to provide the same Office-solution catalog experience that the Office Store provides. This new catalog and development platform lets IT use a streamlined method to provision Office apps and SharePoint apps to managed users from a central location without the need to deploy solutions to each client.
Publishing task pane and content apps to a File Share catalog – Alternatively, in a corporate setting, IT can deploy task pane and content apps created either by internal or external developers to a central file share, where the manifest files will be stored and managed. In either case, when apps are subsequently updated by their developers, there is no need to push updates to end-users or for IT to redeploy them to corporate users.
Publishing mail apps to Exchange Server – Mail apps for Outlook can be installed by an administrator to an Exchange catalog that is available to users of the Exchange Server on which it resides. It enables publishing and management of corporate mail app solutions, including internally created ones as well as solutions that are acquired from the Office Store and licensed for corporate use. Apps for Outlook are installed into an Exchange catalog by a server administrator by using either the Exchange Unified Management Console (UMC), or by running remote Windows PowerShell cmdlets.
Users can also install apps for Outlook. In both the Outlook rich client and Outlook Web App (OWA), there is a user interface to conveniently click and install apps from the Office Store.
Office Add-ins can do almost anything a webpage can do in a browser:
Provide interactive UI and custom logic through DHTML and JavaScript
Use JavaScript frameworks such as JQuery and JQueryUI
Connect to REST and web services via HTTP and AJAX
Similarly, Office Add-ins are subject to the same restrictions imposed by browsers over webpages, such as the same-origin policy for domain isolation, and security zones.
Options for Office Add-ins:
A task pane Office Add-in will enable Office users to see an extension side-by-side with an Office document. For example, enabling users to look up information from a web service based on a product name highlighted in a document.
Content Office Add-in will enable webpages to become part of a document as embedded content that can be shown within documents. For example, you could integrate a YouTube video clip or a picture gallery.
Mail Office Add-in works with Outlook 2013 and OWA, and enables you to display content with a particular mail or calendar item.
The following table lists the supported Office Add-ins types for each of the Office 2013 products.
Table 1. Supported apps for Office types by product
Product |
Supported Type |
---|---|
Excel 2013 |
Task Pane Content |
Excel Online |
Content |
Word 2013 |
Task Pane |
Outlook 2013 |
|
Outlook Web App |
|
Microsoft Project Professional 2013 |
Task Pane |
Office Add-ins consist of a Manifest XML file and a webpage as shown in Figure 6 and Figure 7.
Figure 6. Basic components of an App for Office
Figure 7. Basic App for Office sample
For more information about Office Add-ins, see Office Add-ins platform overview.
Sample Apps for Office
To see an example of an Office Add-in, take a look at Figure 8. This is a task pane app for Excel. Now think of the LOB data your business uses every day. In this example, you are interacting with the document by inserting data from the task pane into the document and then reading that data back and inserting it into a box in the task pane.
Figure 8. Task pane app for Excel
With the rich web integration provided by the Office Add-in, you are able to access the data and web content in a single location to get a rich analysis of the data.
Likewise, Figure 9 shows a similar solution in a content app for Excel. In this case, the web browser is in-line with the content.
Figure 9. Content app for Excel
Apps for Office tooling in Visual Studio 2012
Visual Studio 2012 contains a template for an Office Add-in (see Figure 10).
Figure 10. Apps for Office templates in Visual Studio
When you create an Office Add-in project in Visual Studio 2012, all of the required files are created for you:
App1.html – Sample webpage
App1.xml – Manifest file
App1.js – Script file
App1.css – Cascading Style Sheet
Office.js – Office class library file
In addition, when you run the project for testing, the particular Office application is started for you.
Support for macro and add-in models
In general, Office 2013 continues to support the COM-based Office client object models for Office rich clients running on desktop computers. However, it is recommended that you should take advantage of the benefits of the apps for Office platform. Therefore, before creating new solutions, you prioritize your scenarios and verify whether you can develop the new solutions by using the apps for Office platform, before making a final decision.
Note
For more information and an example of the decision process, see the article Selecting an API or technology for developing solutions for Outlook.
The Office Home & Student 2013 RT edition is an exception that runs on ARM-based devices with Windows 8 RT. This edition includes Excel 2013, OneNote 2013, PowerPoint 2013, and Word 2013. Be aware that because of the limited amount of memory on ARM devices, this edition of Office does not support macros (including .XLM files), add-ins, and ActiveX controls.
Excel
Excel 2013 is a platform for developing powerful business and financial solutions. You write code to customize and extend Excel 2013 in several ways – automating operations, user interface customizations, data entry forms, and extending formulas with user defined functions, to name just a few.
New worksheet functions
Excel 2013 adds about fifty new worksheet functions for compatibility with the Open Document Format (ODF 1.2).
Quick Analysis
The Quick Analysis feature (see Figure 11) is contextual UI that enables single-click access to data analysis features, such as formulas, conditional formatting, Sparklines, tables, charts, and PivotTables. You can programmatically enable and disable the display of the new Quick Analysis feature in Excel 2013.
Figure 11. Quick Analysis
Availability of new data sources
You can connect to a set of new data sources supported by PowerPivot, including OData feeds, Azure, SharePoint Data Feeds, and additional OLE DB providers.
Programmatically using the DataModel OM
A new DataModel object model (part of the VBA object model) enables you to programmatically load and refresh data sources.
Creating PivotCharts independent of PivotTables
You can use the decoupling of PivotCharts from PivotTables in Excel 2013. PivotCharts and PivotTables based on an OLAP or PowerPivot data source can be de-coupled such that a PivotChart can be created independent of any PivotTable, and navigation through data can be done through a PivotChart-only experience. This is in contrast to the current paradigm where a PivotChart is created as a companion to a PivotTable. This decoupling will be represented in both the Excel 2013 Client and Microsoft Excel Services.
Single document interface
The change to a single-document interface (SDI) in Excel 2013 has implications for programmability. SDI means that each workbook will have its own top-level app window, and will have its own corresponding ribbon.
Programmatically turning animations on and off
You can use the new EnableMacroAnimations property on the Application object to toggle the display of animations. Animations are disabled by default during macro execution. To enable animation, add Application.EnableMacroAnimation = True at the start of the macro. This setting must be set for each macro to enable Excel to show animations during macro execution.
Using web service functions
You can now use web service functions (in the Web functions category) to anonymously access REST web services.
For more information about features in Excel 2013, see New in Excel for developers.
InfoPath
InfoPath 2013 makes it easy to build rich forms-based applications on top of the Microsoft SharePoint Server platform.
Improved integration with Office 2013 products
InfoPath 2013 provides optimum integration with other Office programs and servers, which helps improve the way that you collect, organize, and manage data. Existing InfoPath solutions will continue to work with Office 2013 applications and SharePoint Server. In this release, InfoPath 2013 has not introduced new functionality or scenarios.
New way to write and edit code
The Microsoft Visual Studio Tools for Applications IDE has been removed in Microsoft InfoPath Designer 2013. To write or edit form code in InfoPath Designer 2013 now requires Visual Studio 2012 and the Visual Studio Tools for Applications 11 add-on. The programming experience itself has not changed but you can now use the full Visual Studio development experience when writing managed code for your InfoPath forms.
OneNote
OneNote 2013 helps you keep tabs on your life by giving you the ideal place to store your notes and ideas. You can capture text, images, audio and video as notes, and share them with friends and colleagues. New properties enable add-ins to interact with the new embedded Office documents types and also offer performance improvements for pages with certain types of content.
Embedded files
OneNote 2013 enables you to embed Excel and Visio files as live documents within a page, instead of just attaching them as files. This enables users to interact directly with the content inside of OneNote without having to open the document in Excel or Visio. There are several new properties for these new document types which are exposed in the XML schema.
Quick filing dialog improvements
The Quick Filing dialog can now display a help link within the dialog box and enables users to create a notebook. These additional dialog box features can be enabled programmatically.
Performance Improvements
The new Page Info Type (piFileType) for the GetPageContent method can be used to retrieve a page’s content without decoding binary data such as ink, images, or embedded files.
Outlook
Outlook 2013 provides you with a comprehensive time and information manager. Mobility is an important aspect of global businesses and having Outlook 2013 on various devices gives customers a huge competitive advantage. The Outlook web-focus in the form of mail apps for Outlook, enable webpages to display within the currently viewed message or appointment item that resides on a Exchange 2013 server. They can access contextual information from the item, and then use that data to access additional information on the server and from web services to create compelling user experiences.
Inline Responses
Outlook 2013 introduces the inline response feature where the user can compose a response inline rather than opening a new Inspector window. If your solution requires adding custom Fluent UI controls to the Compose Note ribbon or you need to apply business logic or custom functionality to a response message before it is sent, modify your solution to use the new InlineResponse event on the Explorer object.
Disabling Add-ins
Extending the add-in resiliency of Outlook 2010, Outlook 2013 monitors add-in performance counters such as add-in startup, shutdown, folder switch, item open, and iteration timing. For example, if the median startup time exceeds a specified amount, then Outlook will disable the add-in and display a notification to the user that an add-in has been disabled. The user has the option of always enabling the add-in, so that Outlook will not disable the add-in even if the add-in exceeds the performance threshold. System administrators also have a new, enhanced level of control over which add-ins are disabled by using group policy.
Mail app for Outlook
A mail app for Outlook gives you access to contextual information about the currently viewed message or appointment, so that you can provide a richer experience to your customers. You can access information on the Exchange 2013 as well as other web services to create compelling interfaces that integrate your customer's information into their work. A mail app for Outlook runs by default on the Outlook rich client on a desktop, but can also run unchanged on Outlook Web App and Outlook Web App on mobile devices. This provides your customers a seamless experience on the desktop, on the web, and on other mobile devices including tablets and smartphones.
You create a mail app for Outlook by using standard web technologies—HTML to provide the UI and JavaScript to provide the connection to information from the Exchange 2013 or from web services. The mail app for Outlook runs in an isolated window pane that is displayed with the item that is currently in view. Figure 12 shows a Bing map of the first address that appears in the body of an email message.
Figure 12. Mail app for Outlook showing a context sensitive Bing map
Weather data service for the Weather Bar
A new Weather Bar in Outlook 2013 uses MSN Weather to provide weather forecasts for user-selected locations. Third party weather data services can plug into Outlook to provide similar weather forecasts.
For more information about features in Outlook 2013, see New in Outlook for developers.
Visio
Visio 2013 provides a powerful single platform for custom drawing solutions. New automation objects, collections, properties, methods, enumerations, and events, along with a new file format, enables more options for defining the behavior of the elements in solutions.
New file format
Visio 2013 introduces a new file format, based on the Open Packaging Conventions (OPC) standard (ISO 29500, Part 2) and the XML elements from the previous Visio XML file format (.vdx). It is a zipped, XML-based file format similar to the file formats used in Office applications.
The new file format provides a single format that is supported by both Visio 2013 and Visio Services on SharePoint 2013.
The new file format includes the following file types:
.vsdx (Visio drawing)
.vsdm (Visio macro-enabled drawing)
.vssx (Visio stencil)
.vssm (Visio macro-enabled stencil)
.vstx (Visio template)
.vstm (Visio macro-enabled template)
By using existing support for reading and writing to the file format package (such as System.IO.Packaging) and for XML parsing, you can programmatically work with the new file formats.
Visio 2013 retains the ability to read the previous file formats. Visio 2013 does not save to the previous Visio XML file format (.vdx) or file formats from Visio 2010. Solutions or tools that use the previous Visio XML file format (.vdx) files may need to be reformatted to read the new file format and schemas. Visio Services renders the new Visio drawing (.vsdx) and Visio macro-enabled drawing (.vsdm) formats in addition to the Visio Web Drawing (.vdw) format.
Themes
Themes have been redesigned in Visio 2013, making use of a greater variety of effects and styles including the integration of Shape Art effects. Users can now choose an overarching style by applying a theme, personalizing the diagram with theme variants, and highlighting individual shapes with Quick Styles. ShapeSheet developers can use these features with new functions and cells in the ShapeSheet.
Change shapes
Visio 2013 includes a shape replacement API that enables you to swap one shape for another shape contained in a stencil, while retaining some of the local values from the original shape. Shape developers can update the ShapeSheet settings of their custom shapes to specify the change shape behavior for those shapes.
Shape effects
New shape effects such as bevel, 3-D rotation, glow, reflection, and sketching have been added to Visio 2013. ShapeSheet developers can use these effects to design shapes with a more modern look and feel.
Commenting
Visio 2013 includes a new commenting framework. Comments can now be associated with a particular shape or page. Visio 2013 includes an API to get and set comments, and comments that are no longer accessible through the ShapeSheet. Visio Services includes JavaScript API to retrieve the comments from a diagram.
Relative geometries
Visio 2013 now supports relative geometry in the ShapeSheet. Shape developers can now use relative geometries to specify geometries as constants, which multiply by the height or width automatically. This enables developers to create easier to read shapes, with better performance, and smaller file sizes.
Customizable image clipping
Visio 2013 supports defining a Custom Image Clipping path to crop images to any shape. This extends the capacities of Visio 2010 which supported clipping images in a rectangular way. This functionality is available in the ShapeSheet.
For more information about features in Visio 2013, see New in Visio for developers.
Word
Word 2013 helps you produce professional looking documents by providing a comprehensive set of tools for creating and formatting a document. Rich review, commenting, and comparison capabilities help you quickly gather and manage feedback from colleagues. Advanced data integration ensures that documents stay connected to important sources of business information.
Enhancements to content controls
You can programmatically use the redesigned content control features in content controls in Word 2013. New features include repeating content controls, color coding, and control over the appearance of the content control in the document. Content controls are bounded and potentially labeled regions in a document that serve as containers for specific types of content (see Figure 13). Individual content controls can contain content such as dates, lists, or paragraphs of formatted text. These content controls enable you to create rich, structured blocks of content and create templates that insert well-defined blocks into your documents.
Figure 13. Repeating content controls
Specify settings for Reading Mode
Settings for Reading Mode can now be set programmatically in Word 2013. These settings include text scaling, layout, and line length.
UI for XML Mappings
You can now create XML mappings to content controls natively via a task pane available from the ribbon UI, as opposed to the need for VBA and/or file format manipulation required in Word 2010 and Microsoft Office Word 2007. The task pane enables you to visually set up XML mappings to content controls within the document.
For more information about features in Word 2013, see New in Word for developers.
Conclusion
Office 2013 is an exciting release and there are numerous features and supporting technologies that are designed to help you, the developer. The goal is to make your job easier by saving you time and enabling you to use the skills and resources you have, more efficiently. Office 2013 is all about bringing the web to Office, enabling productivity across devices. This technical article only provides a glimpse of what Office 2013 offers. There are many more new and improved features and technologies in Office 2013 that will be revealed as the product moves towards final release.