Office 解決方案中的選擇性參數

Microsoft Office 應用程式物件模型中的許多方法,都接受選擇性參數。 如果您使用 Visual Basic 在 Visual Studio 中開發 Office 方案,就不必傳遞選擇性參數的值,因為每個遺漏的參數都會自動使用預設值。 在大部分的情況下,也可以省略 Visual C# 專案中的選擇性參數。 不過,您無法 ThisDocument 在檔層級 Word 專案中省略類別的選擇性 ref 參數。

適用于: 本主題中的資訊適用于檔 - 層級專案和專案中的 VSTO 加入 - 。 請參閱 依 Office 應用程式和專案類型提供的功能

如需在 Visual c # 和 Visual Basic 專案中使用選擇性參數的詳細資訊,請參閱(C# 程式設計指南)選擇性參數 (Visual Basic)的命名和選擇性引數。

注意

在舊版的 Visual Studio 中,您必須為 Visual C# 專案中的每一個選擇性參數傳遞值。 為方便起見,這些專案包含名為 missing 的全域變數,當您想要使用參數的預設值時,可以傳遞給選擇性參數。 Visual Studio 中 Office 的 Visual c # 專案仍包含 missing 變數,但在中開發 Office 方案時,通常不需要使用它 Visual Studio 2013 ,除非您在 ThisDocument Word 檔層級專案的類別中,以選擇性 ref 參數呼叫方法。

Excel 範例

CheckSpelling 方法有許多選擇性參數。 某些參數可以指定值,其他還可以接受預設值,如下列程式碼範例所示。 這個範例需要有名為 Sheet1 工作表類別的文件層級專案。


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);
Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)

Word 範例

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

在 Word 的 Visual c # 檔層級專案中,于 ThisDocument 類別中使用方法的選擇性參數

Word 物件模型包含許多具有可接受值之選擇性 ref 參數的方法 Object 。 不過,您無法 ThisDocument 在 Word 的 Visual c # 檔層級專案中,省略所產生類別之方法的選擇性 ref 參數。 Visual c # 可讓您只針對介面的方法(而非類別)省略選擇性的 ref 參數。 例如,下列程式碼範例不會進行編譯,因為您不能省略類別的方法的選擇性 ref 參數 CheckSpelling ThisDocument

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

當您呼叫 ThisDocument 類別的方法時,請遵循這些指導方針:

  • 若要接受選擇性 ref 參數的預設值,請將 missing 變數傳遞給參數。 在 Visual C# Office 專案中,missing 變數會自動定義並指派給產生的專案程式碼中的值 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 ,您也可以在屬性傳回的物件上呼叫相同的方法 Document InnerObject ,並省略該方法中的參數。 您可以執行這項操作的原因是,Document 是介面不是類別。

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

    如需有關值和參考型別參數的詳細資訊,請參閱以傳值方式傳遞引數,並以傳址方式 (Visual Basic) (Visual Basic C) 程式設計手冊 (

另請參閱