Parametri facoltativi nelle soluzioni Office

Molti dei metodi nei modelli a oggetti delle applicazioni di Microsoft Office accettano parametri facoltativi. Se si utilizza Visual Basic per sviluppare una soluzione Office in Visual Studio, non è necessario passare un valore per i parametri facoltativi. Infatti, per ogni parametro mancante vengono utilizzati automaticamente i valori predefiniti. Nella maggior parte dei casi, è anche possibile omettere parametri facoltativi nei progetti Visual C#. Tuttavia, non è possibile omettere parametri di riferimento facoltativi della ThisDocument classe nei progetti Word a livello di documento.

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO. Vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Per altre informazioni sull'uso di parametri facoltativi nei progetti Visual C# e Visual Basic, vedere Argomenti denominati e facoltativi (Guida per programmatori C#) e Parametri facoltativi (Visual Basic).

Nota

Nelle versioni precedenti di Visual Studio è necessario passare un valore per ogni parametro facoltativo nei progetti Visual C#. Per comodità, questi progetti includono una variabile globale denominata missing che è possibile passare a un parametro facoltativo quando si desidera utilizzare il valore predefinito del parametro. I progetti Visual C# per Office in Visual Studio includono ancora la missing variabile , ma in genere non è necessario usarla quando si sviluppano soluzioni Office in Visual Studio 2013, tranne quando si chiamano metodi con parametri di riferimento facoltativi nella ThisDocument classe nei progetti a livello di documento per Word.

Esempio in Excel

Il metodo CheckSpelling presenta numerosi parametri facoltativi. È possibile specificare i valori per alcuni parametri e accettare il valore predefinito di altri utenti, come illustrato nell'esempio di codice riportato di seguito. In questo esempio è richiesto un progetto a livello di documento con una classe del foglio di lavoro denominata Sheet1.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Esempio in Word

Il metodo Execute presenta numerosi parametri facoltativi. È possibile specificare i valori per alcuni parametri e accettare il valore predefinito di altri utenti, come illustrato nell'esempio di codice riportato di seguito.

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

Usare i parametri facoltativi dei metodi nella classe ThisDocument nei progetti a livello di documento di Visual C# per Word

Il modello a oggetti di Word contiene molti metodi con parametri di riferimento facoltativi che accettano Object valori. Tuttavia, non è possibile omettere parametri di riferimento facoltativi dei metodi della classe generata ThisDocument nei progetti a livello di documento di Visual C# per Word. Visual C# consente di omettere parametri di riferimento facoltativi solo per metodi di interfacce, non classi. Ad esempio, l'esempio di codice seguente non viene compilato perché non è possibile omettere parametri di riferimento facoltativi del CheckSpelling metodo della ThisDocument classe .

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

Quando si chiamano metodi della classe ThisDocument, attenersi le linee guida seguenti:

  • Per accettare il valore predefinito di un parametro di riferimento facoltativo, passare la missing variabile al parametro . La variabile missing viene definita automaticamente nei progetti Office di Visual C# e viene assegnata al valore Missing nel codice di progetto generato.

  • Per specificare il proprio valore per un parametro di riferimento facoltativo, dichiarare un oggetto assegnato al valore da specificare e quindi passare l'oggetto al parametro .

    Nell'esempio di codice seguente viene illustrato come chiamare il CheckSpelling metodo specificando un valore per il parametro ignoreUppercase e accettando il valore predefinito per gli altri parametri.

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

    Se si desidera scrivere codice che omette parametri di riferimento facoltativi di un metodo nella ThisDocument classe , è possibile chiamare in alternativa lo stesso metodo sull'oggetto Document restituito dalla InnerObject proprietà e omettere i parametri da tale metodo. È possibile eseguire questa operazione perché Document è un'interfaccia, non una classe.

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

    Per altre informazioni sui parametri di tipo valore e riferimento, vedere Passare argomenti per valore e per riferimento (Visual Basic) (per Visual Basic) e Pass parameters (Guida per programmatori C#).