diff --git a/Language/Concepts/Forms/undo-and-redo-in-microsoft-forms.md b/Language/Concepts/Forms/undo-and-redo-in-microsoft-forms.md index 7173a0ea3de..2e6d3c43ed8 100644 --- a/Language/Concepts/Forms/undo-and-redo-in-microsoft-forms.md +++ b/Language/Concepts/Forms/undo-and-redo-in-microsoft-forms.md @@ -16,7 +16,7 @@ Microsoft Forms supports multiple levels of **Undo** and **Redo** commands. This CTRL+Z is the shortcut key for **Undo**; CTRL+Y is the shortcut key for **Redo**. -You cannot undo or redo layering commands, such as **Send To Back** or **Bring To Front**. For example, if you select an object and choose **Move Backward** on the shortcut menu, you will not be able to undo or redo that action. +You cannot undo or redo layering commands, such as **Send To Back** or **Bring To Front**. For example, if you select an object and choose **Move Backward** on the shortcut menu, you'll not be able to undo or redo that action. ## See also diff --git a/Language/Concepts/Forms/ways-to-match-entries-in-a-list.md b/Language/Concepts/Forms/ways-to-match-entries-in-a-list.md index e1bebbfa070..1d54d5ff523 100644 --- a/Language/Concepts/Forms/ways-to-match-entries-in-a-list.md +++ b/Language/Concepts/Forms/ways-to-match-entries-in-a-list.md @@ -20,7 +20,7 @@ Microsoft Forms provides three ways to match a value entered by the user with an - **Complete** compares the user's entry and tries to find an exact match in an entry from the list. -The matching feature resets after two seconds (six seconds if you are using East Asia settings). For example, if you have a list of the 50 states and you type "CO" quickly, you will find "Colorado." But if you type "CO" slowly, you will find "Ohio" because the auto-complete search resets between letters. +The matching feature resets after two seconds (six seconds if you are using East Asia settings). For example, if you have a list of the 50 states and you type "CO" quickly, you'll find "Colorado." But if you type "CO" slowly, you'll find "Ohio" because the auto-complete search resets between letters. If you choose **Complete** matching, it is a good idea to sort the list entries alphabetically (you can use the **[TextColumn](../../reference/user-interface-help/textcolumn-property.md)** property to do this). If the list is not sorted alphabetically, matching may not work correctly. For example, if the list includes Alabama, Louisiana, and Alaska in that order, "Alabama" will be considered a complete match if the user types "ala." In fact, this result is ambiguous because there are two entries in the list that could match what the user entered. Sorting alphabetically eliminates this ambiguity. diff --git a/Language/Reference/User-Interface-Help/can-t-find-project-or-library.md b/Language/Reference/User-Interface-Help/can-t-find-project-or-library.md index 9c1e893425a..aea5c67c98b 100644 --- a/Language/Reference/User-Interface-Help/can-t-find-project-or-library.md +++ b/Language/Reference/User-Interface-Help/can-t-find-project-or-library.md @@ -46,7 +46,7 @@ Object library file names are generally constructed as follows: If you can't find a missing project or library on your system, contact the [referencing project](../../Glossary/vbe-glossary.md#referencing-project)'s author. If the missing library is a Microsoft application object library, you can obtain it as follows: -- If you have access to Microsoft electronic technical support services, refer to the technical support section of this Help file. Under electronic services, you will find instructions on how to use the appropriate service option. +- If you have access to Microsoft electronic technical support services, refer to the technical support section of this Help file. Under electronic services, you'll find instructions on how to use the appropriate service option. - If you don't have access to Microsoft electronic technical support services, Microsoft object libraries are available upon request as an application note from Microsoft. Information on how to contact your local Microsoft product support organization is also available in the technical support section of this Help file. diff --git a/Language/Reference/User-Interface-Help/error-loading-itema-control-could-not-be-loaded-due-to-load-error-continue.md b/Language/Reference/User-Interface-Help/error-loading-itema-control-could-not-be-loaded-due-to-load-error-continue.md index e59e11c8e36..3224d311110 100644 --- a/Language/Reference/User-Interface-Help/error-loading-itema-control-could-not-be-loaded-due-to-load-error-continue.md +++ b/Language/Reference/User-Interface-Help/error-loading-itema-control-could-not-be-loaded-due-to-load-error-continue.md @@ -12,6 +12,6 @@ ms.localizationpriority: medium # Error loading 'item'. A control could not be loaded due to load error. Continue? -This error message appears after another error has occurred. After you've taken the appropriate action for that error, you will see this error message. To load the control anyway, click **Yes**; to cancel the loading, click **No**. +This error message appears after another error has occurred. After you've taken the appropriate action for that error, you'll see this error message. To load the control anyway, click **Yes**; to cancel the loading, click **No**. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] \ No newline at end of file diff --git a/Language/Reference/User-Interface-Help/file-menu.md b/Language/Reference/User-Interface-Help/file-menu.md index 77131f77123..eefdfe127df 100644 --- a/Language/Reference/User-Interface-Help/file-menu.md +++ b/Language/Reference/User-Interface-Help/file-menu.md @@ -37,7 +37,7 @@ Adds existing [modules](../../Glossary/vbe-glossary.md#module) and forms to your |Command|Description|Toolbar button|Keyboard shortcut| |:------|:----------|:-------------|:----------------| |**Make ``**|Opens the **Make Project** dialog box so that you can build your project into a DLL.| | | -|**New Project** |Displays the **[New Project](new-project-dialog-box.md)** dialog box where you choose the type of [project](../../Glossary/vbe-glossary.md#project) that you want to create. If there is currently another project open when you create a new project, you will be prompted to save your work.

Available only at [design time](../../Glossary/vbe-glossary.md#design-time).| | | +|**New Project** |Displays the **[New Project](new-project-dialog-box.md)** dialog box where you choose the type of [project](../../Glossary/vbe-glossary.md#project) that you want to create. If there is currently another project open when you create a new project, you'll be prompted to save your work.

Available only at [design time](../../Glossary/vbe-glossary.md#design-time).| | | |**Open Project** |Closes the current project or group project, if one is loaded, and opens an existing project or group of projects. You can open as many projects as your system resources permit.|![Open Project Toolbar button](../../../images/tbr_open_ZA01201720.gif) | CTRL+O | ## Print diff --git a/Language/Reference/User-Interface-Help/fv-function.md b/Language/Reference/User-Interface-Help/fv-function.md index a0d1f3e19bd..ee3df9a2816 100644 --- a/Language/Reference/User-Interface-Help/fv-function.md +++ b/Language/Reference/User-Interface-Help/fv-function.md @@ -27,7 +27,7 @@ The **FV** function has these [named arguments](../../Glossary/vbe-glossary.md#n |_rate_|Required. **Double** specifying interest rate per period. For example, if you get a car loan at an annual percentage rate (APR) of 10 percent and make monthly payments, the rate per period is 0.1/12, or 0.0083.| |_nper_|Required. [Integer](../../Glossary/vbe-glossary.md#integer-data-type) specifying total number of payment periods in the annuity. For example, if you make monthly payments on a four-year car loan, your loan has a total of 4 * 12 (or 48) payment periods.| |_pmt_|Required. **Double** specifying payment to be made each period. Payments usually contain principal and interest that doesn't change over the life of the annuity.| -|_pv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying present value (or lump sum) of a series of future payments. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make. If omitted, 0 is assumed.| +|_pv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying present value (or lump sum) of a series of future payments. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| ## Remarks diff --git a/Language/Reference/User-Interface-Help/ipmt-function.md b/Language/Reference/User-Interface-Help/ipmt-function.md index c3d24718bb9..7db634b76ee 100644 --- a/Language/Reference/User-Interface-Help/ipmt-function.md +++ b/Language/Reference/User-Interface-Help/ipmt-function.md @@ -27,7 +27,7 @@ The **IPmt** function has these [named arguments](../../Glossary/vbe-glossary.md |_rate_|Required. **Double** specifying interest rate per period. For example, if you get a car loan at an annual percentage rate (APR) of 10 percent and make monthly payments, the rate per period is 0.1/12, or 0.0083.| |_per_|Required. **Double** specifying payment period in the range 1 through _nper_.| |_nper_|Required. **Double** specifying total number of payment periods in the annuity. For example, if you make monthly payments on a four-year car loan, your loan has a total of 4 * 12 (or 48) payment periods.| -|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make.| +|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make.| |_fv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying future value or cash balance you want after you've made the final payment. For example, the future value of a loan is $0 because that's its value after the final payment. However, if you want to save $50,000 over 18 years for your child's education, $50,000 is the future value. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| diff --git a/Language/Reference/User-Interface-Help/new-project-dialog-box.md b/Language/Reference/User-Interface-Help/new-project-dialog-box.md index 9b2028b381f..39993627049 100644 --- a/Language/Reference/User-Interface-Help/new-project-dialog-box.md +++ b/Language/Reference/User-Interface-Help/new-project-dialog-box.md @@ -14,7 +14,7 @@ ms.localizationpriority: medium ![New project dialog box](../../../images/va5lx01_ZA01201777.gif) -Allows you to select the type of project that you want to create. If there is currently another project open, you will be asked to save any changes before the new project is created. +Allows you to select the type of project that you want to create. If there is currently another project open, you'll be asked to save any changes before the new project is created. The following table describes the dialog box options. diff --git a/Language/Reference/User-Interface-Help/nper-function.md b/Language/Reference/User-Interface-Help/nper-function.md index 7efd9e34492..a5606863147 100644 --- a/Language/Reference/User-Interface-Help/nper-function.md +++ b/Language/Reference/User-Interface-Help/nper-function.md @@ -26,7 +26,7 @@ The **NPer** function has these [named arguments](../../Glossary/vbe-glossary.md |:-----|:-----| |_rate_|Required. **Double** specifying interest rate per period. For example, if you get a car loan at an annual percentage rate (APR) of 10 percent and make monthly payments, the rate per period is 0.1/12, or 0.0083.| |_pmt_|Required. **Double** specifying payment to be made each period. Payments usually contain principal and interest that doesn't change over the life of the annuity.| -|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make.| +|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make.| |_fv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying future value or cash balance you want after you've made the final payment. For example, the future value of a loan is $0 because that's its value after the final payment. However, if you want to save $50,000 over 18 years for your child's education, $50,000 is the future value. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| diff --git a/Language/Reference/User-Interface-Help/object-browser.md b/Language/Reference/User-Interface-Help/object-browser.md index 961c72729ef..f14d3cddd00 100644 --- a/Language/Reference/User-Interface-Help/object-browser.md +++ b/Language/Reference/User-Interface-Help/object-browser.md @@ -65,7 +65,7 @@ You can get Help for the **Object Browser** by searching for Object Browser in H |**Search** button| ![Search button](../../../images/search_ZA01201651.gif) |Initiates a search of the libraries for the class or property, method, event, or constant that matches the string you typed in the **Search Text** box, and opens the **Search Results** pane with the appropriate list of information.| |**Show/Hide Search Results** button| ![Show/Hide Search Results button](../../../images/showsear_ZA01201652.gif) |Opens or hides the **Search Results** pane. The **Search Results** pane changes to show the search results from the project or library chosen in the **Project/Library** list. Search results are listed alphabetically from A to Z.| |**Search Results** list| |Displays the library, class, and member that corresponds to the items that contain your search string. The **Search Results** pane changes when you change the selection in the **Project/Library** box.| -|**Classes** list| |Displays all of the available classes in the library or project selected in the **Project/Library** box. If there is code written for a class, that class appears in bold. The list always begins with ``, a list of globally accessible members.

If you select a class and do not specify a member, you will get the default member if one is available. The default member is identified by an asterisk (*) or by the default [icon](icons-used-in-the-object-browser-and-code-windows.md) specific to the member.| +|**Classes** list| |Displays all of the available classes in the library or project selected in the **Project/Library** box. If there is code written for a class, that class appears in bold. The list always begins with ``, a list of globally accessible members.

If you select a class and do not specify a member, you'll get the default member if one is available. The default member is identified by an asterisk (*) or by the default [icon](icons-used-in-the-object-browser-and-code-windows.md) specific to the member.| |**Members Of** list| |Displays the elements of the class selected in the **Classes** pane by group and then alphabetically within each group. Methods, properties, events, or constants that have code written for them appear bold. You can change the order of this list with the **Group Members** command on the **Object Browser** shortcut menu.| |**Details** pane| |Shows the definition of the member. The **Details** pane contains a jump to the class or library to which the element belongs. Some members have jumps to their parent class.

For example, if the text in the **Details** pane states that Command1 is declared as a command button type, clicking the command button takes you to the **Command Button** class.

You can copy or drag text from the **Details** pane to the Code window.| |**Split** bar| |Splits the panes so that you can adjust their size. There are splits between the:

- **Classes** box and the **Members Of** box.
- **Search Results** list and the **Classes** and **Members Of** boxes.
- **Classes** and **Members Of** boxes and the **Details** pane.| diff --git a/Language/Reference/User-Interface-Help/object-library-for-visual-basic-for-applications-not-found.md b/Language/Reference/User-Interface-Help/object-library-for-visual-basic-for-applications-not-found.md index bcfa14de988..d4a73fbe4fe 100644 --- a/Language/Reference/User-Interface-Help/object-library-for-visual-basic-for-applications-not-found.md +++ b/Language/Reference/User-Interface-Help/object-library-for-visual-basic-for-applications-not-found.md @@ -30,7 +30,7 @@ The Visual Basic object library file name is constructed as follows: If you can't find a missing project or object library on your system, contact the [referencing project's](../../Glossary/vbe-glossary.md#referencing-project) author. If the missing library is a Microsoft application object library, you can obtain it as follows: -- If you have access to Microsoft electronic technical support services, refer to the technical support section of this Help file. Under electronic services, you will find instructions on how to use the appropriate service option. +- If you have access to Microsoft electronic technical support services, refer to the technical support section of this Help file. Under electronic services, you'll find instructions on how to use the appropriate service option. - If you don't have access to Microsoft electronic technical support services, Microsoft object libraries are available upon request as an application note from Microsoft. Information on how to contact your local Microsoft product support organization is also available in the technical support section of this Help file. diff --git a/Language/Reference/User-Interface-Help/options-dialog-box.md b/Language/Reference/User-Interface-Help/options-dialog-box.md index 45310196f8c..53e4bf056eb 100644 --- a/Language/Reference/User-Interface-Help/options-dialog-box.md +++ b/Language/Reference/User-Interface-Help/options-dialog-box.md @@ -58,7 +58,7 @@ The following table describes the tab options. |**Form Grid Settings**|Determines the appearance of the form when it is edited.

**Show Grid**: Determines whether to show the grid.

**Grid Units**: Displays the grid units used for the form.

**Width**: Determines the width of grid cells on a form (2 to 60 points).

**Height**: Determines the height of grid cells on a form (2 to 60 points).

**Align Controls to Grid**: Automatically positions the outer edges of controls on grid lines.| |**Show ToolTips**|Displays ToolTips for the toolbar buttons.| |**Collapse Proj. Hides Windows**|Determines whether the project, **[UserForm](userform-window.md)**, object, or module windows are closed automatically when a project is collapsed in the **[Project Explorer](project-explorer.md)**.| -|**Edit and Continue**|**Notify Before State Loss**: Determines whether you will receive a message notifying you that the action requested will cause the all module level variables to be reset for a running project.| +|**Edit and Continue**|**Notify Before State Loss**: Determines whether you'll receive a message notifying you that the action requested will cause the all module level variables to be reset for a running project.| |**Error Trapping**|Determines how errors are handled in the Visual Basic development environment. Setting this option affects all instances of Visual Basic started after you change the setting.

**Break on All Errors**: Any error causes the project to enter break mode, whether or not an error handler is active and whether or not the code is in a class module.

**Break in Class Module**: Any unhandled error produced in a class module causes the project to enter break mode at the line of code in the class module which produced the error.

**Break on Unhandled Errors**: If an error handler is active, the error is trapped without entering break mode. If there is no active error handler, the error causes the project to enter break mode. An unhandled error in a class module, however, causes the project to enter break mode on the line of code that invoked the offending procedure of the class.| |**Compile**|**Compile On Demand**: Determines whether a project is fully compiled before it starts, or whether code is compiled as needed, allowing the application to start sooner.

**Background Compile**: Determines whether idle time is used during run time to finish compiling the project in the background. **Background Compile** can improve run time execution speed. This feature is not available unless **Compile On Demand** is also selected.| diff --git a/Language/Reference/User-Interface-Help/pmt-function.md b/Language/Reference/User-Interface-Help/pmt-function.md index 98bee26f3f8..6baa08b0875 100644 --- a/Language/Reference/User-Interface-Help/pmt-function.md +++ b/Language/Reference/User-Interface-Help/pmt-function.md @@ -25,7 +25,7 @@ The **Pmt** function has these [named arguments](../../Glossary/vbe-glossary.md# |:-----|:-----| |_rate_|Required. **Double** specifying interest rate per period. For example, if you get a car loan at an annual percentage rate (APR) of 10 percent and make monthly payments, the rate per period is 0.1/12, or 0.0083.| |_nper_|Required. [Integer](../../Glossary/vbe-glossary.md#integer-data-type) specifying total number of payment periods in the annuity. For example, if you make monthly payments on a four-year car loan, your loan has a total of 4 * 12 (or 48) payment periods.| -|_pv_|Required. **Double** specifying present value (or lump sum) that a series of payments to be paid in the future is worth now. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make.| +|_pv_|Required. **Double** specifying present value (or lump sum) that a series of payments to be paid in the future is worth now. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make.| |_fv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying future value or cash balance you want after you've made the final payment. For example, the future value of a loan is $0 because that's its value after the final payment. However, if you want to save $50,000 over 18 years for your child's education, $50,000 is the future value. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| diff --git a/Language/Reference/User-Interface-Help/ppmt-function.md b/Language/Reference/User-Interface-Help/ppmt-function.md index 55c8803b7d4..39e7a518129 100644 --- a/Language/Reference/User-Interface-Help/ppmt-function.md +++ b/Language/Reference/User-Interface-Help/ppmt-function.md @@ -27,7 +27,7 @@ The **PPmt** function has these [named arguments](../../Glossary/vbe-glossary.md |_rate_|Required. **Double** specifying interest rate per period. For example, if you get a car loan at an annual percentage rate (APR) of 10 percent and make monthly payments, the rate per period is 0.1/12, or 0.0083.| |_per_|Required. [Integer](../../Glossary/vbe-glossary.md#integer-data-type) specifying payment period in the range 1 through _nper_.| |_nper_|Required. **Integer** specifying total number of payment periods in the annuity. For example, if you make monthly payments on a four-year car loan, your loan has a total of 4 * 12 (or 48) payment periods.| -|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make.| +|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make.| |_fv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying future value or cash balance you want after you've made the final payment. For example, the future value of a loan is $0 because that's its value after the final payment. However, if you want to save $50,000 over 18 years for your child's education, $50,000 is the future value. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| diff --git a/Language/Reference/User-Interface-Help/project-properties-dialog-box.md b/Language/Reference/User-Interface-Help/project-properties-dialog-box.md index a9f0d140087..bc49b0b1755 100644 --- a/Language/Reference/User-Interface-Help/project-properties-dialog-box.md +++ b/Language/Reference/User-Interface-Help/project-properties-dialog-box.md @@ -43,7 +43,7 @@ The following table describes the tab options. |Option|Description| |:-----|:----------| |**Lock project**|Provides a way to lock your project and prevent someone from changing it.

**Lock project for viewing**: Locks the project so that it cannot be viewed or edited.| -|**Password to view project properties**|Sets the passwords that allow someone to view the project properties.

**Password**: Sets the password for the project. If you do not check the **Lock project for viewing** option but set a password, you will be required to enter a password to open the Property window the next time you open the project.

**Confirm password**: Confirms the password typed in the **Password** box. The contents of the **Confirm password** box and the **Password** box must match when you press **OK** or you get an error.| +|**Password to view project properties**|Sets the passwords that allow someone to view the project properties.

**Password**: Sets the password for the project. If you do not check the **Lock project for viewing** option but set a password, you'll be required to enter a password to open the Property window the next time you open the project.

**Confirm password**: Confirms the password typed in the **Password** box. The contents of the **Confirm password** box and the **Password** box must match when you press **OK** or you get an error.| ## Make tab diff --git a/Language/Reference/User-Interface-Help/rate-function.md b/Language/Reference/User-Interface-Help/rate-function.md index 73151b8af8e..0306daeb656 100644 --- a/Language/Reference/User-Interface-Help/rate-function.md +++ b/Language/Reference/User-Interface-Help/rate-function.md @@ -26,7 +26,7 @@ The **Rate** function has these [named arguments](../../Glossary/vbe-glossary.md |:-----|:-----| |_nper_|Required. **Double** specifying total number of payment periods in the annuity. For example, if you make monthly payments on a four-year car loan, your loan has a total of 4 * 12 (or 48) payment periods.| |_pmt_|Required. **Double** specifying payment to be made each period. Payments usually contain principal and interest that doesn't change over the life of the annuity.| -|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you will make.| +|_pv_|Required. **Double** specifying present value, or value today, of a series of future payments or receipts. For example, when you borrow money to buy a car, the loan amount is the present value to the lender of the monthly car payments you'll make.| |_fv_|Optional. [Variant](../../Glossary/vbe-glossary.md#variant-data-type) specifying future value or cash balance you want after you make the final payment. For example, the future value of a loan is $0 because that's its value after the final payment. However, if you want to save $50,000 over 18 years for your child's education, $50,000 is the future value. If omitted, 0 is assumed.| |_type_|Optional. **Variant** specifying a number indicating when payments are due. Use 0 if payments are due at the end of the payment period, or use 1 if payments are due at the beginning of the period. If omitted, 0 is assumed.| |_guess_|Optional. **Variant** specifying value you estimate will be returned by **Rate**. If omitted, _guess_ is 0.1 (10 percent).| diff --git a/Language/Reference/User-Interface-Help/references-dialog-box.md b/Language/Reference/User-Interface-Help/references-dialog-box.md index c7457ac2666..abce9dcf776 100644 --- a/Language/Reference/User-Interface-Help/references-dialog-box.md +++ b/Language/Reference/User-Interface-Help/references-dialog-box.md @@ -20,7 +20,7 @@ The following table describes the dialog box options. |Option|Description| |:-----|:----------| -|**Available References**|Lists the references available to your project.

After you set a reference to an object library by selecting the check box next to its name, you can find a specific object and its methods and properties in the [Object Browser](../../Glossary/vbe-glossary.md#object-browser).

If you are not using any objects in a referenced library, you should clear the check box for that reference to minimize the number of object references Visual Basic must resolve, thus reducing the time it takes your project to compile. You can't remove a reference for an item that is used in your project.

If you remove a reference to an object that you are currently using in your project, you will receive an error the next time you refer to that object.

References not in use are listed alphabetically.

**NOTE**: You can't remove the "Visual Basic For Applications" and "Visual Basic objects and procedures" references because they are necessary for running Visual Basic.| +|**Available References**|Lists the references available to your project.

After you set a reference to an object library by selecting the check box next to its name, you can find a specific object and its methods and properties in the [Object Browser](../../Glossary/vbe-glossary.md#object-browser).

If you are not using any objects in a referenced library, you should clear the check box for that reference to minimize the number of object references Visual Basic must resolve, thus reducing the time it takes your project to compile. You can't remove a reference for an item that is used in your project.

If you remove a reference to an object that you are currently using in your project, you'll receive an error the next time you refer to that object.

References not in use are listed alphabetically.

**NOTE**: You can't remove the "Visual Basic For Applications" and "Visual Basic objects and procedures" references because they are necessary for running Visual Basic.| |**Priority** buttons |Move references up ![Move up](../../../images/tbr_pri1_ZA01201723.gif) and down ![Move down](../../../images/tbr_pri2_ZA01201724.gif) on the list.

When you refer to an object in code, Visual Basic searches each referenced library selected in the **References** dialog box in the order that the libraries are displayed. If two referenced libraries contain objects with the same name, Visual Basic uses the definition provided by the library listed higher in the **Available References** box.| |**Result**|Displays the name and path of the reference selected in the **Available References** box, as well as the language version.| |**Browse**|Displays the **Add References** dialog box so that you can search other directories for and add references to the **Available References** box for the following types:

- [Type Libraries](../../Glossary/vbe-glossary.md#type-library) (\*.olb, \*.tlb, \*.dll)
- [Executable Files](../../Glossary/vbe-glossary.md#executable-file) (\*.exe, \*.dll)
- ActiveX Controls (\*.ocx)
- All Files (\*.\*)

The **Add References** dialog box is the **Open** common dialog box.| diff --git a/Language/Reference/User-Interface-Help/tools-menu.md b/Language/Reference/User-Interface-Help/tools-menu.md index 674cdc4c813..8260c6db6fd 100644 --- a/Language/Reference/User-Interface-Help/tools-menu.md +++ b/Language/Reference/User-Interface-Help/tools-menu.md @@ -20,7 +20,7 @@ ms.localizationpriority: medium |**Options**|Displays the **[Options](options-dialog-box.md)** dialog box, from which you can choose a tab to set attributes of the Visual Basic programming environment.

Tabs: Editor, Editor Format, General, Docking ||| |**`` Properties**|Displays the **[Project Properties](project-properties-dialog-box.md)** dialog box where you can set protection for and options specific to your project.|![Project Name Properties Toolbar button](../../../images/tbr_prpr_ZA01201728.gif)|| |**Quick Watch**|Displays the **[Quick Watch](quick-watch-dialog-box.md)** dialog box with the current value of the selected expression. Use this command to check the current value of a [variable](../../Glossary/vbe-glossary.md#variable), [property](../../Glossary/vbe-glossary.md#property), or other expression for which you have not defined a [watch expression](../../Glossary/vbe-glossary.md#watch-expression).

Select the expression from either the [Code window](code-window.md) or the [Immediate window](immediate-window.md), and then choose the **Quick Watch** command.

To add a watch expression based on the expression in the **Quick Watch** dialog box, choose the **Add** button.|![Quick Watch Toolbar button](../../../images/tbr_qwat_ZA01201733.gif) |SHIFT+F9| -|**References**|Displays the **[References](references-dialog-box.md)** dialog box. This dialog box allows you to add an [object library](../../Glossary/vbe-glossary.md#object-library) or [type library](../../Glossary/vbe-glossary.md#type-library) reference to your project. This makes another application's objects available in your code. After a reference is set, the referenced objects are displayed in the [Object Browser](../../Glossary/vbe-glossary.md#object-browser).

You can also add references to other loaded and saved projects. If a project has not been saved, it appears as `UNSAVED: ` and you will be unable to make a reference to it.

Only available at [design time](../../Glossary/vbe-glossary.md#design-time).||| +|**References**|Displays the **[References](references-dialog-box.md)** dialog box. This dialog box allows you to add an [object library](../../Glossary/vbe-glossary.md#object-library) or [type library](../../Glossary/vbe-glossary.md#type-library) reference to your project. This makes another application's objects available in your code. After a reference is set, the referenced objects are displayed in the [Object Browser](../../Glossary/vbe-glossary.md#object-browser).

You can also add references to other loaded and saved projects. If a project has not been saved, it appears as `UNSAVED: ` and you'll be unable to make a reference to it.

Only available at [design time](../../Glossary/vbe-glossary.md#design-time).||| ## See also diff --git a/access/Concepts/Criteria-Expressions/restrict-data-to-a-subset-of-records.md b/access/Concepts/Criteria-Expressions/restrict-data-to-a-subset-of-records.md index 725dcdfd8f2..ea65d8bb51f 100644 --- a/access/Concepts/Criteria-Expressions/restrict-data-to-a-subset-of-records.md +++ b/access/Concepts/Criteria-Expressions/restrict-data-to-a-subset-of-records.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium # Restrict data to a subset of records -When working with records, you will often need to restrict your data to a specific set of records. Some procedures take a _criteria_ argument that enables you to specify what data should be returned. For example, you specify the _criteria_ argument to restrict which records are returned when you use domain aggregate functions. +When working with records, you'll often need to restrict your data to a specific set of records. Some procedures take a _criteria_ argument that enables you to specify what data should be returned. For example, you specify the _criteria_ argument to restrict which records are returned when you use domain aggregate functions. You may also specify criteria when you use the Find method of a **Recordset** object, set the **[Filter](../../../api/Access.Form.Filter(property).md)** or **[ServerFilter](../../../api/Access.Form.ServerFilter.md)** property of a form, or construct a [SQL statement](../Structured-Query-Language/build-sql-statements-that-include-variables-and-controls.md). Although each of these operations involves a different syntax, you construct the criteria expression in a similar manner for each. diff --git a/access/Concepts/Criteria-Expressions/sort-records-in-case-sensitiveascii-order.md b/access/Concepts/Criteria-Expressions/sort-records-in-case-sensitiveascii-order.md index b328de30a8f..c45b46a1cff 100644 --- a/access/Concepts/Criteria-Expressions/sort-records-in-case-sensitiveascii-order.md +++ b/access/Concepts/Criteria-Expressions/sort-records-in-case-sensitiveascii-order.md @@ -55,7 +55,7 @@ End Function The preceding user-defined function, StrToHex, can be called from a query. When you pass the name of the sort field to this function, it will sort the field values in case-sensitive order. The following steps illustrate how to use the function. -1. Create a query from which you will call this function. +1. Create a query from which you'll call this function. 2. In the **Show Table** dialog box, select the table that you want to sort, and then select **Add**. diff --git a/access/Concepts/Data-Access-Objects/delete-a-record-from-a-dao-recordset.md b/access/Concepts/Data-Access-Objects/delete-a-record-from-a-dao-recordset.md index a9b1dded578..11a95c73934 100644 --- a/access/Concepts/Data-Access-Objects/delete-a-record-from-a-dao-recordset.md +++ b/access/Concepts/Data-Access-Objects/delete-a-record-from-a-dao-recordset.md @@ -51,8 +51,8 @@ End Function When you use the **Delete** method, the Access database engine immediately deletes the current record without any warning or prompting. Deleting a record does not automatically cause the next record to become the current record; to move to the next record you must use the **[MoveNext](../../../api/overview/Access.md)** method. Be aware that after you have moved off the deleted record, you cannot move back to it. -If you try to access a record after deleting it on a table-type **Recordset**, you will see error 3167, "Record is deleted." On a dynaset, you will see error 3021, "No current record." +If you try to access a record after deleting it on a table-type **Recordset**, you'll see error 3167, "Record is deleted." On a dynaset, you'll see error 3021, "No current record." -If you have a **Recordset** clone positioned at the deleted record, and you try to read its value, you will see error 3167 regardless of the type of **Recordset** object. Trying to use a bookmark to move to a deleted record will also result in error 3167. +If you have a **Recordset** clone positioned at the deleted record, and you try to read its value, you'll see error 3167 regardless of the type of **Recordset** object. Trying to use a bookmark to move to a deleted record will also result in error 3167. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] diff --git a/access/Concepts/Miscellaneous/adding-records-using-addnew.md b/access/Concepts/Miscellaneous/adding-records-using-addnew.md index 0fe63395fce..11b6d793cef 100644 --- a/access/Concepts/Miscellaneous/adding-records-using-addnew.md +++ b/access/Concepts/Miscellaneous/adding-records-using-addnew.md @@ -18,7 +18,7 @@ The _FieldList_ and _Values_ arguments are optional. _FieldList_ is either a si The _Values_ argument is either a single value or an array of values for the fields in the new record. -Typically, when you intend to add a single record, you will call the **AddNew** method without any arguments. Specifically, you will call **AddNew,** set the **Value** of each field in the new record, and then call **Update** and/or **UpdateBatch**. You can ensure that your **Recordset** supports adding new records by using the **Supports** property with the **adAddNew** enumerated constant. +Typically, when you intend to add a single record, you'll call the **AddNew** method without any arguments. Specifically, you'll call **AddNew,** set the **Value** of each field in the new record, and then call **Update** and/or **UpdateBatch**. You can ensure that your **Recordset** supports adding new records by using the **Supports** property with the **adAddNew** enumerated constant. The following code uses this technique to add a new Shipper to the sample **Recordset**. The ShipperID field value is supplied automatically by SQL Server, so the code does not attempt to supply a field value for the new records. diff --git a/access/Concepts/Miscellaneous/cancelupdate-method-example-vbscript.md b/access/Concepts/Miscellaneous/cancelupdate-method-example-vbscript.md index 6bc6a661003..17b1b46a6ef 100644 --- a/access/Concepts/Miscellaneous/cancelupdate-method-example-vbscript.md +++ b/access/Concepts/Miscellaneous/cancelupdate-method-example-vbscript.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium **Applies to:** Access 2013 | Access 2016 -To test this example, cut and paste this code between the `` and `` tags in a normal HTML document and name it **CancelUpdateVBS.asp**. ASP script will identify your Internet server. You will need to edit the name of the server to reflect your own setup. Simply change the value in the connect string from MyServer to the name of your SQL Server installation. +To test this example, cut and paste this code between the `` and `` tags in a normal HTML document and name it **CancelUpdateVBS.asp**. ASP script will identify your Internet server. You'll need to edit the name of the server to reflect your own setup. Simply change the value in the connect string from MyServer to the name of your SQL Server installation. ```vb <%@Language=VBScript%> diff --git a/access/Concepts/Miscellaneous/creating-a-portion-in-your-application-s-registry-tree-to-manage-the-settings.md b/access/Concepts/Miscellaneous/creating-a-portion-in-your-application-s-registry-tree-to-manage-the-settings.md index 5b26b372fab..b79a99918c2 100644 --- a/access/Concepts/Miscellaneous/creating-a-portion-in-your-application-s-registry-tree-to-manage-the-settings.md +++ b/access/Concepts/Miscellaneous/creating-a-portion-in-your-application-s-registry-tree-to-manage-the-settings.md @@ -22,7 +22,7 @@ The easiest way to accomplish this is to export the existing Microsoft Access da For your application to load the appropriate portion of the Windows Registry key you must specify the location with the DAO **INIPath** property. Your application must set the **INIPath** property before executing any other DAO code. The scope of this setting is limited to your application and cannot be changed without restarting your application. > [!NOTE] -> Although creating a Microsoft Access database engine portion in your application's registry is more flexible than overwriting the Microsoft Access database engine default entries, it requires that you maintain the registry tree. Every time changes are required in the default settings, you will need to edit the Registry. +> Although creating a Microsoft Access database engine portion in your application's registry is more flexible than overwriting the Microsoft Access database engine default entries, it requires that you maintain the registry tree. Every time changes are required in the default settings, you'll need to edit the Registry. ## See also diff --git a/access/Concepts/Miscellaneous/odbcconnectstr-property.md b/access/Concepts/Miscellaneous/odbcconnectstr-property.md index 79b7398020a..3e337475c9c 100644 --- a/access/Concepts/Miscellaneous/odbcconnectstr-property.md +++ b/access/Concepts/Miscellaneous/odbcconnectstr-property.md @@ -34,7 +34,7 @@ You can also use the ODBC Connection String Builder to create the ODBC connectio The default setting for this property is the string "ODBC;", which Microsoft Access restores if you delete an existing setting. When the **ODBCConnectStr** property is set to "ODBC;", Microsoft Access will prompt you for a connection string whenever the query is used but won't store the connect string. You must enter a connection string in the **ODBCConnectStr** property box if you want Microsoft Access to store the connection string. > [!TIP] -> If you know the full connection string for the SQL database, enter it in the **ODBCConnectStr** property box. This way you will avoid the need to enter the connection string in the ODBC connection dialog box each time you use the query. +> If you know the full connection string for the SQL database, enter it in the **ODBCConnectStr** property box. This way you'll avoid the need to enter the connection string in the ODBC connection dialog box each time you use the query. The connection string is different for different types of ODBC data sources. For example, to connect to the Human Resources data source on the HRSRVR server (a Microsoft SQL Server) by using the logon identification (ID) Smith and the password Sesame, you can use the following connection string. diff --git a/access/Concepts/Miscellaneous/query-name-contains-an-ambiguous-column-name-that-is-conflicting-with-the-correl.md b/access/Concepts/Miscellaneous/query-name-contains-an-ambiguous-column-name-that-is-conflicting-with-the-correl.md index df2efa88db8..4de835cc97f 100644 --- a/access/Concepts/Miscellaneous/query-name-contains-an-ambiguous-column-name-that-is-conflicting-with-the-correl.md +++ b/access/Concepts/Miscellaneous/query-name-contains-an-ambiguous-column-name-that-is-conflicting-with-the-correl.md @@ -18,7 +18,7 @@ ms.localizationpriority: medium Either fully qualify the column name or change the correlation (alias) name. A SQL SELECT statement is using a correlation (alias) name that is used in one of the base tables in the FROM clause of the statement. Previous versions of Microsoft Jet returned an incorrect result set with this. To prevent the changing of results sets, this error message is being propagated. -This SQL SELECT statement will work when using the Microsoft OLE DB Provider for Jet by itself or through Active Data Objects (ADO). If this SQL SELECT statement is being used through any part of Microsoft Access outside of ADO using Microsoft OLE DB Provider for Jet, you will need to change the correlation (alias) name to something other than the column name in the base table. +This SQL SELECT statement will work when using the Microsoft OLE DB Provider for Jet by itself or through Active Data Objects (ADO). If this SQL SELECT statement is being used through any part of Microsoft Access outside of ADO using Microsoft OLE DB Provider for Jet, you'll need to change the correlation (alias) name to something other than the column name in the base table. An example of this would be the following: CREATE TABLE Orders (OrderDate DATE, Freight DOUBLE);. The following SQL SELECT statement would now return an error: SELECT OrderDate AS A1, Freight + Freight AS OrderDate. The workaround would be to change the correlation (alias) name OrderDate to some other name or to run this query through ADO using the Microsoft OLE DB Provider for Jet. ## See also diff --git a/access/Concepts/Miscellaneous/type-mismatch-in-join-expressionerror-3615.md b/access/Concepts/Miscellaneous/type-mismatch-in-join-expressionerror-3615.md index ebdb494f74a..1133b0a4fd5 100644 --- a/access/Concepts/Miscellaneous/type-mismatch-in-join-expressionerror-3615.md +++ b/access/Concepts/Miscellaneous/type-mismatch-in-join-expressionerror-3615.md @@ -16,7 +16,7 @@ ms.localizationpriority: high **Applies to:** Access 2013 | Access 2016 -A JOIN expression is attempting to join two tables on fields of incompatible data types. For example, you will get this error if you attempt to join a Memo field with a Text field. +A JOIN expression is attempting to join two tables on fields of incompatible data types. For example, you'll get this error if you attempt to join a Memo field with a Text field. ## See also diff --git a/access/Concepts/Structured-Query-Language/build-sql-statements-that-include-variables-and-controls.md b/access/Concepts/Structured-Query-Language/build-sql-statements-that-include-variables-and-controls.md index a4d976e0534..b22502e1338 100644 --- a/access/Concepts/Structured-Query-Language/build-sql-statements-that-include-variables-and-controls.md +++ b/access/Concepts/Structured-Query-Language/build-sql-statements-that-include-variables-and-controls.md @@ -62,7 +62,7 @@ Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL) ## Build SQL statements with ADO -In this section, you will build the same statements as in the previous section, but this time using ADO as the data access method. +In this section, you'll build the same statements as in the previous section, but this time using ADO as the data access method. The following code example shows how to create a **QueryDef** object with a simple SQL statement. This query returns all orders from an Orders table that were placed after March 31, 2006. diff --git a/access/Concepts/Structured-Query-Language/define-relationships-between-tables-using-access-sql.md b/access/Concepts/Structured-Query-Language/define-relationships-between-tables-using-access-sql.md index 8cf05bbefe7..3f99e1fa8af 100644 --- a/access/Concepts/Structured-Query-Language/define-relationships-between-tables-using-access-sql.md +++ b/access/Concepts/Structured-Query-Language/define-relationships-between-tables-using-access-sql.md @@ -40,7 +40,7 @@ CREATE TABLE tblInvoices ``` Note that the primary key index (PK_InvoiceID) for the invoices table is declared within the **CREATE TABLE** statement. To enhance the performance of the primary key, an index is automatically created for it, so there is no need to use a separate **[CREATE INDEX](../../../api/overview/Access.md)** statement. -Now create a shipping table that will contain each customer's shipping address. Assume that there will be only one shipping record for each customer record, so you will be establishing a one-to-one relationship. +Now create a shipping table that will contain each customer's shipping address. Assume that there will be only one shipping record for each customer record, so you'll be establishing a one-to-one relationship. ```sql diff --git a/access/Concepts/Structured-Query-Language/insert-update-and-delete-records-from-a-table-using-access-sql.md b/access/Concepts/Structured-Query-Language/insert-update-and-delete-records-from-a-table-using-access-sql.md index b9cf42d7b0a..c077d335eec 100644 --- a/access/Concepts/Structured-Query-Language/insert-update-and-delete-records-from-a-table-using-access-sql.md +++ b/access/Concepts/Structured-Query-Language/insert-update-and-delete-records-from-a-table-using-access-sql.md @@ -72,7 +72,7 @@ UPDATE tblCustomers ``` -In most cases, you will want to qualify the **UPDATE** statement with a **[WHERE](where-clause-microsoft-access-sql.md)** clause to limit the number of records changed. +In most cases, you'll want to qualify the **UPDATE** statement with a **[WHERE](where-clause-microsoft-access-sql.md)** clause to limit the number of records changed. @@ -104,7 +104,7 @@ DELETE FROM tblInvoices ``` -In most cases, you will want to qualify the **DELETE** statement with a **WHERE** clause to limit the number of records to be removed. +In most cases, you'll want to qualify the **DELETE** statement with a **WHERE** clause to limit the number of records to be removed. diff --git a/access/Concepts/Structured-Query-Language/modify-a-table-s-design-using-access-sql.md b/access/Concepts/Structured-Query-Language/modify-a-table-s-design-using-access-sql.md index 71e318e46cb..5df6e86011b 100644 --- a/access/Concepts/Structured-Query-Language/modify-a-table-s-design-using-access-sql.md +++ b/access/Concepts/Structured-Query-Language/modify-a-table-s-design-using-access-sql.md @@ -31,7 +31,7 @@ ALTER TABLE tblCustomers ``` -If you want to change the name of a field, you will have to remove the field and then recreate it. To remove a field, use the **DROP COLUMN** clause with the field name only. +If you want to change the name of a field, you'll have to remove the field and then recreate it. To remove a field, use the **DROP COLUMN** clause with the field name only. diff --git a/access/Concepts/Structured-Query-Language/retrieve-records-using-access-sql.md b/access/Concepts/Structured-Query-Language/retrieve-records-using-access-sql.md index 8e05ad5facf..728f59dd65e 100644 --- a/access/Concepts/Structured-Query-Language/retrieve-records-using-access-sql.md +++ b/access/Concepts/Structured-Query-Language/retrieve-records-using-access-sql.md @@ -42,7 +42,7 @@ SELECT CustomerID AS [Customer Number] ## Restrict the result set -More often than not, you will not want to retrieve all records from a table. You will want only a subset of those records based on some qualifying criteria. To qualify a **SELECT** statement, you must use a **[WHERE](where-clause-microsoft-access-sql.md)** clause, which will allow you to specify exactly which records you want to retrieve. +More often than not, you'll not want to retrieve all records from a table. You'll want only a subset of those records based on some qualifying criteria. To qualify a **SELECT** statement, you must use a **[WHERE](where-clause-microsoft-access-sql.md)** clause, which will allow you to specify exactly which records you want to retrieve. ```sql SELECT * diff --git a/api/Access.BoundObjectFrame.DisplayType.md b/api/Access.BoundObjectFrame.DisplayType.md index ca2fa854c95..a8c776ec24e 100644 --- a/api/Access.BoundObjectFrame.DisplayType.md +++ b/api/Access.BoundObjectFrame.DisplayType.md @@ -37,7 +37,7 @@ The **DisplayType** property uses the following settings. For a bound object frame, the **DisplayType** property can be set either in Design view or in Form view or Datasheet view for new records while they are being added; it can be read in all views. For an unbound object frame or chart, the property can be set in the **Insert Object** dialog box when the object is created (the default setting is Content or, if you select the **Display As Icon** check box, the setting is Icon). -The **DisplayType** property determines the default setting of the **Display As Icon** check box in the **Paste Special** dialog box, available by clicking **Paste Special** on the **Edit** menu, and the **Insert Object** dialog box, displayed when inserting an unbound object frame. When you display these dialog boxes in Form view, Datasheet view, or Design view, the **Display As Icon** check box is automatically selected if the **DisplayType** property is set to Icon. For example, you will see these boxes selected when using Visual Basic to set the control's **Action** property to **acOLEInsertObjDlg** or **acOLEPasteSpecialDlg**. +The **DisplayType** property determines the default setting of the **Display As Icon** check box in the **Paste Special** dialog box, available by clicking **Paste Special** on the **Edit** menu, and the **Insert Object** dialog box, displayed when inserting an unbound object frame. When you display these dialog boxes in Form view, Datasheet view, or Design view, the **Display As Icon** check box is automatically selected if the **DisplayType** property is set to Icon. For example, you'll see these boxes selected when using Visual Basic to set the control's **Action** property to **acOLEInsertObjDlg** or **acOLEPasteSpecialDlg**. The **DisplayType** property setting has no effect on the state of the **Display As Icon** check box in the **Object** dialog box when you insert an object into an unbound object frame. When you paste an object from the Clipboard, the **Display As Icon** check box reflects the state of the object on the Clipboard. diff --git a/api/Access.Form.LayoutForPrint.md b/api/Access.Form.LayoutForPrint.md index ef2faf14c5a..0ca63e37c27 100644 --- a/api/Access.Form.LayoutForPrint.md +++ b/api/Access.Form.LayoutForPrint.md @@ -32,7 +32,7 @@ When you choose a font in Microsoft Access, you are choosing either a screen fon **Printer fonts** are the letters, numbers, and symbols that are produced when you print a form. The available fonts are those fonts that were installed as part of your printer's setup, and depend on your printer. -If you design a form on a system with a different printer than the one you will use to print, Access displays a message when you print the form to let you know that it was designed for another kind of printer. If you print the form anyway, your printer may substitute different fonts. Similarly, Access may substitute fonts if you change the **LayoutForPrint** property setting. For example, you might design a form with **LayoutForPrint** set to No, and then change the setting to Yes. You can reselect the font for each control to specify the appearance of the form. +If you design a form on a system with a different printer than the one you'll use to print, Access displays a message when you print the form to let you know that it was designed for another kind of printer. If you print the form anyway, your printer may substitute different fonts. Similarly, Access may substitute fonts if you change the **LayoutForPrint** property setting. For example, you might design a form with **LayoutForPrint** set to No, and then change the setting to Yes. You can reselect the font for each control to specify the appearance of the form. diff --git a/api/Access.ObjectFrame.DisplayType.md b/api/Access.ObjectFrame.DisplayType.md index c81d855a666..9917d95994a 100644 --- a/api/Access.ObjectFrame.DisplayType.md +++ b/api/Access.ObjectFrame.DisplayType.md @@ -37,7 +37,7 @@ The **DisplayType** property uses the following settings. The **DisplayType** property determines the default setting of the **Display As Icon** check box in the **Paste Special** dialog box, available by choosing **Paste Special** on the **Edit** menu, and the **Insert Object** dialog box, displayed when inserting an unbound object frame. -When you display these dialog boxes in Form view, Datasheet view, or Design view, the **Display As Icon** check box is automatically selected if the **DisplayType** property is set to Icon. For example, you will see these boxes selected when using Visual Basic to set the control's **Action** property to **acOLEInsertObjDlg** or **acOLEPasteSpecialDlg**. +When you display these dialog boxes in Form view, Datasheet view, or Design view, the **Display As Icon** check box is automatically selected if the **DisplayType** property is set to Icon. For example, you'll see these boxes selected when using Visual Basic to set the control's **Action** property to **acOLEInsertObjDlg** or **acOLEPasteSpecialDlg**. The **DisplayType** property setting has no effect on the state of the **Display As Icon** check box in the **Object** dialog box when you insert an object into an unbound object frame. When you paste an object from the Clipboard, the **Display As Icon** check box reflects the state of the object on the Clipboard. diff --git a/api/Access.Report.LayoutForPrint.md b/api/Access.Report.LayoutForPrint.md index 366256dfdba..f5360878a5c 100644 --- a/api/Access.Report.LayoutForPrint.md +++ b/api/Access.Report.LayoutForPrint.md @@ -32,7 +32,7 @@ When you choose a font in Microsoft Access, you are choosing either a screen fon **Printer fonts** are the letters, numbers, and symbols that are produced when you print a report. The available fonts are those fonts that were installed as part of your printer's setup, and depend on your printer. -If you design a report on a system with a different printer than the one you will use to print, Access displays a message when you print the report to let you know that it was designed for another kind of printer. If you print the report anyway, your printer may substitute different fonts. Similarly, Access may substitute fonts if you change the **LayoutForPrint** property setting. For example, you might design a report with **LayoutForPrint** set to No, and then change the setting to Yes. You can reselect the font for each control to specify the appearance of the report. +If you design a report on a system with a different printer than the one you'll use to print, Access displays a message when you print the report to let you know that it was designed for another kind of printer. If you print the report anyway, your printer may substitute different fonts. Similarly, Access may substitute fonts if you change the **LayoutForPrint** property setting. For example, you might design a report with **LayoutForPrint** set to No, and then change the setting to Yes. You can reselect the font for each control to specify the appearance of the report. diff --git a/api/Excel.AutoFilter.md b/api/Excel.AutoFilter.md index 3f5060a76d0..5bbcaa6f2b5 100644 --- a/api/Excel.AutoFilter.md +++ b/api/Excel.AutoFilter.md @@ -20,7 +20,7 @@ Represents autofiltering for the specified worksheet. > When using **AutoFilter** with dates, the format should be consistent with English date separators ("/") instead of local settings ("."). A valid date would be "2/2/2007", whereas "2.2.2007" is invalid. > [!NOTE] -> Working with objects (for example, the **Interior** object) requires adding a reference to an object. You will find more information about assigning an object reference to a variable or property in the **[Set](../language/reference/User-Interface-Help/set-statement.md)** statement. +> Working with objects (for example, the **Interior** object) requires adding a reference to an object. You'll find more information about assigning an object reference to a variable or property in the **[Set](../language/reference/User-Interface-Help/set-statement.md)** statement. ## Example diff --git a/api/Excel.ConditionValue.md b/api/Excel.ConditionValue.md index ddf3d55101d..eb6b4ab5e12 100644 --- a/api/Excel.ConditionValue.md +++ b/api/Excel.ConditionValue.md @@ -26,7 +26,7 @@ You can change the type of evaluation from the default setting (lowest value for ## Example -The following example creates a range of data and then applies a data bar to the range. You will notice that because there is an extremely low and high value in the range, the middle values have data bars that are of similar length. To disambiguate the middle values, the sample code uses the **ConditionValue** object to change how the thresholds are evaluated to percentiles. +The following example creates a range of data and then applies a data bar to the range. You'll notice that because there is an extremely low and high value in the range, the middle values have data bars that are of similar length. To disambiguate the middle values, the sample code uses the **ConditionValue** object to change how the thresholds are evaluated to percentiles. ```vb Sub CreateDataBarCF() diff --git a/api/Excel.DataLabel.Separator.md b/api/Excel.DataLabel.Separator.md index 530f1a2f0df..791bbbf8cf7 100644 --- a/api/Excel.DataLabel.Separator.md +++ b/api/Excel.DataLabel.Separator.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a **[DataLabel](excel.datalabel(object). ## Remarks -If you use a string, you will get a string as the separator. If you use **xlDataLabelSeparatorDefault** (= 1) (see the **[XlDataLabelSeparator](excel.xldatalabelseparator.md)** enumeration), you will get the default data label separator, which is either a comma or a newline, depending on the data label. +If you use a string, you'll get a string as the separator. If you use **xlDataLabelSeparatorDefault** (= 1) (see the **[XlDataLabelSeparator](excel.xldatalabelseparator.md)** enumeration), you'll get the default data label separator, which is either a comma or a newline, depending on the data label. When a value of "1" is returned, it indicates that the user has not changed the default separator, which is a comma ",". You can also pass a value of "1" to change the separator back to the default separator. diff --git a/api/Excel.DataLabels.AutoText.md b/api/Excel.DataLabels.AutoText.md index 418dfaec1a5..8d24030a65b 100644 --- a/api/Excel.DataLabels.AutoText.md +++ b/api/Excel.DataLabels.AutoText.md @@ -33,7 +33,7 @@ Charts("Chart1").SeriesCollection(1).DataLabels.AutoText = True ``` > [!NOTE] -> If you run `ActiveChart.SeriesCollection(1).DataLabels.AutoText` in the Immediate window, you will receive the following: +> If you run `ActiveChart.SeriesCollection(1).DataLabels.AutoText` in the Immediate window, you'll receive the following: > - Excel 2003: Returns nothing. > - Excel 2007 and later: Returns **True** only when all **DataLabels** have **AutoText** = **True**, returns **False** if all **DataLabels** have **AutoText** = **False** or some **DataLabels** have **AutoText** = **False**. diff --git a/api/Excel.DataLabels.Separator.md b/api/Excel.DataLabels.Separator.md index a0beab1978e..6286a55fbc8 100644 --- a/api/Excel.DataLabels.Separator.md +++ b/api/Excel.DataLabels.Separator.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a **[DataLabels](Excel.DataLabels(object ## Remarks -If you use a string, you will get a string as the separator. If you use **xlDataLabelSeparatorDefault** (= 1) (**[XlDataLabelSeparator](excel.xldatalabelseparator.md)** enumeration), you will get the default data label separator, which is either a comma or a newline, depending on the data label. +If you use a string, you'll get a string as the separator. If you use **xlDataLabelSeparatorDefault** (= 1) (**[XlDataLabelSeparator](excel.xldatalabelseparator.md)** enumeration), you'll get the default data label separator, which is either a comma or a newline, depending on the data label. When a value of "1" is returned, it indicates that the user has not changed the default separator, which is a comma ",". You can also pass a value of "1" to change the separator back to the default separator. diff --git a/api/Excel.ListDataFormat.md b/api/Excel.ListDataFormat.md index 5fa5f3cf715..71f05b12ffe 100644 --- a/api/Excel.ListDataFormat.md +++ b/api/Excel.ListDataFormat.md @@ -28,7 +28,7 @@ Use the **ListDataFormat** property of the **ListColumn** object to return a **L The following code example creates a linked list from a SharePoint list. It then checks to see if field 2 is required (field 1 is the ID field, which is read-only). If it's a required text field, the same data is written in all existing records. > [!NOTE] -> The following code example assumes that you will substitute a valid server name and the list GUID in the variables _strServerName_ and _strListGUID_. Additionally, the server name must be followed by `"/_vti_bin"` or the sample will not work. +> The following code example assumes that you'll substitute a valid server name and the list GUID in the variables _strServerName_ and _strListGUID_. Additionally, the server name must be followed by `"/_vti_bin"` or the sample will not work. ```vb diff --git a/api/Excel.ListObjects.Add.md b/api/Excel.ListObjects.Add.md index 7d43391dc2f..782921ffbb5 100644 --- a/api/Excel.ListObjects.Add.md +++ b/api/Excel.ListObjects.Add.md @@ -51,7 +51,7 @@ When the list has headers, the first row of cells will be converted to **Text**, The following example adds a new **ListObject** object based on data from a Microsoft SharePoint Foundation site to the default **ListObjects** collection and places the list in cell A1 in the first worksheet of the workbook. > [!NOTE] -> The following code example assumes that you will substitute a valid server name and the list guid in the variables `strServerName` and `strListGUID`. Additionally, the server name must be followed by `"/_vti_bin" (strListName)` or the sample will not work. +> The following code example assumes that you'll substitute a valid server name and the list guid in the variables `strServerName` and `strListGUID`. Additionally, the server name must be followed by `"/_vti_bin" (strListName)` or the sample will not work. ```vb diff --git a/api/Excel.ServerViewableItems.DeleteAll.md b/api/Excel.ServerViewableItems.DeleteAll.md index eab23ec740b..8723c4c3d45 100644 --- a/api/Excel.ServerViewableItems.DeleteAll.md +++ b/api/Excel.ServerViewableItems.DeleteAll.md @@ -28,7 +28,7 @@ _expression_ A variable that represents a **[ServerViewableItems](Excel.ServerVi If you do not want any of the objects in the **ServerViewableItems** collection to be viewable on the server, use this method to remove them all at once. -If the **ServerViewableItems** collection does not contain at least one object, you will see the message "Unable to display specified named range or item" when viewing the workbook in Excel Services. +If the **ServerViewableItems** collection does not contain at least one object, you'll see the message "Unable to display specified named range or item" when viewing the workbook in Excel Services. diff --git a/api/Excel.Workbook.SendForReview.md b/api/Excel.Workbook.SendForReview.md index 4a462dc1192..1d888ac6335 100644 --- a/api/Excel.Workbook.SendForReview.md +++ b/api/Excel.Workbook.SendForReview.md @@ -28,7 +28,7 @@ _expression_ A variable that represents a **[Workbook](Excel.Workbook.md)** obje |Name|Required/Optional|Data type|Description| |:-----|:-----|:-----|:-----| -| _Recipients_|Optional| **Variant**|A string that lists the people to whom to send the message. These can be unresolved names and aliases in an email phone book or full email addresses. Separate multiple recipients with a semicolon (;). If left blank and _ShowMessage_ is **False**, you will receive an error message, and the message will not be sent.| +| _Recipients_|Optional| **Variant**|A string that lists the people to whom to send the message. These can be unresolved names and aliases in an email phone book or full email addresses. Separate multiple recipients with a semicolon (;). If left blank and _ShowMessage_ is **False**, you'll receive an error message, and the message will not be sent.| | _Subject_|Optional| **Variant**|A string for the subject of the message. If left blank, the subject will be: Please review "filename".| | _ShowMessage_|Optional| **Variant**|A **Boolean** value that indicates whether the message should be displayed when the method is executed. The default value is **True**. If set to **False**, the message is automatically sent to the recipients without first showing the message to the sender.| | _IncludeAttachment_|Optional| **Variant**|A **Boolean** value that indicates whether the message should include an attachment or a link to a server location. The default value is **True**. If set to **False**, the document must be stored at a shared location.| diff --git a/api/Excel.Workbook.Signatures.md b/api/Excel.Workbook.Signatures.md index 5de9877db84..d4e2878dcfb 100644 --- a/api/Excel.Workbook.Signatures.md +++ b/api/Excel.Workbook.Signatures.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a **[Workbook](Excel.Workbook.md)** obje ## Remarks -To digitally sign Excel workbooks and verify other signatures in them, you will need the Microsoft CryptoAPI and a unique digital signature certificate. The CryptoAPI is installed with Microsoft Internet Explorer 4.01 or later. You can obtain a digital signature certificate from a certification authority. +To digitally sign Excel workbooks and verify other signatures in them, you'll need the Microsoft CryptoAPI and a unique digital signature certificate. The CryptoAPI is installed with Microsoft Internet Explorer 4.01 or later. You can obtain a digital signature certificate from a certification authority. ## Example diff --git a/api/Excel.WorksheetFunction.NegBinomDist.md b/api/Excel.WorksheetFunction.NegBinomDist.md index f466a46fa11..267bc95ff98 100644 --- a/api/Excel.WorksheetFunction.NegBinomDist.md +++ b/api/Excel.WorksheetFunction.NegBinomDist.md @@ -43,7 +43,7 @@ _expression_ A variable that represents a **[WorksheetFunction](Excel.WorksheetF ## Remarks -For example, you need to find 10 people with excellent reflexes, and you know the probability that a candidate has these qualifications is 0.3. **NegBinomDist** calculates the probability that you will interview a certain number of unqualified candidates before finding all 10 qualified candidates. +For example, you need to find 10 people with excellent reflexes, and you know the probability that a candidate has these qualifications is 0.3. **NegBinomDist** calculates the probability that you'll interview a certain number of unqualified candidates before finding all 10 qualified candidates. Number_f and number_s are truncated to integers. diff --git a/api/Excel.WorksheetFunction.NegBinom_Dist.md b/api/Excel.WorksheetFunction.NegBinom_Dist.md index 0742699d7d3..1644e9a4ae0 100644 --- a/api/Excel.WorksheetFunction.NegBinom_Dist.md +++ b/api/Excel.WorksheetFunction.NegBinom_Dist.md @@ -40,7 +40,7 @@ _expression_ A variable that represents a **[WorksheetFunction](Excel.WorksheetF ## Remarks -For example, you need to find 10 people with excellent reflexes, and you know the probability that a candidate has these qualifications is 0.3. **NegBinom_Dist** calculates the probability that you will interview a certain number of unqualified candidates before finding all 10 qualified candidates. +For example, you need to find 10 people with excellent reflexes, and you know the probability that a candidate has these qualifications is 0.3. **NegBinom_Dist** calculates the probability that you'll interview a certain number of unqualified candidates before finding all 10 qualified candidates. Number_f and number_s are truncated to integers. diff --git a/api/Office.CommandBarButton.Picture.md b/api/Office.CommandBarButton.Picture.md index fd0eabd965d..c118f4184fd 100644 --- a/api/Office.CommandBarButton.Picture.md +++ b/api/Office.CommandBarButton.Picture.md @@ -30,7 +30,7 @@ _expression_ A variable that represents a **[CommandBarButton](Office.CommandBar ## Remarks -When you change the image on a button, you will also want to use the **Mask** property to set a mask image. The mask image determines which parts of the button image are transparent. Always set the mask after you have set the picture for a **CommandBarButton** object. +When you change the image on a button, you'll also want to use the **Mask** property to set a mask image. The mask image determines which parts of the button image are transparent. Always set the mask after you have set the picture for a **CommandBarButton** object. > [!NOTE] > The images for the **View Microsoft** _Application_ and **Insert** _Item_ buttons on the **Standard** toolbar in the Visual Basic Editor cannot be changed. diff --git a/api/Office.CommandBarButton.SetFocus.md b/api/Office.CommandBarButton.SetFocus.md index 5a05676a4d0..7afa1ffbf89 100644 --- a/api/Office.CommandBarButton.SetFocus.md +++ b/api/Office.CommandBarButton.SetFocus.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a **[CommandBarButton](Office.CommandBar ## Remarks -The focus on the control is subtle. After you use this method, you will notice a three dimensional highlight on the control. Pressing the arrow keys will navigate in the toolbars, as if you had arrived at the control by pressing only keyboard controls. +The focus on the control is subtle. After you use this method, you'll notice a three dimensional highlight on the control. Pressing the arrow keys will navigate in the toolbars, as if you had arrived at the control by pressing only keyboard controls. ## Example diff --git a/api/Office.CommandBarControl.SetFocus.md b/api/Office.CommandBarControl.SetFocus.md index 01f6e66bd42..5ce4d9b45a5 100644 --- a/api/Office.CommandBarControl.SetFocus.md +++ b/api/Office.CommandBarControl.SetFocus.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a **[CommandBarControl](Office.CommandBa ## Remarks -The focus on the control is subtle. After you use this method, you will notice a three-dimensional highlight on the control. Pressing the arrow keys will navigate in the toolbars, as if you had arrived at the control by pressing only keyboard controls. +The focus on the control is subtle. After you use this method, you'll notice a three-dimensional highlight on the control. Pressing the arrow keys will navigate in the toolbars, as if you had arrived at the control by pressing only keyboard controls. ## Example diff --git a/api/Outlook.Application.NewMailEx.md b/api/Outlook.Application.NewMailEx.md index e05fbbf18d3..b5c512af3c7 100644 --- a/api/Outlook.Application.NewMailEx.md +++ b/api/Outlook.Application.NewMailEx.md @@ -40,7 +40,7 @@ This event is not available in Microsoft Visual Basic Scripting Edition (VBScrip This event fires for email accounts that provide notifications for received messages, such as Microsoft Exchange Server and POP3 accounts. -The **NewMailEx** event fires when a new message arrives in the Inbox and before client rule processing occurs. You can use the Entry ID returned in the _EntryIDCollection_ array to call the **[NameSpace.GetItemFromID](Outlook.NameSpace.GetItemFromID.md)** method and process the item. Use this method with caution to minimize the impact on Outlook performance. However, depending on the setup on the client computer, after a new message arrives in the Inbox, processes like spam filtering and client rules that move the new message from the Inbox to another folder can occur asynchronously. You should not assume that after these events fire, you will always get a one-item increase in the number of items in the Inbox. +The **NewMailEx** event fires when a new message arrives in the Inbox and before client rule processing occurs. You can use the Entry ID returned in the _EntryIDCollection_ array to call the **[NameSpace.GetItemFromID](Outlook.NameSpace.GetItemFromID.md)** method and process the item. Use this method with caution to minimize the impact on Outlook performance. However, depending on the setup on the client computer, after a new message arrives in the Inbox, processes like spam filtering and client rules that move the new message from the Inbox to another folder can occur asynchronously. You should not assume that after these events fire, you'll always get a one-item increase in the number of items in the Inbox. For users with an Exchange Server account (non-Cached Exchange Mode or Cached Exchange Mode), the event will fire only for messages that arrive at the server after Outlook has started. The event will not fire for messages that are synchronized in Cached Exchange Mode immediately after Outlook starts, nor for messages that are already on the server when Outlook starts in non-Cached Exchange Mode. diff --git a/api/Outlook.Columns.Add.md b/api/Outlook.Columns.Add.md index d216067297f..227b370d4b3 100644 --- a/api/Outlook.Columns.Add.md +++ b/api/Outlook.Columns.Add.md @@ -45,7 +45,7 @@ A **Column** object that represents the new column. If you are adding a property which is an explicit built-in property in the object model, for example, **[Contact.FirstName](Outlook.ContactItem.FirstName.md)**, you must specify _Name_ as the explicit built-in property name in English. For certain types of properties, the format used when adding these properties as columns affects how their values are expressed in the **Table**. For more information on property value representation in a **Table**, see [Factors Affecting Property Value Representation in the Table and View Classes](../outlook/How-to/Search-and-Filter/factors-affecting-property-value-representation-in-the-table-and-view-classes.md). -If you are adding a custom property to a **Table**, referencing the property by the MAPI string namespace, you will have to explicitly append the type of the property to the end of the property reference. For example, to add the custom property `MyCustomProperty`, which has the type Unicode string, you will have to explicitly append the type 001f to the reference, resulting in: `http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f`, where `{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}` represents the namespace GUID. +If you are adding a custom property to a **Table**, referencing the property by the MAPI string namespace, you'll have to explicitly append the type of the property to the end of the property reference. For example, to add the custom property `MyCustomProperty`, which has the type Unicode string, you'll have to explicitly append the type 001f to the reference, resulting in: `http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f`, where `{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}` represents the namespace GUID. Certain properties cannot be added to a **Table** using **Columns.Add**, including binary properties, computed properties, and HTML or RTF body content. For more information, see [Unsupported Properties in a Table Object or Table Filter](../outlook/How-to/Search-and-Filter/unsupported-properties-in-a-table-object-or-table-filter.md). diff --git a/api/Outlook.DocumentItem.UserProperties.md b/api/Outlook.DocumentItem.UserProperties.md index ee0f8ef8d20..1044249c2a4 100644 --- a/api/Outlook.DocumentItem.UserProperties.md +++ b/api/Outlook.DocumentItem.UserProperties.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a [DocumentItem](Outlook.DocumentItem.md ## Remarks -Even though **olWordDocumentItem** is a valid constant in the **[OlItemType](Outlook.OlItemType.md)** enumeration, user-defined fields cannot to be added to a **[DocumentItem](Outlook.DocumentItem.md)** object and you will receive an error when you try to programmatically add a user-defined field to a **DocumentItem** object. +Even though **olWordDocumentItem** is a valid constant in the **[OlItemType](Outlook.OlItemType.md)** enumeration, user-defined fields cannot to be added to a **[DocumentItem](Outlook.DocumentItem.md)** object and you'll receive an error when you try to programmatically add a user-defined field to a **DocumentItem** object. ## See also diff --git a/api/Outlook.NoteItem.md b/api/Outlook.NoteItem.md index b2f67ac0207..87387f8a902 100644 --- a/api/Outlook.NoteItem.md +++ b/api/Outlook.NoteItem.md @@ -19,7 +19,7 @@ Represents a note in a Notes folder. ## Remarks -A **NoteItem** is not customizable. If you open a new note, you will notice that it is not possible to place it in design time. +A **NoteItem** is not customizable. If you open a new note, you'll notice that it is not possible to place it in design time. The **[Subject](Outlook.NoteItem.Subject.md)** property of a **NoteItem** object is read-only because it is calculated from the body text of the note. Also, the **NoteItem** **[Body](Outlook.NoteItem.Body.md)** can only be rich text, so the properties that correspond to HTML and Microsoft Word content do not apply. Although the **[GetInspector](Outlook.NoteItem.GetInspector.md)** property will work on notes, because notes can't be customized, some of the **[Inspector](Outlook.Inspector.md)** properties, methods, and events will not apply to **NoteItem** objects. diff --git a/api/Outlook.Row.Item.md b/api/Outlook.Row.Item.md index 11948333d19..a345bb6200e 100644 --- a/api/Outlook.Row.Item.md +++ b/api/Outlook.Row.Item.md @@ -45,7 +45,7 @@ The **Item** method is the default method of the **Row** object, meaning that th `Row("Subject")` -If a **Column** has been added to a **Table** using a property name referencing a namespace, you must reference the **Column** in the **Row.Item** method by the same namespace reference. If you use an explicit built-in name reference in **Row.Item**, you will get an error. +If a **Column** has been added to a **Table** using a property name referencing a namespace, you must reference the **Column** in the **Row.Item** method by the same namespace reference. If you use an explicit built-in name reference in **Row.Item**, you'll get an error. ## Example diff --git a/api/Outlook.Table.MoveToStart.md b/api/Outlook.Table.MoveToStart.md index 1fd853c9144..8cc8a5c6964 100644 --- a/api/Outlook.Table.MoveToStart.md +++ b/api/Outlook.Table.MoveToStart.md @@ -26,7 +26,7 @@ _expression_ A variable that represents a [Table](Outlook.Table.md) object. ## Remarks - **MoveToStart** is equivalent to resetting the **Table**. If you call **[GetNextRow](Outlook.Table.GetNextRow.md)** after you call **MoveToStart**, you will return a row representing the first row in the **Table**. + **MoveToStart** is equivalent to resetting the **Table**. If you call **[GetNextRow](Outlook.Table.GetNextRow.md)** after you call **MoveToStart**, you'll return a row representing the first row in the **Table**. ## See also diff --git a/api/Outlook.Table.md b/api/Outlook.Table.md index a7f6432fe18..8558c357975 100644 --- a/api/Outlook.Table.md +++ b/api/Outlook.Table.md @@ -19,7 +19,7 @@ Represents a set of item data from a **[Folder](Outlook.Folder.md)** or **[Searc ## Remarks -The **Table** represents a read-only dynamic rowset of data in a **Folder** or **Search** object. You can use **[Folder.GetTable](Outlook.Folder.GetTable.md)** or **[Search.GetTable](Outlook.Search.GetTable.md)** to obtain a **Table** object that represents a set of items in a folder or search folder. If the **Table** object is obtained from **Folder.GetTable**, you can further specify a filter (in **[Table.Restrict](Outlook.Table.Restrict.md)**) to obtain a subset of the items in the folder. If you do not specify any filter, you will obtain all the items in the folder. +The **Table** represents a read-only dynamic rowset of data in a **Folder** or **Search** object. You can use **[Folder.GetTable](Outlook.Folder.GetTable.md)** or **[Search.GetTable](Outlook.Search.GetTable.md)** to obtain a **Table** object that represents a set of items in a folder or search folder. If the **Table** object is obtained from **Folder.GetTable**, you can further specify a filter (in **[Table.Restrict](Outlook.Table.Restrict.md)**) to obtain a subset of the items in the folder. If you do not specify any filter, you'll obtain all the items in the folder. By default, each item in the returned **Table** contains only a default subset of its properties. You can regard each row of a **Table** as an item in the folder, each column as a property of the item, and the **Table** as an in-memory lightweight rowset that allows fast enumeration and filtering of items in the folder. Although additions and deletions of the underlying folder are reflected by the rows in the **Table**, the **Table** does not support any events for adding, changing, and removing of rows. If you require a writeable object from the **Table** row, obtain the Entry ID for that row from the default EntryID column in the **Table** and then use the **[GetItemFromID](Outlook.NameSpace.GetItemFromID.md)** method of the **[NameSpace](Outlook.NameSpace.md)** object to obtain a full item, such as a **[MailItem](Outlook.MailItem.md)** or **[ContactItem](Outlook.ContactItem.md)**, that supports read-write operations. For more information on default columns in a **Table**, see [Default Properties Displayed in a Table Object](../outlook/How-to/Search-and-Filter/default-properties-displayed-in-a-table-object.md). diff --git a/contributing.md b/contributing.md index d45c2b04db4..c8f5248d436 100644 --- a/contributing.md +++ b/contributing.md @@ -56,7 +56,7 @@ Use Git to contribute substantive changes, such as: 1. If you don't have a GitHub account, set one up at [GitHub](https://github.com/join). 2. After you have an account, install Git on your computer. Follow the steps in the [Set up Git] tutorial. 3. To submit a pull request using Git, follow the steps in [Use GitHub, Git, and this repository](#use-github-git-and-this-repository). -4. You will be asked to sign the Contributor's License Agreement if you are: +4. You'll be asked to sign the Contributor's License Agreement if you are: * A member of the Microsoft Open Technologies group. * A contributor who doesn't work for Microsoft. @@ -195,13 +195,13 @@ Fill out the form at [Join GitHub](https://github.com/join) to open a free GitHu ### Where do I get a Contributor's License Agreement? -You will automatically be sent a notice that you need to sign the Contributor's License Agreement (CLA) if your pull request requires one. +You'll automatically be sent a notice that you need to sign the Contributor's License Agreement (CLA) if your pull request requires one. As a community member, **you must sign the Contribution License Agreement (CLA) before you can contribute large submissions to this project**. You only need complete and submit the documentation once. Carefully review the document. You may be required to have your employer sign the document. ### What happens with my contributions? -When you submit your changes, via a pull request, our team will be notified and will review your pull request. You will receive notifications about your pull request from GitHub; you may also be notified by someone from our team if we need more information. If your pull request is approved, we'll update the documentation. We reserve the right to edit your submission for legal, style, clarity, or other issues. +When you submit your changes, via a pull request, our team will be notified and will review your pull request. You'll receive notifications about your pull request from GitHub; you may also be notified by someone from our team if we need more information. If your pull request is approved, we'll update the documentation. We reserve the right to edit your submission for legal, style, clarity, or other issues. ### Can I become an approver for this repository's GitHub pull requests? diff --git a/excel/Concepts/Events-WorksheetFunctions-Shapes/control-and-dialog-box-events.md b/excel/Concepts/Events-WorksheetFunctions-Shapes/control-and-dialog-box-events.md index cce5459c4c3..736e63c428f 100644 --- a/excel/Concepts/Events-WorksheetFunctions-Shapes/control-and-dialog-box-events.md +++ b/excel/Concepts/Events-WorksheetFunctions-Shapes/control-and-dialog-box-events.md @@ -22,7 +22,7 @@ Event procedures include the name of the control. For example, the name of the * If you add code to an event procedure and then change the name of the control, your code remains in procedures with the previous name. -For example, assume you add code to the **Click** event for `Command1` and then rename the control to `Command2`. When you double-click `Command2`, you will not see any code in the **Click** event procedure. You will need to move code from `Command1_Click` to `Command2_Click`. +For example, assume you add code to the **Click** event for `Command1` and then rename the control to `Command2`. When you double-click `Command2`, you'll not see any code in the **Click** event procedure. You'll need to move code from `Command1_Click` to `Command2_Click`. To simplify development, it is a good practice to name your controls before writing code. diff --git a/excel/Concepts/Events-WorksheetFunctions-Shapes/working-with-shapes-drawing-objects.md b/excel/Concepts/Events-WorksheetFunctions-Shapes/working-with-shapes-drawing-objects.md index fd52ac164f6..fff0784c3c6 100644 --- a/excel/Concepts/Events-WorksheetFunctions-Shapes/working-with-shapes-drawing-objects.md +++ b/excel/Concepts/Events-WorksheetFunctions-Shapes/working-with-shapes-drawing-objects.md @@ -82,7 +82,7 @@ The following are general guidelines for how properties and methods behave when - The value of some properties can be returned or set only if there is exactly one shape in the collection. If the collection contains more than one shape, a run-time error occurs. This is generally the case for returning or setting properties when the equivalent action in the user interface is possible only with a single shape (actions such as editing text in a shape or editing the points of a freeform). -The preceding guidelines also apply when you are setting properties of shapes that are grouped under secondary objects of the **ShapeRange** collection, such as the **FillFormat** object. If the secondary object represents operations that can be performed on multiple selected objects in the user interface, you will be able to return the object from a **ShapeRange** collection and set its properties. +The preceding guidelines also apply when you are setting properties of shapes that are grouped under secondary objects of the **ShapeRange** collection, such as the **FillFormat** object. If the secondary object represents operations that can be performed on multiple selected objects in the user interface, you'll be able to return the object from a **ShapeRange** collection and set its properties. For example, you can use the **Fill** property to return the **FillFormat** object that represents the fills of all the shapes in the **ShapeRange** collection. Setting the properties of this **FillFormat** object will set the same properties for all the individual shapes in the **ShapeRange** collection. diff --git a/excel/Concepts/Excel-Performance/excel-performance-and-limit-improvements.md b/excel/Concepts/Excel-Performance/excel-performance-and-limit-improvements.md index 1beeb91dca9..011e6deb7c6 100644 --- a/excel/Concepts/Excel-Performance/excel-performance-and-limit-improvements.md +++ b/excel/Concepts/Excel-Performance/excel-performance-and-limit-improvements.md @@ -139,7 +139,7 @@ In addition, starting in Excel 2010, support for hardware acceleration improves |**Basic use**
|The first set of improvements made in Excel 2010 surrounds basic use scenarios. These scenarios include operations and features such as sorting, filtering, inserting or resizing rows or columns, or merging cells. When these operations occur, it may be necessary to update the position of a graphic object on the grid. In the worst-case scenario, it is necessary to make an update to every single object on the worksheet. In Excel 2010, performance of these basic scenarios improves even when there are thousands of objects on the worksheet. These improvements were not achieved with a single feature or fix, but through a dedicated focus on performance that included improving the shape lookup mechanism, testing stress files, and investigating obstructions.
| |**Text links**
|A text link on a shape is created when the user specifies a formula, for example "=A1", that defines the text for a given shape. These particular shapes were prone to cause performance issues on sheets with a large number of objects and/or when changes were made to cell content. Starting in Excel 2010, the way Excel tracks and updates these shapes has improved to optimize performance for changing cell content. This work improves scenarios such as typing a new value in a cell or performing complex object model operations.
| |**Big Grid**
|Starting in Excel 2007, the size of the grid expanded from 65,000 rows to over one million rows. This increase caused some performance and rendering issues when working with graphics objects in the new regions of the larger grid. Starting in Excel 2010, Excel optimizes functionality that relies on using the top left of the grid as the origin to improve the experience of working with graphics in the new regions of the grid. Rendering fidelity and performance are improved relative to Excel 2007.
| -|**Rendering: Hardware acceleration**
|Starting in Excel 2010, improvements were made to the graphics platform by adding support for hardware acceleration when rendering 3-D objects. While the GPU can render these objects faster than the CPU, the experience in Excel 2010 depends on the content on your worksheet. If you have a sheet full of 3-D shapes, you will see more benefit from the hardware acceleration improvements than on a worksheet with only 2-D shapes (which do not leverage the GPU).
| +|**Rendering: Hardware acceleration**
|Starting in Excel 2010, improvements were made to the graphics platform by adding support for hardware acceleration when rendering 3-D objects. While the GPU can render these objects faster than the CPU, the experience in Excel 2010 depends on the content on your worksheet. If you have a sheet full of 3-D shapes, you'll see more benefit from the hardware acceleration improvements than on a worksheet with only 2-D shapes (which do not leverage the GPU).
| ### Calculation improvements diff --git a/excel/Concepts/Functions/solverok-function.md b/excel/Concepts/Functions/solverok-function.md index d1caca62bf2..f5dc1ad1a3b 100644 --- a/excel/Concepts/Functions/solverok-function.md +++ b/excel/Concepts/Functions/solverok-function.md @@ -31,7 +31,7 @@ Defines a basic Solver model. Equivalent to clicking **Solver** in the **Data** **ValueOf** Optional **Variant**. If **_MaxMinVal_** is 3, you must specify the value to which the target cell is matched. - **ByChange** Optional **Variant**. The cell or range of cells that will be changed so that you will obtain the desired result in the target cell. Corresponds to the **By Changing Cells** box in the **Solver Parameters** dialog box. + **ByChange** Optional **Variant**. The cell or range of cells that will be changed so that you'll obtain the desired result in the target cell. Corresponds to the **By Changing Cells** box in the **Solver Parameters** dialog box. **Engine** Optional **Variant**. The Solving method that should be used to solve the problem: 2 for the Simplex LP method, 1 for the GRG Nonlinear method, or 3 for the Evolutionary method. Corresponds to the **Select a Solving Method** dropdown list in the **Solver Parameters** dialog box. diff --git a/excel/Concepts/Functions/solverokdialog-function.md b/excel/Concepts/Functions/solverokdialog-function.md index 89ed9a38e34..736e67c415d 100644 --- a/excel/Concepts/Functions/solverokdialog-function.md +++ b/excel/Concepts/Functions/solverokdialog-function.md @@ -31,7 +31,7 @@ Same as the **SolverOK** function, but also displays the **Solver** dialog box. |3|Match a specific value| **ValueOf** Optional **Variant**. If **_MaxMinVal_** is 3, you must specify the value that the target cell is matched to. - **ByChange** Optional **Variant**. The cell or range of cells that will be changed so that you will obtain the desired result in the target cell. Corresponds to the **By Changing Cells** box in the **Solver Parameters** dialog box. + **ByChange** Optional **Variant**. The cell or range of cells that will be changed so that you'll obtain the desired result in the target cell. Corresponds to the **By Changing Cells** box in the **Solver Parameters** dialog box. **Engine** Optional **Variant**. The Solving method that should be used to solve the problem: 1 for the Simplex LP method, 2 for the GRG Nonlinear method, or 3 for the Evolutionary method. Corresponds to the **Select a Solving Method** dropdown list in the **Solver Parameters** dialog box. **ByChange** Optional **Variant**. An alternate way to specify the Solving method that should be used to solve the problem as a string: "Simplex LP", "GRG Nonlinear", or "Evolutionary". Corresponds to the **Select a Solving Method** dropdown list in the **Solver Parameters** dialog box. diff --git a/excel/Concepts/programming-for-the-single-document-interface-in-excel.md b/excel/Concepts/programming-for-the-single-document-interface-in-excel.md index e6ec959c8ac..0ee05c12d2d 100644 --- a/excel/Concepts/programming-for-the-single-document-interface-in-excel.md +++ b/excel/Concepts/programming-for-the-single-document-interface-in-excel.md @@ -123,7 +123,7 @@ In MDI, there is only one formula bar to handle all open workbooks in that insta Custom Task Panes that attached to a top level window in MDI are now attached to a particular workbook's window in SDI. Switching to a different workbook will activate that workbook window, which won't necessarily have the custom task pane attached, unless the developer's code is updated to specifically display the custom task pane for that workbook. -To summarize, as a developer, you will want to: +To summarize, as a developer, you'll want to: - Ensure that for any workbooks where you want to show the custom task pane, you write code to explicitly do that. @@ -135,7 +135,7 @@ To summarize, as a developer, you will want to: Custom ribbon tabs and controls that assumed a single ribbon UI per application instance in previous versions of Excel will now be propagated onto each workbook ribbon in Excel. Whereas in MDI the custom ribbon developer didn't need to consider multiple instances of their controls on different instances of Excel's ribbon UI, with SDI they will need to account for this situation. -If you want to keep all the ribbon UI controls in the same state across open workbooks, you will need to: +If you want to keep all the ribbon UI controls in the same state across open workbooks, you'll need to: - Ensure that the code is able to cycle through the workbook windows and update the state of the controls. diff --git a/outlook/Concepts/Address-Book/programmatically-change-the-display-format-for-all-contacts.md b/outlook/Concepts/Address-Book/programmatically-change-the-display-format-for-all-contacts.md index 742851a724c..a9646586d3f 100644 --- a/outlook/Concepts/Address-Book/programmatically-change-the-display-format-for-all-contacts.md +++ b/outlook/Concepts/Address-Book/programmatically-change-the-display-format-for-all-contacts.md @@ -9,7 +9,7 @@ ms.localizationpriority: medium # Programmatically Change the Display Format for All Contacts -In Outlook, you can specify the default setting for how to file new contacts through the options for Contacts, as well as when you create the new contact. For example, the default setting is **Last, First**, which files a contact by the last name followed by the first name. However, changing this setting only applies to new contacts that you create. For contacts that already exist, if you want to change the way that their names are filed by, for example, changing from the default **Last, First** to **First, Last**, you will have to either do it individually for each existing contact in the inspector, or, you will have to write a macro to change the setting for all existing contacts in the Contacts folder. +In Outlook, you can specify the default setting for how to file new contacts through the options for Contacts, as well as when you create the new contact. For example, the default setting is **Last, First**, which files a contact by the last name followed by the first name. However, changing this setting only applies to new contacts that you create. For contacts that already exist, if you want to change the way that their names are filed by, for example, changing from the default **Last, First** to **First, Last**, you'll have to either do it individually for each existing contact in the inspector, or, you'll have to write a macro to change the setting for all existing contacts in the Contacts folder. This topic shows a code sample that goes through all the Contact items in the default Contacts folder and uses the **[FileAs](../../../api/Outlook.ContactItem.FileAs.md)** property of each Contact item to specify the string to file the contact by; in this particular example, the string is changed to first name followed by a blank and then the last name. The code sample then saves the changes to the Contact item. diff --git a/outlook/Concepts/Attachments/modify-an-attachment-of-an-outlook-email-message.md b/outlook/Concepts/Attachments/modify-an-attachment-of-an-outlook-email-message.md index 1834f19175b..a1c9bdcc664 100644 --- a/outlook/Concepts/Attachments/modify-an-attachment-of-an-outlook-email-message.md +++ b/outlook/Concepts/Attachments/modify-an-attachment-of-an-outlook-email-message.md @@ -28,7 +28,7 @@ You should use the following code samples in the `ThisAddIn` class of an Outlook The following code shows how to programmatically modify an Outlook email attachment without changing the original file. To demonstrate this functionality, in Visual Studio, create a new managed Outlook add-in named `ModifyAttachmentAddIn`. Replace the code in ThisAddIn.cs or ThisAddIn.vb with the following code. -**Note** To access the attachment data, the mail item must be saved using the [MailItem.Save](https://github.com/OfficeDev/VBA-content/edit/master/VBA/Outlook-VBA/articles/7d7b5f22-4749-e908-41a7-12a4c730c695.md) method. +**Note** To access the attachment data, the mail item must be saved using the [MailItem.Save](https://github.com/OfficeDev/VBA-content/edit/main/VBA/Outlook-VBA/articles/7d7b5f22-4749-e908-41a7-12a4c730c695.md) method. ```cs using Outlook = Microsoft.Office.Interop.Outlook; diff --git a/outlook/Concepts/Configuring-Forms/specify-icons-to-be-displayed-for-a-form-region.md b/outlook/Concepts/Configuring-Forms/specify-icons-to-be-displayed-for-a-form-region.md index bcff0313426..9ea4a5f903a 100644 --- a/outlook/Concepts/Configuring-Forms/specify-icons-to-be-displayed-for-a-form-region.md +++ b/outlook/Concepts/Configuring-Forms/specify-icons-to-be-displayed-for-a-form-region.md @@ -23,7 +23,7 @@ By default, if you do not specify any custom icons, the icons assigned to the pa Depending on the type of item, there are different states of the item that you can consider distinguishing with separate icons. For example, in the explorer, a task item can use a custom icon to identify itself as recurrent, and a mail item can use a custom icon to identify itself as having been replied to. You do not have to specify a separate icon for each state that the type of item can be in; you can choose to specify a default icon that will be displayed in all states in the explorer, inspector, and ribbon that apply for that item type. -The following table shows the states of an item that you can consider to identify with custom icons in the explorer, inspector, or ribbon. All custom icons for a form region are specified under the **icons** element in the form region manifest XML file for that form region. Each state is mapped with an XML child element of the **icons** element. You will specify this form region manifest XML file when you register the form region in the Windows registry. For more information on registering a form region, see [Specifying Form Regions in the Windows Registry](../Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md). +The following table shows the states of an item that you can consider to identify with custom icons in the explorer, inspector, or ribbon. All custom icons for a form region are specified under the **icons** element in the form region manifest XML file for that form region. Each state is mapped with an XML child element of the **icons** element. You'll specify this form region manifest XML file when you register the form region in the Windows registry. For more information on registering a form region, see [Specifying Form Regions in the Windows Registry](../Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md). | **State of an Item**| **XML Child Element**| **Example**| diff --git a/outlook/Concepts/Creating-Form-Regions/add-a-form-region-to-an-existing-page-on-a-form.md b/outlook/Concepts/Creating-Form-Regions/add-a-form-region-to-an-existing-page-on-a-form.md index 096283dc8e6..b700c31ab48 100644 --- a/outlook/Concepts/Creating-Form-Regions/add-a-form-region-to-an-existing-page-on-a-form.md +++ b/outlook/Concepts/Creating-Form-Regions/add-a-form-region-to-an-existing-page-on-a-form.md @@ -18,7 +18,7 @@ This walkthrough shows how to add an adjoining form region to the **General** pa ## Design the form region -To create and design a form region, you will use the Forms Designer in much the same way as you customize a form page, by adding controls from the control toolbox to the form region and optionally binding controls to fields. You will create an adjoining form region that will append to the end of the **General** page of the contact form. This form region will contain six controls. You will insert the controls in the form region, create three user-defined fields, and bind the controls to the fields. When you are done with designing, you will save the form region to an .OFS file. Figure 1 shows the resultant **General** page of the Contact form. +To create and design a form region, you'll use the Forms Designer in much the same way as you customize a form page, by adding controls from the control toolbox to the form region and optionally binding controls to fields. You'll create an adjoining form region that will append to the end of the **General** page of the contact form. This form region will contain six controls. You'll insert the controls in the form region, create three user-defined fields, and bind the controls to the fields. When you are done with designing, you'll save the form region to an .OFS file. Figure 1 shows the resultant **General** page of the Contact form. **Figure 1. The customized Contact form at runtime - the General page showing an adjoining form region at the bottom.** @@ -37,7 +37,7 @@ To create and design a form region, you will use the Forms Designer in much the ![Screenshot of the Forms Designer dialog, showing the New Form Region option highlighted.](../../../images/olNewFormRegionMenuItem_ZA10107630.gif) -4. Next, you will create three custom fields: Frequent Flyer Number, Vegetarian, and Seat Preference. If the Field Chooser has not been automatically displayed, click **Field Chooser** to display it as in Figure 4. +4. Next, you'll create three custom fields: Frequent Flyer Number, Vegetarian, and Seat Preference. If the Field Chooser has not been automatically displayed, click **Field Chooser** to display it as in Figure 4. **Figure 4. Use the Field chooser to create custom fields.** @@ -61,14 +61,14 @@ To create and design a form region, you will use the Forms Designer in much the ![Screenshot showing New Field dialog box with custom field called Seat Preference.](../../../images/olNewFieldDialogSP_ZA10107634.gif) -8. In steps 9 through 12, you will insert six Outlook controls in the form region. +8. In steps 9 through 12, you'll insert six Outlook controls in the form region. > [!NOTE] > The control toolbox is initialized only with Microsoft Forms 2.0 controls. When you insert a Forms 2.0 control in a form region, if a themed Outlook counterpart control exists as an Outlook control, Outlook will automatically replace the Forms 2.0 control with the themed counterpart. > - > In this walkthrough, the six controls that you will be inserting include one check box control, one combo box control, three label controls, and one text box control. By default, the Forms 2.0 version of these controls exist in the Toolbox. If you insert these controls in a form region, Outlook will always display these controls in the themed look; you do not need to add the Outlook counterpart controls to the Toolbox. This is because after you insert the Forms 2.0 controls from the Toolbox in the form region, Outlook will replace them with their themed Outlook counterpart controls - the Microsoft Outlook Check Box Control, the Microsoft Outlook Combo Box Control, the Microsoft Outlook Label Control, and the Microsoft Outlook Text Box Control. + > In this walkthrough, the six controls that you'll be inserting include one check box control, one combo box control, three label controls, and one text box control. By default, the Forms 2.0 version of these controls exist in the Toolbox. If you insert these controls in a form region, Outlook will always display these controls in the themed look; you do not need to add the Outlook counterpart controls to the Toolbox. This is because after you insert the Forms 2.0 controls from the Toolbox in the form region, Outlook will replace them with their themed Outlook counterpart controls - the Microsoft Outlook Check Box Control, the Microsoft Outlook Combo Box Control, the Microsoft Outlook Label Control, and the Microsoft Outlook Text Box Control. > - > However, there are other Microsoft Outlook controls (for example, the Microsoft Outlook Recipient Control and the Microsoft Outlook Sender Photo Control) that do not exist in the Toolbox by default. To use these Outlook controls for the first time, you will have to add them to the Toolbox, by right-clicking the bottom of the Toolbox and clicking **Custom Controls**. + > However, there are other Microsoft Outlook controls (for example, the Microsoft Outlook Recipient Control and the Microsoft Outlook Sender Photo Control) that do not exist in the Toolbox by default. To use these Outlook controls for the first time, you'll have to add them to the Toolbox, by right-clicking the bottom of the Toolbox and clicking **Custom Controls**. Figure 8 shows the resultant layout of the form region we are going to create. Steps 9, 10, 11, and 12 involve inserting controls from the Toolbox, and binding user-defined fields to some of the controls. @@ -164,7 +164,7 @@ Use an XML editor such as Notepad to create a form region manifest XML file, Con ## Register the form region -To run the form region, you must register it in the Windows registry, specifying the message class and other necessary information required for Outlook to display the form region. You will register this form region to display contact items, under the current user key `HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact`. +To run the form region, you must register it in the Windows registry, specifying the message class and other necessary information required for Outlook to display the form region. You'll register this form region to display contact items, under the current user key `HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact`. 1. Close Outlook. 2. Add the following key to the registry if it does not already exist: `HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions`. @@ -177,6 +177,6 @@ To run the form region, you must register it in the Windows registry, specifying 1. Start Outlook. 2. Open a contact item.\ -You will see the form region **Contoso Airlines** at the bottom of the **General** page of the Contact form, as shown in Figure 1. +You'll see the form region **Contoso Airlines** at the bottom of the **General** page of the Contact form, as shown in Figure 1. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] diff --git a/outlook/Concepts/Creating-Form-Regions/specify-locale-specific-user-interface-for-a-form-region.md b/outlook/Concepts/Creating-Form-Regions/specify-locale-specific-user-interface-for-a-form-region.md index 2bb21cd55cc..7bf84ca960b 100644 --- a/outlook/Concepts/Creating-Form-Regions/specify-locale-specific-user-interface-for-a-form-region.md +++ b/outlook/Concepts/Creating-Form-Regions/specify-locale-specific-user-interface-for-a-form-region.md @@ -12,7 +12,7 @@ You can specify localized versions of certain pieces of user interface in a form To support localized user interface for the same locale, specify the locale and the localized user interface under the **stringOverride** element in the form region manifest XML file. In general, if there is one or more locales that share the same localization strings, you can specify their locales and localized user interface under the same **stringOverride** element. -Under the **stringOverride** element, you can specify the localization information in one of two ways: you can either specify it as values of child elements, or specify a localization file that contains the localization information. You will specify the **stringOverride** element in the form region manifest XML file that you will use when you register the form region in the Windows registry. For more information on registering a form region, see [Specifying Form Regions in the Windows Registry](specifying-form-regions-in-the-windows-registry.md). +Under the **stringOverride** element, you can specify the localization information in one of two ways: you can either specify it as values of child elements, or specify a localization file that contains the localization information. You'll specify the **stringOverride** element in the form region manifest XML file that you'll use when you register the form region in the Windows registry. For more information on registering a form region, see [Specifying Form Regions in the Windows Registry](specifying-form-regions-in-the-windows-registry.md). The following table shows the pieces of user interface in a form region that you can localize. If you choose to specify the localization information inline, you can use the corresponding XML child elements under the **stringOverride** element. @@ -24,7 +24,7 @@ The following table shows the pieces of user interface in a form region that you |Display name of a control in the form region| **control**| |Display name and subject prefix of an action defined for the form region| **action**| -If you choose to provide a localization file, you will specify it as the value of the **file** attribute of the **stringOverride** element. +If you choose to provide a localization file, you'll specify it as the value of the **file** attribute of the **stringOverride** element. Localization files follow an XML schema consisting of elements similar to the child elements of the **stringOverride** element in the form region XML schema. For more information on the localization XML schema, see the Microsoft Outlook 2010 XML Schema Reference in the [MSDN Library](https://msdn.microsoft.com/library). diff --git a/outlook/Concepts/Creating-Form-Regions/specify-the-location-of-a-form-region-in-a-custom-form.md b/outlook/Concepts/Creating-Form-Regions/specify-the-location-of-a-form-region-in-a-custom-form.md index d76fd3fa3a3..7a6845ba639 100644 --- a/outlook/Concepts/Creating-Form-Regions/specify-the-location-of-a-form-region-in-a-custom-form.md +++ b/outlook/Concepts/Creating-Form-Regions/specify-the-location-of-a-form-region-in-a-custom-form.md @@ -9,7 +9,7 @@ ms.localizationpriority: medium # Specify the Location of a Form Region in a Custom Form -A form region is a piece of custom user interface that you add to a form. You can designate the form region to be displayed in one of several ways in a custom form. To do so, you will be specifying the **formRegionType** and **displayAfter** elements of the form region XML schema in the corresponding form region manifest XML file. +A form region is a piece of custom user interface that you add to a form. You can designate the form region to be displayed in one of several ways in a custom form. To do so, you'll be specifying the **formRegionType** and **displayAfter** elements of the form region XML schema in the corresponding form region manifest XML file. ## On the Default Page @@ -40,20 +40,20 @@ You can use the resulting custom form to display items of the same message class The first form region will be added to the bottom of the default page of the original standard form, and will be appended by the other form regions in the order that you have specified in the corresponding **displayAfter** element. -For example, if you want to order three form regions, A, B, and C, that have the internal names **FormRegionA**, **FormRegionB**, and **FormRegionC** to be displayed in the order A, B, and C, you will specify the following in A's form region manifest XML file: +For example, if you want to order three form regions, A, B, and C, that have the internal names **FormRegionA**, **FormRegionB**, and **FormRegionC** to be displayed in the order A, B, and C, you'll specify the following in A's form region manifest XML file: ```vb adjoining ``` -You will specify the following in B's form region manifest XML file: +You'll specify the following in B's form region manifest XML file: ```vb adjoining FormRegionA ``` -You will specify the following in C's form region manifest XML file: +You'll specify the following in C's form region manifest XML file: ```vb adjoining @@ -78,7 +78,7 @@ For example, you have created a form region that has the internal name CustomPag replace ``` -When you register this form region in the Windows registry, you must not specify the message class of the original standard form, **IPM.Note**, but specify a derived message class, such as **IPM.Note.CustomPage**. For this example, you will register the form region under the current user key, **HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions**, by creating a key **IPM.Note.CustomPage**. You will then add a value of the type **REG_SZ**, specifying the internal name, **CustomPage**, of the form region as the name of the key, and the full local file path name to the form region manifest XML file, **c:\Form Regions\CustomPage.xml**, as the data of the key. +When you register this form region in the Windows registry, you must not specify the message class of the original standard form, **IPM.Note**, but specify a derived message class, such as **IPM.Note.CustomPage**. For this example, you'll register the form region under the current user key, **HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions**, by creating a key **IPM.Note.CustomPage**. You'll then add a value of the type **REG_SZ**, specifying the internal name, **CustomPage**, of the form region as the name of the key, and the full local file path name to the form region manifest XML file, **c:\Form Regions\CustomPage.xml**, as the data of the key. ### To "replace" the entire standard form by a form region @@ -96,7 +96,7 @@ For example, you have created a form region that has the internal name CustomMes replaceall ``` -When you register this form region in the Windows registry, you will specify a derived message class, such as **IPM.Note.CustomMessage**. For this example, you will register the form region under the current user key, **HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions**, by creating a key **IPM.Note.CustomMessage**. You will then add a value of the type **REG_SZ**, specifying the internal name, **CustomMessage**, of the form region as the name of the key, and the full local file path name to the form region manifest XML file, **c:\Form Regions\CustomMessage.xml**, as the data of the key. +When you register this form region in the Windows registry, you'll specify a derived message class, such as **IPM.Note.CustomMessage**. For this example, you'll register the form region under the current user key, **HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions**, by creating a key **IPM.Note.CustomMessage**. You'll then add a value of the type **REG_SZ**, specifying the internal name, **CustomMessage**, of the form region as the name of the key, and the full local file path name to the form region manifest XML file, **c:\Form Regions\CustomMessage.xml**, as the data of the key. ## On Pages Other than the Default Page @@ -128,20 +128,20 @@ You can use the resulting custom form to display items of the same message class The first form region will be added as a separate page of the original standard form, and will be appended by the other form regions in the order that you have specified in the corresponding **displayAfter** element. -For example, if you want to order three separate form regions, A, B, and C, that have the internal names **FormRegionA**, **FormRegionB**, and **FormRegionC** to be displayed as separate pages in the order A, B, and C, you will specify the following in A's form region manifest XML file: +For example, if you want to order three separate form regions, A, B, and C, that have the internal names **FormRegionA**, **FormRegionB**, and **FormRegionC** to be displayed as separate pages in the order A, B, and C, you'll specify the following in A's form region manifest XML file: ```vb separate ``` -You will specify the following in B's form region manifest XML file: +You'll specify the following in B's form region manifest XML file: ```vb separate FormRegionA ``` -You will specify the following in C's form region manifest XML file: +You'll specify the following in C's form region manifest XML file: ```vb separate diff --git a/outlook/Concepts/Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md b/outlook/Concepts/Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md index 5a1a3934772..8a561e331bc 100644 --- a/outlook/Concepts/Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md +++ b/outlook/Concepts/Creating-Form-Regions/specifying-form-regions-in-the-windows-registry.md @@ -47,7 +47,7 @@ Outlook allows you to customize the standard form for each of the Outlook messag **Note** You cannot specify form regions for the root Outlook message class, **IPM**. -You can add separate form regions as extra pages to a standard form, but you cannot replace any existing pages on the standard form and keep the form for the same Outlook message class. If you need to replace the default page or all pages of a standard form, you will have to derive a new message class for that form, specify a replacement form region to replace the default page or a replace-all form region to replace the entire form, and register that form region for the derived message class. +You can add separate form regions as extra pages to a standard form, but you cannot replace any existing pages on the standard form and keep the form for the same Outlook message class. If you need to replace the default page or all pages of a standard form, you'll have to derive a new message class for that form, specify a replacement form region to replace the default page or a replace-all form region to replace the entire form, and register that form region for the derived message class. For example, you can create a replacement form region that replaces the **General** page of the Contact form, and register that form region for a message class derived from **IPM.Contact**, such as **IPM.Contact.MyContact**. You cannot register the form region for the **IPM.Contact** message class. diff --git a/outlook/Concepts/Forms/controls-in-a-custom-form.md b/outlook/Concepts/Forms/controls-in-a-custom-form.md index c9cd0d46fe5..e618a42edad 100644 --- a/outlook/Concepts/Forms/controls-in-a-custom-form.md +++ b/outlook/Concepts/Forms/controls-in-a-custom-form.md @@ -85,7 +85,7 @@ Some of these controls are designed to leverage features in Outlook, for example ## Run Time -On custom form pages, Forms 2.0 controls are always displayed with a classic look without Windows theming. In a form region, any Forms 2.0 control that has a themed Outlook counterpart control assumes an appearance that is themed to Windows and in fact can be cast with the type of the counterpart. For example, if the user has dropped a Forms 2.0 TextBox control in a form region, programmatically, Outlook will replace this instance of the control by an instance of the Outlook counterpart control, and you will be able to apply a cast of **Microsoft.Office.Interop.Outlook.OlkTextBox** to this control and access it as an Outlook TextBox control. You should not access it as a **Microsoft.VBE.Interop.Forms.TextBox** control. For more information on casting controls in an add-in, see [Extending a Form Region with an Add-in](../Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md). The following table lists each Forms 2.0 control and the corresponding Outlook control (if one exists). +On custom form pages, Forms 2.0 controls are always displayed with a classic look without Windows theming. In a form region, any Forms 2.0 control that has a themed Outlook counterpart control assumes an appearance that is themed to Windows and in fact can be cast with the type of the counterpart. For example, if the user has dropped a Forms 2.0 TextBox control in a form region, programmatically, Outlook will replace this instance of the control by an instance of the Outlook counterpart control, and you'll be able to apply a cast of **Microsoft.Office.Interop.Outlook.OlkTextBox** to this control and access it as an Outlook TextBox control. You should not access it as a **Microsoft.VBE.Interop.Forms.TextBox** control. For more information on casting controls in an add-in, see [Extending a Form Region with an Add-in](../Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md). The following table lists each Forms 2.0 control and the corresponding Outlook control (if one exists). diff --git a/outlook/Concepts/Forms/customizing-form-pages-and-form-regions.md b/outlook/Concepts/Forms/customizing-form-pages-and-form-regions.md index fb472561800..a14b79220a5 100644 --- a/outlook/Concepts/Forms/customizing-form-pages-and-form-regions.md +++ b/outlook/Concepts/Forms/customizing-form-pages-and-form-regions.md @@ -23,7 +23,7 @@ This topic compares customizing forms on form pages with customizing forms on fo | **Customization venue**|Adding fields and controls in the Outlook forms designer. Optionally programming controls in VBScript using the Script Editor. |Adding fields and controls in the Outlook forms designer. Optionally programming controls using an add-in.| | **Controls**|When running on versions of Outlook prior to Office Outlook 2007, form pages support Microsoft Forms 2.0 controls and some third-party ActiveX controls, but not Outlook controls. When running on Office Outlook 2007 or later, form pages support Forms 2.0 controls and Outlook controls. Form pages always display Forms 2.0 controls with a classic look. For more information, see [Controls in a Custom Form](controls-in-a-custom-form.md).|Form regions support Microsoft Forms 2.0 controls, some third-party ActiveX controls, and Outlook controls. By default, Outlook replaces some Forms 2.0 controls that have themed Outlook counterpart controls by the corresponding themed controls, and therefore always displays them with a themed look. For more information, see [Controls in a Custom Form](controls-in-a-custom-form.md).| | **Scope of customization in design time**|You can only customize the following pages:
  • The Message page of the message form (IPM.Note)

  • The Message page of the post form (IPM.Post)

  • The General page of the contact form (IPM.Contact)

  • Up to 5 form pages (P2 to P6) for each standard Outlook form

You can hide supplementary pages in a standard form (for example, the **Details** page of the contact form), but you cannot customize them.|You can customize the following pages:
  • The default page of any standard form.

  • Up to 30 separate form regions as extra pages.

You can also use a standard form as a template, replace the default page by a replacement form region or replace the entire standard form by a replace-all form region, and register that form region for a message class derived from the original message class.| -| **Adding user interface to the default page**|You can only add user interface to the default page of the message form, post form, and contact form, and pages P2 through P6 of any standard form. To add user interface to any other default page, for example, the default page of an appointment form, you will need to uncheck **Display This Page** to hide the page, re-create the default page on a supplementary page like P2, and add custom user interface to that page.|You can add user interface as adjoining form regions to the default page of any standard form.| +| **Adding user interface to the default page**|You can only add user interface to the default page of the message form, post form, and contact form, and pages P2 through P6 of any standard form. To add user interface to any other default page, for example, the default page of an appointment form, you'll need to uncheck **Display This Page** to hide the page, re-create the default page on a supplementary page like P2, and add custom user interface to that page.|You can add user interface as adjoining form regions to the default page of any standard form.| | **Adding extra pages**|Up to 5 form pages (P2 to P6) for each form. Check **Display This Page** to show the page in a form.|Up to 30 separate form regions and 50 adjoining form regions for each form.| | **Removing default user interface**|You can remove default user interface on only the following pages:
  • The Message page of the message form

  • The Message page of the post form

  • The General page of the contact form

Alternatively, you can hide any default page or supplementary page in a standard form.|You can remove or hide default user interface the same way as under "Form Pages". Alternatively, you can create a replacement form region to "replace" the default page of a form, or create a replace-all form region to "replace" all pages of a form, without having to remove the user interface on the default page. Note that replacement and replace-all form regions are only supported for a custom message class derived from an Outlook message class.| | **Customizing entire page**|You can hide any page in a standard form, and add custom user interface to pages P2 through P6.|You can hide any page in a standard form, use a separate form region to add an extra page to the form, use a replacement form region to replace the default page of the form, or use a replace-all form region to replace the entire form. Note that any replacement is only supported for a custom message class derived from an Outlook message class.| diff --git a/outlook/Concepts/Getting-Started/automating-outlook-from-a-visual-basic-application.md b/outlook/Concepts/Getting-Started/automating-outlook-from-a-visual-basic-application.md index 1f9d08e57a4..b5d78490248 100644 --- a/outlook/Concepts/Getting-Started/automating-outlook-from-a-visual-basic-application.md +++ b/outlook/Concepts/Getting-Started/automating-outlook-from-a-visual-basic-application.md @@ -30,7 +30,7 @@ Dim objOL as Outlook.Application Set objOL = New Outlook.Application ``` -Most programming solutions interact with the data stored in Outlook. Outlook stores all of its information as items in folders. Folders are contained in one or more stores. After you set an object variable to the Outlook **Application** object, you will commonly set a [NameSpace](../../../api/Outlook.NameSpace.md) object to refer to MAPI, as shown in the following example. +Most programming solutions interact with the data stored in Outlook. Outlook stores all of its information as items in folders. Folders are contained in one or more stores. After you set an object variable to the Outlook **Application** object, you'll commonly set a [NameSpace](../../../api/Outlook.NameSpace.md) object to refer to MAPI, as shown in the following example. ```vb Set objOL = New Outlook.Application diff --git a/outlook/Concepts/Outlook-Forms/create-a-form-region.md b/outlook/Concepts/Outlook-Forms/create-a-form-region.md index b8c69275cb9..8c174347464 100644 --- a/outlook/Concepts/Outlook-Forms/create-a-form-region.md +++ b/outlook/Concepts/Outlook-Forms/create-a-form-region.md @@ -31,9 +31,9 @@ The following procedure details the steps to create a form region using the Form When you customize a form, you always start with a standard form as a template. When you choose the standard form, you should consider the following: - - The actions associated with the form, for example, whether you will be sending the form to other people, in which case you should choose the Message form. + - The actions associated with the form, for example, whether you'll be sending the form to other people, in which case you should choose the Message form. - - The kinds of fields you will need in the form, for example, whether they are mostly contact-specific fields. + - The kinds of fields you'll need in the form, for example, whether they are mostly contact-specific fields. 3. Plan the scope of your customization. Will it suffice if you add extra controls to the bottom of the default page of the standard form? Will you need an extra custom page? Or, will you want to modify the user interface so substantially that it would be easier to create a new form? Note that you can replace pages on a form only if you specify that form for a derived message class. @@ -76,6 +76,6 @@ The following procedure details the steps to create a form region using the Form Register form regions under either the **HKEY_CURRENT_USER** or the **HKEY_LOCAL_MACHINE** hive in the Windows registry. For example, additive form regions for the **IPM.Contact** message class for the current user should be registered under the same key, **HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact**. Note that the form region will be displayed for the current user in all forms applied to **IPM.Contact** and any message class derived from **IPM.Contact**. If you want a form region to be used only for **IPM.Contact** and do not wish derived message classes to use that form region, you can specify this using the \ tag in the form region manifest XML file. -10. Start Outlook. When you open an item of the message class that you have specified for the form region in step 9, you will see the form region in the inspector. +10. Start Outlook. When you open an item of the message class that you have specified for the form region in step 9, you'll see the form region in the inspector. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] diff --git a/outlook/Concepts/Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md b/outlook/Concepts/Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md index 06ad1fb7f16..d27b36051b8 100644 --- a/outlook/Concepts/Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md +++ b/outlook/Concepts/Specifying-Form-Behavior/extending-a-form-region-with-an-add-in.md @@ -102,7 +102,7 @@ using MSForms = Microsoft.Vbe.Interop.Forms; You can access controls through the **FormRegion** object obtained from **BeforeFormRegionShow**. The ** [FormRegion.Form](../../../api/Outlook.FormRegion.Form.md)** property returns an object representing a form; you can cast this object to the **MSForms.UserForm** class (exposed in the Microsoft Forms 2.0 object library) to access the form canvas for the form region. -Each instance of the **UserForm** object has a **Controls** collection that can be used to access the individual controls on the **UserForm** by control name. Many of the Microsoft Forms 2.0 controls have themed counterparts that are Outlook controls. In a form region, Outlook replaces those Forms 2.0 controls that have Outlook counterpart controls by the corresponding themed counterparts. Once you have obtained a reference to a themed control from the **Controls** collection, you can cast it to the proper type in the Outlook type library. You will then be able to access all the properties, methods, and events exposed for these controls in the Outlook type library. Unlike customizing forms with VBScript, you will be able to listen to all control events, and not only the **Click** event. For more information on controls, see [Controls in a Custom Form](../Forms/controls-in-a-custom-form.md). +Each instance of the **UserForm** object has a **Controls** collection that can be used to access the individual controls on the **UserForm** by control name. Many of the Microsoft Forms 2.0 controls have themed counterparts that are Outlook controls. In a form region, Outlook replaces those Forms 2.0 controls that have Outlook counterpart controls by the corresponding themed counterparts. Once you have obtained a reference to a themed control from the **Controls** collection, you can cast it to the proper type in the Outlook type library. You'll then be able to access all the properties, methods, and events exposed for these controls in the Outlook type library. Unlike customizing forms with VBScript, you'll be able to listen to all control events, and not only the **Click** event. For more information on controls, see [Controls in a Custom Form](../Forms/controls-in-a-custom-form.md). The following code samples show how the **BeforeFormRegionShow** method uses the input parameterFormRegion from Outlook to obtain a form object, then casts it to an **MSForms.UserForm** class and accesses the collection of controls in the **UserForm** object. The form canvas represented by this **UserForm** object has two Outlook controls: a text box named `OlkTextBox1` and a check box named `OlkCheckBox1`. It casts them to the proper Outlook control types and sets default values for these controls as follows. diff --git a/outlook/How-to/Rules/managing-rules-in-the-outlook-object-model.md b/outlook/How-to/Rules/managing-rules-in-the-outlook-object-model.md index d0f3017c75f..29e4cda0d3b 100644 --- a/outlook/How-to/Rules/managing-rules-in-the-outlook-object-model.md +++ b/outlook/How-to/Rules/managing-rules-in-the-outlook-object-model.md @@ -25,7 +25,7 @@ You can retrieve each rule in a **Rules** collection by indexing the collection After you have defined a rule, you should also enable it by setting the **[Rule.Enabled](../../../api/Outlook.Rule.Enabled.md)** property to **True**, and then save the rule by using **[Rules.Save](../../../api/Outlook.Rules.Save.md)** so that the rule and its enabled state will persist beyond the current session. A rule is only enabled after it has been saved successfully. Note that **Rules.Save** can be an expensive operation in terms of performance on slow connections to Exchange server; you can optionally display a progress dialog box for the user to cancel the operation. A save fails when the user edits the same rule in the Rules and Alerts Wizard, or the user cancels the progress dialog box. In such cases, **Rules.Save** will raise an error, and the user will resolve the conflict by responding to the error dialog brought up by the Rules and Alerts Wizard. -When you use **Rules.Save** to save one or more rules that have been created in Office Outlook 2007, you will be prompted with a dialog to remind you that you will not be able to edit that rule using earlier versions of Outlook. You will have to confirm the dialog before the save operation can proceed. +When you use **Rules.Save** to save one or more rules that have been created in Office Outlook 2007, you'll be prompted with a dialog to remind you that you'll not be able to edit that rule using earlier versions of Outlook. You'll have to confirm the dialog before the save operation can proceed. Use **[Rule.Execute](../../../api/Outlook.Rule.Execute.md)** to run a rule. Note that while you must enable and save a rule to have it enabled beyond the current session, you can run the rule regardless of its enabled state. When you execute a rule, you can optionally specify the folder to apply to rule to. The default is to execute the rule against all messages in the Inbox, but not subfolders of the Inbox. diff --git a/outlook/How-to/Search-and-Filter/filtering-items.md b/outlook/How-to/Search-and-Filter/filtering-items.md index 6b0daf834c1..91d34cb11ec 100644 --- a/outlook/How-to/Search-and-Filter/filtering-items.md +++ b/outlook/How-to/Search-and-Filter/filtering-items.md @@ -13,7 +13,7 @@ This topic describes the general rules for specifying properties in filters that A filter is a condition or a set of conditions that you can apply to a set of items to obtain a subset of items that meets the specified conditions. Outlook supports filters by using the Microsoft Jet query language syntax or the DAV Searching and Locating (DASL) syntax. Note that the Jet query language syntax has the same syntax as that supported by Microsoft Jet Expression Service, hence the name Jet query language. -As an example, you can filter contact items in your Contacts folder to obtain a list of contacts residing in Canada. In this case, you will be filtering on the **[HomeAddressCountry](../../../api/Outlook.ContactItem.HomeAddressCountry.md)** property. The filter, expressed as a Jet filter, will be `"[HomeAddressCountry] = 'Canada'"`. +As an example, you can filter contact items in your Contacts folder to obtain a list of contacts residing in Canada. In this case, you'll be filtering on the **[HomeAddressCountry](../../../api/Outlook.ContactItem.HomeAddressCountry.md)** property. The filter, expressed as a Jet filter, will be `"[HomeAddressCountry] = 'Canada'"`. Outlook provides filtering through the following entry points: @@ -22,10 +22,10 @@ Outlook provides filtering through the following entry points: |:-----|:-----|:-----| |**[Application.AdvancedSearch](../../../api/Outlook.Application.AdvancedSearch.md)**|No|Yes| |**[Folder.GetTable](../../../api/Outlook.Folder.GetTable.md)**|Yes|Yes| -|**[Items.Find](../../../api/Outlook.Items.Find.md)**|Yes|Yes. Note that if you use the query keywords **ci_phrasematch** or **ci_startswith** in the filter, you will get an error.| +|**[Items.Find](../../../api/Outlook.Items.Find.md)**|Yes|Yes. Note that if you use the query keywords **ci_phrasematch** or **ci_startswith** in the filter, you'll get an error.| |**[Items.Restrict](../../../api/Outlook.Items.Restrict.md)**|Yes|Yes| |**[Search.GetTable](../../../api/Outlook.Search.GetTable.md)**|No|Yes| -|**[Table.FindRow](../../../api/Outlook.Table.FindRow.md)**|Yes|Yes. Note that if you use the query keywords **ci_phrasematch** or **ci_startswith** in the filter, you will get an error.| +|**[Table.FindRow](../../../api/Outlook.Table.FindRow.md)**|Yes|Yes. Note that if you use the query keywords **ci_phrasematch** or **ci_startswith** in the filter, you'll get an error.| |**[Table.Restrict](../../../api/Outlook.Table.Restrict.md)**|Yes|Yes| |**[View.Filter](../../../api/Outlook.View.Filter.md)**|No|Yes| diff --git a/outlook/How-to/Search-and-Filter/unsupported-properties-in-a-table-object-or-table-filter.md b/outlook/How-to/Search-and-Filter/unsupported-properties-in-a-table-object-or-table-filter.md index 2de970f21d1..4b68128a7bf 100644 --- a/outlook/How-to/Search-and-Filter/unsupported-properties-in-a-table-object-or-table-filter.md +++ b/outlook/How-to/Search-and-Filter/unsupported-properties-in-a-table-object-or-table-filter.md @@ -32,7 +32,7 @@ This topic lists the properties that you cannot add to a **[Table](../../../api/ ## Unsupported Computed Properties -If you attempt to add one of the computed properties listed below using **Columns.Add**, referencing the property either by the explicit property name or by namespace, you will get the error, **IDS_ERR_BLOCKED_PROPERTY**. To determine the value of these properties, obtain the item object using its Entry ID and then use the item object to determine the property value (as in `object.property`): +If you attempt to add one of the computed properties listed below using **Columns.Add**, referencing the property either by the explicit property name or by namespace, you'll get the error, **IDS_ERR_BLOCKED_PROPERTY**. To determine the value of these properties, obtain the item object using its Entry ID and then use the item object to determine the property value (as in `object.property`): - **AutoResolvedWinner** @@ -85,7 +85,7 @@ If you attempt to add one of the computed properties listed below using **Column -If you attempt to use one of the computed properties listed below in a Jet filter (referencing the property by its explicit property name) for **Table.Restrict**, you will get the error, **IDS_ERR_ES_INVALIDRESTRICTION**: +If you attempt to use one of the computed properties listed below in a Jet filter (referencing the property by its explicit property name) for **Table.Restrict**, you'll get the error, **IDS_ERR_ES_INVALIDRESTRICTION**: - **AutoResolvedWinner** diff --git a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-the-object-environment.md b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-the-object-environment.md index c4b94cad542..2d7490e1855 100644 --- a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-the-object-environment.md +++ b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-the-object-environment.md @@ -50,6 +50,6 @@ The following table shows the major objects in the Outlook object model. | **[ExchangeDistributionList](../../../api/Outlook.ExchangeDistributionList.md)**|Provides detailed information about an **AddressEntry** that represents an Exchange distribution list.| | | **[Recipient](../../../api/Outlook.Recipient.md)**|Represents a user or resource in Outlook, generally a mail message addressee.| | | **[Exception](../../../api/Outlook.Exception.md)**|The **Exception** object holds information about one instance of an **[AppointmentItem](../../../api/Outlook.AppointmentItem.md)** object which is an exception to a recurring series. Unlike most of the other Outlook objects, the **Exception** object is a read-only object.| | -|Control|There are the Microsoft Forms 2.0 controls that exist in the control toolbox by default, and the Outlook controls that are installed on your computer by default and that you will add to the control toolbox before using them for the first time in a form.| | +|Control|There are the Microsoft Forms 2.0 controls that exist in the control toolbox by default, and the Outlook controls that are installed on your computer by default and that you'll add to the control toolbox before using them for the first time in a form.| | [!include[Support and feedback](~/includes/feedback-boilerplate.md)] \ No newline at end of file diff --git a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-using-vbscript-in-outlook.md b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-using-vbscript-in-outlook.md index 2ace72b1588..39a488458d3 100644 --- a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-using-vbscript-in-outlook.md +++ b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/about-using-vbscript-in-outlook.md @@ -18,6 +18,6 @@ You add VBScript code to an Outlook form to respond to **Click** events that are With VBScript, you have full access to the Outlook object model, except for two areas: VBScript code cannot respond to events other than item and form events, and you cannot use named constants defined in the Outlook object type library. -You can also use Visual Basic for Applications in Outlook to respond to Outlook events and to create macros that automate procedures. Unlike VBScript code, however, Visual Basic for Applications code cannot be contained in a form and so cannot accompany an item that is sent to other users. Note that VBScript is only applicable to extending a form with a form page; if you are extending a form with a form region, you will not be able to use VBScript and will have to use an add-in. +You can also use Visual Basic for Applications in Outlook to respond to Outlook events and to create macros that automate procedures. Unlike VBScript code, however, Visual Basic for Applications code cannot be contained in a form and so cannot accompany an item that is sent to other users. Note that VBScript is only applicable to extending a form with a form page; if you are extending a form with a form region, you'll not be able to use VBScript and will have to use an add-in. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] diff --git a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/using-visual-basic-with-outlook.md b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/using-visual-basic-with-outlook.md index acdcb109f1f..85d71d2e3c2 100644 --- a/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/using-visual-basic-with-outlook.md +++ b/outlook/How-to/Using-Visual-Basic-to-Customize-Outlook-Forms/using-visual-basic-with-outlook.md @@ -22,7 +22,7 @@ If you want to create a separate application that accesses data stored by Outloo You use Visual Basic for Applications in one of two ways: You can use Visual Basic for Applications in other applications (such as Microsoft Excel or Microsoft Word) to automate Outlook, or you can use Visual Basic for Applications within Outlook to control Outlook. If you expect your users to be using another application most of the time, and you want to give them the ability to send a message using Outlook or to access information stored by Outlook, write Visual Basic for Applications programs in that application that control Outlook through the Outlook object model. If, on the other hand, you want to write Visual Basic code that customizes how Outlook works (like a macro), use Visual Basic for Applications within Outlook. -While you use an add-in to extend form regions in a custom form, you can extend the functionality of form pages in custom forms by using VBScript. VBScript programs are stored within a form. Because the program code is contained within the form, it can be sent with an item to another user. Other than the consideration of whether to customize a form with a form page or a form region, another important consideration in choosing which kind of the Visual Basic programming language you will use is the type of events you want your program to respond to. +While you use an add-in to extend form regions in a custom form, you can extend the functionality of form pages in custom forms by using VBScript. VBScript programs are stored within a form. Because the program code is contained within the form, it can be sent with an item to another user. Other than the consideration of whether to customize a form with a form page or a form region, another important consideration in choosing which kind of the Visual Basic programming language you'll use is the type of events you want your program to respond to. Because VBScript code is associated with a particular item, code that responds to events in specific items (such as when a particular item is opened or a value in a field is changed) is easiest to write using VBScript. If, on the other hand, you want your program to respond to events that occur in the application, in Windows Explorer, in folders, or in all items, then you should write your program using Visual Basic or Visual Basic for Applications. diff --git a/powerpoint/Concepts/control-and-dialog-box-events-powerpoint.md b/powerpoint/Concepts/control-and-dialog-box-events-powerpoint.md index 6d9232c300d..3a584792f9b 100644 --- a/powerpoint/Concepts/control-and-dialog-box-events-powerpoint.md +++ b/powerpoint/Concepts/control-and-dialog-box-events-powerpoint.md @@ -20,7 +20,7 @@ To write a control or form event procedure, open a module by double-clicking the Event procedures include the name of the control. For example, the name of the **Click** event procedure for a command button named Command1 is Command1_Click. If you add code to an event procedure and then change the name of the control, your code remains in procedures with the previous name. -For example, assume you add code to the **Click** event for Command1 and then rename the control to Command2. When you double-click Command2, you will not see any code in the **Click** event procedure. You will need to move code from Command1_Click to Command2_Click. +For example, assume you add code to the **Click** event for Command1 and then rename the control to Command2. When you double-click Command2, you'll not see any code in the **Click** event procedure. You'll need to move code from Command1_Click to Command2_Click. To simplify development, it is a good practice to name your controls before writing code. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] \ No newline at end of file diff --git a/powerpoint/How-to/work-with-shapes-drawing-objects.md b/powerpoint/How-to/work-with-shapes-drawing-objects.md index 8cfb7a0fe25..be966bca432 100644 --- a/powerpoint/How-to/work-with-shapes-drawing-objects.md +++ b/powerpoint/How-to/work-with-shapes-drawing-objects.md @@ -66,7 +66,7 @@ The following are general guidelines for how properties and methods behave when - The value of some properties can be returned or set only if there is exactly one shape in the collection. If there is more than one shape in the collection, a run-time error occurs. This is generally the case for returning or setting properties when the equivalent action in the user interface is possible only with a single shape (actions such as editing text in a shape or editing the points of a freeform). -The preceding guidelines also apply when you are setting properties of shapes that are grouped under secondary objects of the **ShapeRange** collection, such as the **FillFormat** object. If the secondary object represents operations that can be performed on multiple selected objects in the user interface, you will be able to return the object from a **ShapeRange** collection and set its properties. For example, you can use the **Fill** property to return the **FillFormat** object that represents the fills of all the shapes in the **ShapeRange** collection. Setting the properties of this **FillFormat** object will set the same properties for all the individual shapes in the **ShapeRange** collection. +The preceding guidelines also apply when you are setting properties of shapes that are grouped under secondary objects of the **ShapeRange** collection, such as the **FillFormat** object. If the secondary object represents operations that can be performed on multiple selected objects in the user interface, you'll be able to return the object from a **ShapeRange** collection and set its properties. For example, you can use the **Fill** property to return the **FillFormat** object that represents the fills of all the shapes in the **ShapeRange** collection. Setting the properties of this **FillFormat** object will set the same properties for all the individual shapes in the **ShapeRange** collection. ## Looping through a Shapes or ShapeRange collection diff --git a/word/Concepts/Customizing-Word/control-and-dialog-box-events-word.md b/word/Concepts/Customizing-Word/control-and-dialog-box-events-word.md index c0f0d3baf5f..aeb472f4a8a 100644 --- a/word/Concepts/Customizing-Word/control-and-dialog-box-events-word.md +++ b/word/Concepts/Customizing-Word/control-and-dialog-box-events-word.md @@ -22,7 +22,7 @@ Event procedures include the name of the control. For example, the name of the * If you add code to an event procedure and then change the name of the control, your code remains in procedures with the previous name. For example, assume you add code to the **Click** event for Command1 and then rename the control to Command2. -When you double-click Command2, you will not see any code in the **Click** event procedure. You will need to move code from Command1_Click to Command2_Click. +When you double-click Command2, you'll not see any code in the **Click** event procedure. You'll need to move code from Command1_Click to Command2_Click. To simplify development, it is a good practice to name your controls before writing code. [!include[Support and feedback](~/includes/feedback-boilerplate.md)] \ No newline at end of file diff --git a/word/Concepts/Objects-Properties-Methods/connect-an-item-in-the-data-store-to-a-sql-server-database.md b/word/Concepts/Objects-Properties-Methods/connect-an-item-in-the-data-store-to-a-sql-server-database.md index 674b5b4af2a..e671d0b8ed7 100644 --- a/word/Concepts/Objects-Properties-Methods/connect-an-item-in-the-data-store-to-a-sql-server-database.md +++ b/word/Concepts/Objects-Properties-Methods/connect-an-item-in-the-data-store-to-a-sql-server-database.md @@ -11,7 +11,7 @@ ms.localizationpriority: medium Word enables you to generate documents by creating data-driven solutions. You can create a template document that includes a custom XML part and use content controls to bind to custom XML data by using XML mapping. Although the term _template_ is used in this context, this document is not a Word template, but shares some characteristics of a Word template document. Then you can create a managed web-based application to build a new document based on the template document. The managed web-based application opens the template document, retrieves data from a Microsoft SQL Server database to build a new custom XML part, replaces the template document's custom XML part with the new part, and saves the template document as a new Word document. -This walkthrough explains how to build a new template document and how to create a server-side application that generates documents that display data that is stored in a Microsoft SQL Server database. To build this application, you will complete the following two tasks: +This walkthrough explains how to build a new template document and how to create a server-side application that generates documents that display data that is stored in a Microsoft SQL Server database. To build this application, you'll complete the following two tasks: 1. Create a Word template document. diff --git a/word/Concepts/Objects-Properties-Methods/create-custom-bibliography-styles.md b/word/Concepts/Objects-Properties-Methods/create-custom-bibliography-styles.md index 129d721c085..096ff962266 100644 --- a/word/Concepts/Objects-Properties-Methods/create-custom-bibliography-styles.md +++ b/word/Concepts/Objects-Properties-Methods/create-custom-bibliography-styles.md @@ -269,7 +269,7 @@ APA website source with no date entered: Kwan, Y. (n.d.). Retrieved from https:/ As you can see, what is displayed is dependent upon on the data entered. -The output of virtually every style needs to change depending on whether you have a "Corporate Author" or a "Normal Author." You will see how to use one of the most common rules for implementing such logic into your style, allowing you to display a corporate author if the corporate author is specified, and a normal author if the corporate author is not specified. +The output of virtually every style needs to change depending on whether you have a "Corporate Author" or a "Normal Author." You'll see how to use one of the most common rules for implementing such logic into your style, allowing you to display a corporate author if the corporate author is specified, and a normal author if the corporate author is not specified. ### Solution overview diff --git a/word/Concepts/Working-with-Word/working-with-bibliographies.md b/word/Concepts/Working-with-Word/working-with-bibliographies.md index 5cb39e72cde..a3214d57d1b 100644 --- a/word/Concepts/Working-with-Word/working-with-bibliographies.md +++ b/word/Concepts/Working-with-Word/working-with-bibliographies.md @@ -1,15 +1,13 @@ --- -title: Working with Bibliographies +title: Work with Bibliographies ms.prod: word ms.assetid: ce05a0bd-bacd-16e1-0ab0-793a47a15da5 -ms.date: 06/08/2019 +ms.date: 01/22/2022 ms.localizationpriority: medium --- -# Working with Bibliographies - -## Introduction +# Work with Bibliographies The Word object model includes several objects designed for automating the creation of bibliographies. The following table lists the main objects of the Word Bibliography feature. You can use these objects, and additional properties and methods in the Word object model, to add sources to the source lists, cite sources in a document, and manage sources. The objects in the Word model for that you use for managing bibliography sources are shown in the following table. @@ -19,17 +17,16 @@ The Word object model includes several objects designed for automating the creat | **[Sources](../../../api/Word.Sources.md)**|A collection of **Source** objects.| | **[Bibliography](../../../api/Word.Bibliography.md)**|The list of sources cited in the document (the current list) or the list of sources available in the application (in the master list).| -## Understanding the source XML +## Understand the source XML Sources are added to the source lists programmatically by using XML strings. Depending on the type of source you want to add, the required XML structure changes. To determine the XML structure for a source type, you can add the same source type manually, and then view the XML returned. The following steps describe how to do this. - 1. On the **References** ribbon, click **Manage Sources**. - + 2. In the **Source Manager** dialog box, click **New**. - + 3. In the **Create Source** dialog box, select the type of source to create. For this example, select **Book**. - + 4. Fill out the source fields, as shown in the following table: |**Field**|**Value**| @@ -41,23 +38,21 @@ Sources are added to the source lists programmatically by using XML strings. Dep |Publisher|Adventure Works Press| |Tag name|And01| -5. You can view and add information to additional fields by checking **Show All Bibliography Fields**. - +5. View and add information to additional fields by checking **Show All Bibliography Fields**. + 6. Click **OK**. - + 7. Close the **Source Manager** dialog box. - + 8. Start the Visual Basic Editor (Alt+F11). - + 9. Display the **Immediate Window** (Ctrl+G). - + 10. Paste and run the following code. `Sub GetBibliographyXML() Dim strXml As String Dim objSource As Source Set objSource = Application.Bibliography.Sources( _ Application.Bibliography.Sources.Count) Debug.Print objSource.XML End Sub` After following the previous steps, the Immediate Window contains the following XML code. - - ```vb And01 @@ -88,8 +83,6 @@ The LCID specifies the language for the source. (See MSDN for valid language ide After removing optional elements, you may have a structure similar to the following XML structure. (You can determine which elements are required because they do not have a corresponding editable field in the **Create Source** dialog box. Omitting one or more required element raises a run-time error.) - - ```vb And01 @@ -116,16 +109,13 @@ Now that you have the basic structure of the source XML for a book, you can add > [!NOTE] > Alternatively, you can obtain the XML from the bibliography source file named "sources.xml" located at `C:\Users\\AppData\Roaming\Microsoft\Bibliography`. This file stores the master source list for a user. - -## Adding sources to the master source list and the current source list +## Add sources to the master source list and the current source list Adding sources to the master source list is similar to adding sources to the current source list, with the exception that you access the **Sources** collection from different main objects. To add a source to the master source list, you access the **Sources** collection from the **[Bibliography](../../../api/Word.Bibliography.md)** property of the **[Application](../../../api/Word.Application.md)** object. To add a source to the current source list, access the **Sources** collection from the **Bibliography** property of the **[Document](../../../api/Word.Document.md)** object. The following example uses the basic structure determined previously to add another book source to the master source list. - - ```vb Sub AddBibSource() @@ -151,8 +141,6 @@ You can change the line `Application.Bibliography.Sources.Add strXml` to `Activ Inserting a source programmatically into the master source list does not automatically add it to the current source list. However, to add a citation to a document, the source must be listed in the current source list. You can manually copy one or more sources from the master list to the current list by using the **Source Manager** dialog box, or you can programmatically copy one or more sources from the master list to the current list. The following example copies all sources in the master source to the current source. After the sources are added to your current list, you can insert citations for those sources into a document. - - ```vb Sub CopyToCurrentList() Dim objSource As Source @@ -171,7 +159,7 @@ End Sub > The value of the **Tag** property must be unique across sources in the current list. Thus the `On Error Resume Next` line is needed to allow the code to skip over any sources in the master list that have conflicting tag values in the current list. You can modify this code to capture instances when Word cannot copy a source from the master list to the current list. -## Sharing your source list +## Share your source list There may be times when you want to share a source list with others in an organization. When you add sources to the master list, Word adds them to a file names "sources.xml" located at `C:\Users\\AppData\Roaming\Microsoft\Bibliography\sources.xml`. You can share this file with others by giving them the file, which users can then load manually from the **Source Manager** dialog box or programmatically through code. @@ -181,8 +169,6 @@ There may be times when you want to share a source list with others in an organi You can programmatically load a shared source. The following example shows how to load a shared source file that is located on a share on a local computer. - - ```vb Sub LoadSharedSource() Application.LoadMasterList "\\server\public\sources.xml" @@ -192,8 +178,7 @@ End Sub > [!NOTE] > Sharing the source.xml source file shares only sources in the master source list. Sources located in the current source are located in a document's data store. You can access this file by saving a document and opening the resulting DOCX file in a file compression application, such as WinZip. You can find the source file at the path "customXml" with a file name of (or similar to) "item1.xml". If you need to share the sources in a document with other users, you can share this file the same way that you would share the master list source file, as described previously. - -## Sorting the master source list +## Sort the master source list You can set the sort order in the **Source Manager** dialog box by using the **[BibliographySort](../../../api/Word.Options.BibliographySort.md)** property. The **BibliographySort** property can be a **String** value of "Author", "Tag", "Title", or "Year". This object does not alter the sorting of sources in the document's bibliography. The following example sorts the sources by title. @@ -204,8 +189,7 @@ Sub SortBibliography() End Sub ``` - -## Inserting citations +## Insert citations You can insert a bibliography citation by using the Add method for the Fields collection. The following example inserts a citation at the cursor for the source that you added previously. The text for the field equals the tag value, or the value of the Tag element, which in this case is "Mor01". (See the XML code in the AddBibSource subroutine shown previously for the XML string "Mor01".) The value of the Tag element also corresponds to the **[Tag](../../../api/Word.Source.Tag.md)** property for a **Source** object. @@ -218,7 +202,7 @@ End Sub ``` -## Applying a bibliography style +## Apply a bibliography style After you insert a bibliography into a document, you can set the bibliography style. Word formats several different styles of bibliographies. You can set the bibliography style by using the **[BibliographyStyle](../../../api/Word.Bibliography.BibliographyStyle.md)** property. This property can be one of the following **String** values: @@ -243,7 +227,6 @@ After you insert a bibliography into a document, you can set the bibliography st - Turabian - > [!NOTE] > These values are included in Word, but new values may be added at any point in the future as new bibliography styles are defined. @@ -258,11 +241,10 @@ Sub SetBibliographyStyle() End Sub ``` -> [!NOTE] +> [!NOTE] > You can also define your own documentation style in XML. The directory `C:\Program Files\Microsoft Office\Office15\1033\Bibliography\Style` contains one XSL file for every documentation style on your computer. Open any file for a sample of how to create your own XSLT. Any user can share a custom bibliography style XSL file by placing it into the above folder on their computer. - -## Inserting a bibliography +## Insert a bibliography As with citations, bibliographies use fields. To insert a bibliography, you need to insert a field with a **wdFieldBibliography** constant specified for the field type. The following code inserts a bibliography into the active document at the cursor. This example assumes that the cursor is located at the end of the document or on a new page. @@ -274,4 +256,4 @@ Sub InsertBibliography() End Sub ``` -[!include[Support and feedback](~/includes/feedback-boilerplate.md)] +[!include[Support and feedback](~/includes/feedback-boilerplate.md)] \ No newline at end of file diff --git a/word/Concepts/Working-with-Word/working-with-building-blocks.md b/word/Concepts/Working-with-Word/working-with-building-blocks.md index 4eb0434d38c..fe93fedf3da 100644 --- a/word/Concepts/Working-with-Word/working-with-building-blocks.md +++ b/word/Concepts/Working-with-Word/working-with-building-blocks.md @@ -78,7 +78,7 @@ As mentioned previously, you can add an unlimited number of categories. However, ## Accessing an existing building block -At some point you will want to access one of the building blocks that you have, whether that is a custom building block or one of the built-in building blocks. You could use the **BuildingBlockEntries** collection; however, because building blocks can share the same name, you would need to identify the type and category for the building block before knowing which one you want returned. Therefore, the best way to access existing building blocks is through the **BuildingBlocks** collection. +At some point you'll want to access one of the building blocks that you have, whether that is a custom building block or one of the built-in building blocks. You could use the **BuildingBlockEntries** collection; however, because building blocks can share the same name, you would need to identify the type and category for the building block before knowing which one you want returned. Therefore, the best way to access existing building blocks is through the **BuildingBlocks** collection. The following code example accesses the building block that you added in the previous code example.