Необязательные параметры в решениях 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