Office 솔루션의 선택적 매개 변수

Microsoft Office 응용 프로그램의 개체 모델에는 선택적 매개 변수를 사용하는 많은 메서드가 있습니다. Visual Studio 2010에서 Visual Basic을 사용하여 Office 솔루션을 개발하는 경우 선택적 매개 변수의 값을 전달할 필요가 없습니다. 값을 전달하지 않은 매개 변수의 경우 기본값이 자동으로 사용됩니다. 대부분의 경우 Visual C# 프로젝트에서도 선택적 매개 변수를 생략할 수 있습니다. 그러나 문서 수준 Word 프로젝트에서는 ThisDocument 클래스의 선택적 ref 매개 변수를 생략할 수 없습니다.

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Visual C# 및 Visual Basic 프로젝트에서 선택적 매개 변수를 사용하여 작업하는 방법에 대한 자세한 내용은 명명된 인수와 선택적 인수(C# 프로그래밍 가이드)선택적 매개 변수(Visual Basic)를 참조하십시오.

참고

이전 버전의 Visual Studio에서는 Visual C# 프로젝트의 모든 선택적 매개 변수에 대한 값을 전달해야 합니다. 편의를 위해 이러한 프로젝트에는 선택적 매개 변수의 기본값을 사용하려고 할 때 선택적 매개 변수에 전달할 수 있는 missing이라는 전역 변수가 포함되어 있습니다. Visual Studio 2010에서 Office용 Visual C# 프로젝트에는 여전히 missing 변수가 포함되어 있지만 Visual Studio 2010에서 Office 솔루션을 개발할 때 대부분 이 변수를 사용할 필요가 없습니다. 단, 문서 수준 Word 프로젝트의 ThisDocument 클래스에서 선택적 ref 매개 변수를 사용하여 메서드를 호출하는 경우에는 이 변수를 사용해야 합니다.

Excel의 예제

Worksheet.CheckSpelling 메서드에는 많은 선택적 매개 변수가 있습니다. 다음 코드 예제와 같이 일부 매개 변수의 값을 지정하고 다른 매개 변수에는 기본값을 적용할 수 있습니다. 이 예제를 실행하려면 Sheet1이라는 워크시트 클래스가 포함된 문서 수준 프로젝트가 있어야 합니다.

Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)
// In projects that target the .NET Framework 3.5, change "ignoreUppercase" to "IgnoreUppercase" 
// in the following line of code.
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);            

Visual C# 문서 수준 Word 프로젝트에서 ThisDocument 클래스 메서드의 선택적 매개 변수 사용

Word 개체 모델에는 Object 값을 받아들이는 선택적 ref 매개 변수가 있는 많은 메서드가 포함되어 있습니다. 그러나 Visual C# 문서 수준 Word 프로젝트에서는 생성된 ThisDocument 클래스에 대한 메서드의 선택적 ref 매개 변수를 생략할 수 없습니다. Visual C#에서는 클래스가 아니라 인터페이스의 메서드에 대한 선택적 ref 매개 변수만 생략할 수 있습니다. 예를 들어 다음 코드 예제의 경우 ThisDocument 클래스에 있는 CheckSpelling 메서드의 선택적 매개 변수 ref를 생략할 수 없기 때문에 컴파일되지 않습니다.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

ThisDocument 클래스의 메서드를 호출하는 경우 다음 지침을 따르십시오.

  • 선택적 ref 매개 변수의 기본값을 적용하려면 missing 변수를 매개 변수에 전달합니다. missing 변수는 Visual C# Office 프로젝트에서 자동으로 정의되고 생성된 프로젝트 코드에서 Type.Missing 값이 할당됩니다.

  • 선택적 ref 매개 변수의 값을 지정하려면 지정할 값에 할당된 개체를 선언한 다음 이 매개 변수에 전달합니다.

다음 코드 예제에서는 ignoreUppercase 매개 변수의 값을 지정하고 다른 매개 변수에 대해서는 기본값을 적용하여 CheckSpelling 메서드를 호출하는 방법을 보여 줍니다.

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);

ThisDocument 클래스에서 메서드의 선택적 ref 매개 변수를 생략하는 코드를 작성하려면 InnerObject 속성이 반환하는 Microsoft.Office.Interop.Word.Document 개체에 대해 동일한 메서드를 호출하고 이 메서드에서 해당 매개 변수를 생략할 수 있습니다. Microsoft.Office.Interop.Word.Document가 클래스가 아니라 인터페이스이기 때문에 이와 같이 할 수 있는 것입니다.

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

값 및 참조 형식 매개 변수에 대한 자세한 내용은 값 및 참조로 인수 전달(Visual Basic)(Visual Basic의 경우) 및 매개 변수 전달(C# 프로그래밍 가이드)을 참조하십시오.

참고 항목

개념

Office 솔루션에서 코드 작성

기타 리소스

Office 솔루션 개발