Microsoft 365 is a subscription that includes premium versions of Office apps across all your devices, monthly feature updates, and 1 TB of cloud storage. Office 2019 is a one-time purchase that includes classic versions of Office apps installed on one PC or Mac (or 5+ with a volume license).
- Microsoft Office 2010 94fbr
- Microsoft Office For Mac 10.9 5
- Microsoft Office For Mac Os 10.9.5
- Microsoft Office 1099 Misc Template
- Microsoft Office For Mac 10.9.5
- And Microsoft Office for Mac Academic 2011; This security update resolves vulnerabilities in Microsoft Office that could allow remote code execution if a user opens a specially crafted Office file. To learn more about these vulnerabilities, see Microsoft Common Vulnerabilities and Exposures CVE-2017-8631, CVE-2017-8632, and CVE-2017-8742.
- Microsoft Office. I just bought Microsoft Office 2019 for my OS X 10.9.5 Mac. I downloaded the setup instructions but when I try to open it, it says Microsoft Windows applications are not supported on OS X. Technician's Assistant: What app are you using? I don't think I'm using an app.
Microsoft 365 and Office 365 are available in a variety of plans to best meet the needs of your organization.
Service families and plans
The following table lists the different service families and plans available in Microsoft 365 and Office 365. For a high-level overview of features and pricing information, or to chat with an online representative, select any of the links in the Plans column.
Office 365 service family | Plans |
---|---|
Business (maximum of 300 users) | Microsoft 365 Business Basic (formerly Office 365 Business Essentials) Microsoft 365 Business Standard (formerly Office 365 Business Premium) Microsoft 365 Business Premium (formerly Microsoft 365 Business) Microsoft 365 Apps for business (formerly Office 365 Business) |
Enterprise (unlimited number of users) | Office 365 E1 Office 365 E3 Office 365 E5 Office 365 F3 Microsoft 365 F1 Microsoft 365 F3 (includes Office 365 F3) Microsoft 365 E3 (includes Office 365 E3) Microsoft 365 E5 (includes Office 365 E5) Microsoft 365 Apps for enterprise (formerly Office 365 ProPlus) |
Education (unlimited number of users) | Office 365 A1 Office 365 A3 Office 365 E5 Microsoft 365 A1 (one-time, per device license paired with free Office 365 A1 per user licenses) Microsoft 365 A3 (includes Office 365 A3) Microsoft 365 A5 (includes Office 365 A5) |
U.S. Government (unlimited number of users) | See all available plans |
Office 365 operated by 21Vianet in China | See all available plans |
Office 365 Germany | Learn about Office 365 Germany |
Service availability within each Microsoft 365 and Office 365 plan
Each Microsoft 365 or Office 365 plan includes a number of individual services, such as Exchange Online and SharePoint Online. The following table shows the services that are available in each plan.
Important
While a service may be available across Microsoft 365 and Office 365 plans, the features available in each plan may differ. To see the details of features that are available for each plan, refer to the individual service description or contact your Reseller or Microsoft sales representative for more information.
Several of the Microsoft 365 and Office 365 plans have add-ons that you can buy for your subscription. An add-on provides additional functionality to the subscription. For more information, see Buy or edit an add-on for Office 365 for business.
Service | Microsoft 365 Apps | Microsoft 365 Business Basic | Microsoft 365 Business Standard | Microsoft 365 Business Premium | Office 365 E1 | Microsoft 365 E3/Office 365 E3 | Microsoft 365 E5/Office 365 E53,15 | Microsoft 365 F3/Office 365 F3 | Microsoft 365 F1 |
---|---|---|---|---|---|---|---|---|---|
Office 365 platform | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Exchange Online | No | Yes5 | Yes5 | Yes5 | Yes5 | Yes6 | Yes6 | Yes8 | No16 |
SharePoint Online | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes17 |
OneDrive | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes4 | Yes4 |
Skype for Business Online 14 | No | Yes9 | Yes9 | Yes9 | Yes9 | Yes10 | Yes12 | Yes13 | Yes13 |
Office for the web | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No18 |
Office applications | Yes | No | Yes | Yes | No | Yes | Yes | No | No |
Project | No | No | No | No | No | No | No | No | No |
Power BI | No | No | No | No | No | No | Yes | No | No |
Yammer Enterprise | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Azure Information Protection2 | No | No1 | No1 | Yes | No1 | Yes | Yes | No1 | No |
Microsoft Kaizala | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
1 Azure Information Protection is not included, but can be purchased as a separate add-on and will enable the supported Information Rights Management (IRM) features. Some Azure Information Protection features require a subscription to Microsoft 365 Apps for enterprise, which is not included with Microsoft 365 Business Basic, Microsoft 365 Business Standard, Microsoft 365 F1, Microsoft 365 F3, Office 365 E1, Office 365 A1, or Office 365 F3.
2 To learn more about which Azure Information Protection features are included with Microsoft 365 and Office 365 plans, see Azure Information Protection.
3 Office 365 E5 and Microsoft 365 E5 contain Phone System and Audio Conferencing. To implement a Calling Plan requires an additional plan purchase (either Domestic or International).
4 Includes 2 GB storage.
5 Includes Exchange Online Plan 1.
6 Includes Exchange Online Plan 2.
7 Includes Exchange Online Plan 1 plus supplemental features.
8 Includes Exchange Online Kiosk.
9 Includes Skype for Business Online Plan 2 with basic client limitations.
10 Includes Skype for Business Online Plan 2 without any client limitations.
11 Includes Skype for Business Online Plan 1 plus supplemental features.
12 Includes Skype for Business Online Plan 2 with voice support and without any client limitations.
13 Includes Skype for Business Online Plan 1.
14 Microsoft Teams is now the primary client for messaging, meetings, and calling in Microsoft 365. As of Oct. 1, 2018, new customers with 500 seats or less are onboarded to Microsoft Teams and do not have access to Skype for Business Online. Tenants that are already using Skype for Business Online are able to continue doing so (including provisioning new users) until they complete their transition to Microsoft Teams.
15 Includes Microsoft 365 E5 Compliance, which provides automatic classification and retention, Customer Key, Advanced Message Encryption, Insider Risk Management, Communication Compliance, Information Barriers, Customer Lockbox, Privileged Access Management, Advanced Audit, Records Management, and Advanced eDiscovery capabilities; and Microsoft 365 E5 Security, which includes Microsoft Defender for Office 365 Plan 2, Microsoft Defender for Endpoint, Azure Active Directory Plan 2, Microsoft Defender for Identity, Microsoft Cloud App Security, and Safe Documents.
16 Microsoft 365 F1 does not include rights to an Exchange mailbox. To enable a full Teams experience, M365 F1 licenses may come with the Exchange Online K1 service plan enabled. Although the Exchange Online K1 service plan will provision a mailbox for the user, M365 F1 users are not entitled to use the mailbox. We recommend that your customers disable Outlook on the web via these steps and ask users not to access the Exchange mailbox via any other methods.
17 Includes SharePoint Online Kiosk. Cannot be administrators. No site mailbox. No personal site.
18 Microsoft 365 F1 users can read files using Office for the web, but do not have create/edit/save rights.
Basic client limitations

The following features are available in the full client, but are not available in the basic client:
- Manage team call settings
- Manage delegates
- Make calls on behalf of another contact (manager/delegate scenario)
- Handle another's calls if configured as a delegate
- Manage a high volume of calls
- Initiate a call to a Response Group
- Call park
- Group call pickup
Changing or mixing plans
As the needs of your organization change, you may need to change your Microsoft 365 plan. You can switch from your current subscription to another subscription:
- In the same service family: For example, you can move from Microsoft 365 Business Basic to Microsoft 365 Business Standard, or from Office 365 E1 to Office 365 E3.
- From a standalone plan: For example, you can move from Exchange Online Plan 1 to Office 365 E1.
- To a different service family: For example, you can move from Microsoft 365 Business Basic to Office 365 E3.
For information about how to change subscriptions, including how to move from a trial to a paid subscription, see Switch to a different Microsoft 365 plan or subscription.
You can combine Enterprise, Business, and standalone plans (for example, Exchange Online Plan 1) within a single account. However, existing limitations on the number of seats per plan do not change. For example, you can have up to 300 seats per plan on both Microsoft 365 Business Basic and Microsoft 365 Business Standard, but an unlimited number of users on Exchange Online Plan 1.
Standalone services
The following online services are available on their own, as standalone plans. They can also be added to Business and Enterprise service family plans that don't already include them. For pricing information, or to chat with an online representative, select any of the plans listed in the following table.
Service | Plans |
---|---|
Exchange Online | Exchange Online Plan 1 Exchange Online Plan 2 Exchange Online Protection Microsoft Defender for Office 365 Exchange Online Archiving Exchange Online Kiosk |
SharePoint Online | SharePoint Online Plan 1 SharePoint Online Plan 2 |
OneDrive for Business | OneDrive for Business Plan 1 OneDrive for Business Plan 2 |
Office applications | Microsoft 365 Apps for enterprise Microsoft 365 Apps for business |
Project portfolio management | Project Plan 1 Project Plan 3 Project Plan 5 |
Yammer | Yammer Basic |
Organizational insights | Workplace Analytics |
Business intelligence service | Power BI |
Online diagram software | Visio Plan 1 Visio Plan 2 |
Information Rights Management | Azure Information Protection |
Feature availability
To view feature availability across Microsoft 365 and Office 365 plans, see Microsoft 365 and Office 365 platform service description.
-->C# has features that simplify access to Office API objects. The new features include named and optional arguments, a new type called dynamic
, and the ability to pass arguments to reference parameters in COM methods as if they were value parameters.
In this topic you will use the new features to write code that creates and displays a Microsoft Office Excel worksheet. You will then write code to add an Office Word document that contains an icon that is linked to the Excel worksheet.
To complete this walkthrough, you must have Microsoft Office Excel 2007 and Microsoft Office Word 2007, or later versions, installed on your computer.
Note
Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Personalizing the IDE.
To create a new console application
Start Visual Studio.
On the File menu, point to New, and then click Project. The New Project dialog box appears.
In the Installed Templates pane, expand Visual C#, and then click Windows.
Look at the top of the New Project dialog box to make sure that .NET Framework 4 (or later version) is selected as a target framework.
In the Templates pane, click Console Application.
Type a name for your project in the Name field.
Click OK.
The new project appears in Solution Explorer.
To add references
In Solution Explorer, right-click your project's name and then click Add Reference. The Add Reference dialog box appears.
On the Assemblies page, select Microsoft.Office.Interop.Word in the Component Name list, and then hold down the CTRL key and select Microsoft.Office.Interop.Excel. If you do not see the assemblies, you may need to ensure they are installed and displayed. See How to: Install Office Primary Interop Assemblies.
Click OK.

To add necessary using directives
In Solution Explorer, right-click the Program.cs file and then click View Code.
Add the following
using
directives to the top of the code file:
To create a list of bank accounts
Paste the following class definition into Program.cs, under the
Program
class.Add the following code to the
Main
method to create abankAccounts
list that contains two accounts.

To declare a method that exports account information to Excel
Microsoft Office 2010 94fbr
Add the following method to the
Program
class to set up an Excel worksheet.Method Add has an optional parameter for specifying a particular template. Optional parameters, new in C# 4, enable you to omit the argument for that parameter if you want to use the parameter's default value. Because no argument is sent in the following code,
Add
uses the default template and creates a new workbook. The equivalent statement in earlier versions of C# requires a placeholder argument:ExcelApp.Workbooks.Add(Type.Missing)
.Add the following code at the end of
DisplayInExcel
. The code inserts values into the first two columns of the first row of the worksheet.Add the following code at the end of
DisplayInExcel
. Theforeach
loop puts the information from the list of accounts into the first two columns of successive rows of the worksheet.Add the following code at the end of
DisplayInExcel
to adjust the column widths to fit the content.Earlier versions of C# require explicit casting for these operations because
ExcelApp.Columns[1]
returns anObject
, andAutoFit
is an Excel Range method. The following lines show the casting.C# 4, and later versions, converts the returned
Object
todynamic
automatically if the assembly is referenced by the EmbedInteropTypes compiler option or, equivalently, if the Excel Embed Interop Types property is set to true. True is the default value for this property.
To run the project
Add the following line at the end of
Main
.Press CTRL+F5.
An Excel worksheet appears that contains the data from the two accounts.
To add a Word document
To illustrate additional ways in which C# 4, and later versions, enhances Office programming, the following code opens a Word application and creates an icon that links to the Excel worksheet.
Paste method
CreateIconInWordDoc
, provided later in this step, into theProgram
class.CreateIconInWordDoc
uses named and optional arguments to reduce the complexity of the method calls to Add and PasteSpecial. These calls incorporate two other new features introduced in C# 4 that simplify calls to COM methods that have reference parameters. First, you can send arguments to the reference parameters as if they were value parameters. That is, you can send values directly, without creating a variable for each reference parameter. The compiler generates temporary variables to hold the argument values, and discards the variables when you return from the call. Second, you can omit theref
keyword in the argument list.The
Add
method has four reference parameters, all of which are optional. In C# 4.0 and later versions, you can omit arguments for any or all of the parameters if you want to use their default values. In C# 3.0 and earlier versions, an argument must be provided for each parameter, and the argument must be a variable because the parameters are reference parameters.The
PasteSpecial
method inserts the contents of the Clipboard. The method has seven reference parameters, all of which are optional. The following code specifies arguments for two of them:Link
, to create a link to the source of the Clipboard contents, andDisplayAsIcon
, to display the link as an icon. In C# 4.0 and later versions, you can use named arguments for those two and omit the others. Although these are reference parameters, you do not have to use theref
keyword, or to create variables to send in as arguments. You can send the values directly. In C# 3.0 and earlier versions, you must supply a variable argument for each reference parameter.In C# 3.0 and earlier versions of the language, the following more complex code is required.
Add the following statement at the end of
Main
.Add the following statement at the end of
DisplayInExcel
. TheCopy
method adds the worksheet to the Clipboard.Press CTRL+F5.
A Word document appears that contains an icon. Double-click the icon to bring the worksheet to the foreground.
Microsoft Office For Mac 10.9 5
To set the Embed Interop Types property
Microsoft Office For Mac Os 10.9.5
Additional enhancements are possible when you call a COM type that does not require a primary interop assembly (PIA) at run time. Removing the dependency on PIAs results in version independence and easier deployment. For more information about the advantages of programming without PIAs, see Walkthrough: Embedding Types from Managed Assemblies.
In addition, programming is easier because the types that are required and returned by COM methods can be represented by using the type
dynamic
instead ofObject
. Variables that have typedynamic
are not evaluated until run time, which eliminates the need for explicit casting. For more information, see Using Type dynamic.In C# 4, embedding type information instead of using PIAs is default behavior. Because of that default, several of the previous examples are simplified because explicit casting is not required. For example, the declaration of
worksheet
inDisplayInExcel
is written asExcel._Worksheet workSheet = excelApp.ActiveSheet
rather thanExcel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet
. The calls toAutoFit
in the same method also would require explicit casting without the default, becauseExcelApp.Columns[1]
returns anObject
, andAutoFit
is an Excel method. The following code shows the casting.To change the default and use PIAs instead of embedding type information, expand the References node in Solution Explorer and then select Microsoft.Office.Interop.Excel or Microsoft.Office.Interop.Word.
If you cannot see the Properties window, press F4.
Find Embed Interop Types in the list of properties, and change its value to False. Equivalently, you can compile by using the References compiler option instead of EmbedInteropTypes at a command prompt.
To add additional formatting to the table
Replace the two calls to
AutoFit
inDisplayInExcel
with the following statement.The AutoFormat method has seven value parameters, all of which are optional. Named and optional arguments enable you to provide arguments for none, some, or all of them. In the previous statement, an argument is supplied for only one of the parameters,
Format
. BecauseFormat
is the first parameter in the parameter list, you do not have to provide the parameter name. However, the statement might be easier to understand if the parameter name is included, as is shown in the following code.Press CTRL+F5 to see the result. Other formats are listed in the XlRangeAutoFormat enumeration.
Compare the statement in step 1 with the following code, which shows the arguments that are required in C# 3.0 and earlier versions.
Example
Microsoft Office 1099 Misc Template
The following code shows the complete example.