Share via


Descripción de los parámetros opcionales en las soluciones de Office

Actualización: noviembre 2007

Muchos de los métodos en los modelos de objetos de las aplicaciones de Microsoft Office aceptan parámetros opcionales. Los parámetros opcionales sólo son opcionales cuando se llama a un método utilizando Visual Basic. Cuando utilice C# para programar en una aplicación de Microsoft Office, debe pasar un valor para todos los parámetros.

Diferencias entre los parámetros opcionales de Visual Basic y Visual C#

Si utiliza Visual Basic para programar en una aplicación de Microsoft Office, no es necesario pasar un valor para los parámetros opcionales porque se utilizan automáticamente los valores predeterminados de cada parámetro que falte. Sin embargo, los parámetros opcionales no se admiten en C#, por lo que debe pasar al método un valor para cada parámetro.

Los proyectos de Visual Studio Tools para Office incluyen una variable global denominada missing que se asigna al valor Type.Missing en el código generado. Puede pasar esta variable global para presuponer el valor predeterminado de cada parámetro opcional que acepta un tipo de referencia, como Object. Para los parámetros opcionales que aceptan un tipo de valor, debe pasar el valor predeterminado real. Para obtener más información, vea Pasar tipos de valor a parámetros opcionales en Visual C#.

Ejemplo en Excel

El método Worksheet.CheckSpelling toma los siguientes parámetros opcionales que aceptan tipos de referencia:

  • CustomDictionary. Indica si se debe utilizar un diccionario personalizado si no se encuentra la palabra en el diccionario principal.

  • IgnoreUppercase. Especifica si se deben omitir las palabras en mayúsculas.

  • AlwaysSuggest. Indica si Excel debe mostrar una lista de sugerencias de palabras alternativas cuando se encuentra un error ortográfico.

  • SpellLang. Especifica el idioma del diccionario utilizado.

Puede aceptar el valor predeterminado de estos parámetros como se muestra en el ejemplo de código siguiente.

Globals.Sheet1.CheckSpelling()
Globals.Sheet1.CheckSpelling(missing, missing, missing, missing);

Ejemplo en Word

En general, llamar a los métodos de Microsoft Office Word desde C# es más complejo que llamar a los métodos de otras aplicaciones de Office, porque se deben pasar todos los parámetros opcionales como referencia.

Por ejemplo, el método Document.CheckSpelling toma los siguientes parámetros opcionales para revisar la ortografía de un documento de Word:

  • CustomDictionary. Nombre de archivo del diccionario personalizado.

  • IgnoreUppercase. Especifica si se deben omitir las palabras en mayúsculas.

  • AlwaysSuggest. Indica si Word debe mostrar una lista de sugerencias de palabras alternativas cuando se encuentra un error ortográfico.

  • CustomDictionary2 – CustomDictionary10. Nombres de archivo de los diccionarios personalizados adicionales. Puede especificar hasta nueve diccionarios adicionales.

Puede aceptar el valor predeterminado de estos parámetros como se muestra en el ejemplo de código siguiente.

Me.CheckSpelling()
this.CheckSpelling(
    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

Pasar tipos de valor a parámetros opcionales en Visual C#

En Visual C#, la variable global missing sólo puede pasarse para los parámetros opcionales que aceptan tipos de referencia. Para los parámetros opcionales que aceptan tipos de valor, debe determinar el valor predeterminado real y pasar dicho valor.

Por ejemplo, el método Sort de la clase NamedRange acepta una gran cantidad de valores enumerados como parámetros, como Microsoft.Office.Interop.Excel.XlSortOrder. Dado que éste es un tipo de valor, debe especificar uno de los valores de XlSortOrder en lugar de pasar la variable missing global.

Para obtener más información sobre los parámetros de tipo de valor y de tipo de referencia, vea Pasar argumentos por valor y por referencia (para Visual Basic) y Pasar parámetros (Guía de programación de C#).

Vea también

Conceptos

Desarrollar soluciones de Office

Código administrado y programación de soluciones de Office con Visual Studio

Escribir código en soluciones de Office