共用方式為


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

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

適用於: 本主題中的資訊適用於文件層級專案和 VSTO 增益集專案。 請參閱 Office 應用程式和專案類型提供的功能

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

備註

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

Excel 中的範例

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


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Word 中的範例

Execute 方法有許多選擇性參數。 您可以指定某些參數的值,並接受其他參數的預設值,如下列程式碼範例所示。

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 物件模型包含許多方法,其中包含接受值的選擇性 Object 參數。 不過,您無法省略 Word 的 Visual C# 文件層級專案中所產生類別方法的選擇性 ThisDocument 參數。 Visual C# 可讓您只省略介面方法的選擇性 ref 參數,而不是類別。 例如,以下程式碼範例不編譯,因為您無法省略類別方法CheckSpelling可選 ThisDocument 參數。

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

當您呼叫類別的方法 ThisDocument 時,請遵循下列準則:

  • 若要接受選用 ref 參數的預設值,請將變數傳遞 missing 至參數。 變數 missing 會在 Visual C# Office 專案中自動定義,並指派給產生的專案程式碼中的值 Missing

  • 若要為選用 ref 參數指定您自己的值,請宣告指派給您要指定之值的物件,然後將物件傳遞至參數。

    下列程式碼範例示範如何藉由指定 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 參數的程式碼,您也可以在屬性所Document傳回的InnerObject物件上呼叫相同的方法,並省略該方法的參數。 您可以這樣做,因為 Document 是一個介面,而不是一個類別。

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

    如需值和參考類型參數的詳細資訊,請參閱依值和參考傳遞引數 (Visual Basic) (適用於 Visual Basic) 和傳遞參數 (C# 程式設計指南)。