Поделиться через


Необязательные параметры в решениях Office

Многие из методов в объектной модели приложений Microsoft Office принимают необязательные параметры.При использовании Visual Basic для разработки приложения Office в Visual Studio 2012 передавать все параметры необязательно, так как для каждого опущенного параметра автоматически используются значения по умолчанию.В большинстве случаев можно также опустить необязательные параметры в проектах visual C#. Однако нельзя исключить необязательные параметры ref класса ThisDocument слова в проектах уровня документа.

Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для Office 2013 и Office 2010. См. раздел Доступность функций по типам приложений Office и проектов.

Дополнительные сведения о работе с дополнительными параметрами в проектах Visual C# и Visual Basic см. в разделах Именованные и необязательные аргументы (Руководство по программированию на C#) и Необязательные параметры (Visual Basic).

ПримечаниеПримечание

В более ранних версиях Visual Studio необходимо передавать значение для всех дополнительных параметров проектов Visual C#.Для удобства в эти проекты входит глобальная переменная с именем missing, которую можно передать в дополнительный параметр при использовании его значения по умолчанию.Проекты Visual C# для Office в Visual Studio 2012 содержат переменную missing, но ее обычно не требуется использовать при разработке решений Office в Visual Studio 2012 за исключением случаев вызова метода с дополнительными параметрами ref класса ThisDocument в проектах Word уровня документов.

Пример в Excel

Метод Worksheet.CheckSpelling имеет множество дополнительных параметров.Для некоторых параметров можно указать значения, а для остальных — принять значение по умолчанию, как показано в следующем примере.Для данного примера требуется проект на уровне документа с классом листа Sheet1.

Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)

Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Пример в Word

Метод Find.Execute имеет множество дополнительных параметров.Для некоторых параметров можно указать значения, а для остальных — принять значение по умолчанию, как показано в следующем примере.

With Me.Application.ActiveDocument.Content
    .Find.ClearFormatting()
    .Find.Execute(FindText:="blue", ReplaceWith:="red", Replace:=Word.WdReplace.wdReplaceAll)
End With
Word.Range documentRange = this.Application.ActiveDocument.Content;
documentRange.Find.ClearFormatting();
documentRange.Find.Execute(FindText: "blue", ReplaceWith: "red", Replace: Word.WdReplace.wdReplaceAll);            

Использование дополнительных параметров методов класса ThisDocument в проектах уровня документа Word на Visual C#

Объектная модель Word содержит множество методов с дополнительными параметрами ref, которые принимают значения Object.Однако в проектах уровня документа Word на Visual C# исключение дополнительных параметров ref методов созданного класса ThisDocument невозможно.Visual C# позволяет исключать дополнительные параметры ref только для методов интерфейсов, а не для классов.Например, следующий код не компилируется, поскольку невозможно исключить дополнительные параметры ref метода CheckSpelling класса ThisDocument.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

При вызове методов класса ThisDocument следуйте рекомендациям, указанным ниже.

  • Чтобы принять значение по умолчанию для дополнительного параметра ref, передайте переменную missing в этот параметр.Переменная missing автоматически определяется в проектах Visual C# Office и присваивается значению Type.Missing в созданном коде проекта.

  • Чтобы указать собственное значение для дополнительного параметра ref, объявите объект, присвоенный указываемому значению, а затем передайте этот объект в параметр.

В следующем примере кода показано, как вызывать метод CheckSpelling, указывая значение параметра ignoreUppercase и принимая значение по умолчанию для других параметров.

object ignoreUppercase = true;
Globals.ThisDocument.CheckSpelling(
    ref missing, ref ignoreUppercase, ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

Чтобы создать код, который опускает дополнительные параметры ref метода в классе ThisDocument, разработчик может вызвать этот же метод в объекте Microsoft.Office.Interop.Word.Document, который возвращается свойством InnerObject, и опустить параметры для данного метода.Это возможно, поскольку Microsoft.Office.Interop.Word.Document является интерфейсом, а не классом.

Globals.ThisDocument.InnerObject.CheckSpelling(IgnoreUppercase: true);

Дополнительные сведения о параметрах типов значений и ссылочных типов см. в разделах Передача аргументов по значению и по ссылке (Visual Basic) (для Visual Basic) и Передача параметров (Руководство по программированию в C#).

См. также

Основные понятия

Написание кода в решениях Office

Другие ресурсы

Разработка решений Office