Compartir a través de


Información general de las funciones definidas por el usuario de JavaScript

Las funciones definidas por el usuario (UDF) de JavaScript son nuevas en Excel Services en SharePoint. En este artículo se proporciona un vistazo de alto nivel a las UDF de JavaScript, incluida la información básica sobre cómo trabajan en Servicios de Excel.

Nota:

Si busca información sobre las funciones personalizadas de JavaScript para complementos de Office, vea: Crear funciones personalizadas en Excel.

¿Qué son las UDF?

Una función definida por el usuario (UDF) es una función que puede crear usted mismo y, a continuación, agregar a la lista de funciones disponibles en Excel cuando Excel no proporciona el tipo de función que desee desde el primer momento.

Servicios de Excel ya le permite crear UDF mediante código administrado, por lo que si ha trabajado con la existente Servicios de Excel UDF, las UDF de JavaScript debe tener un aspecto familiar. Para obtener más información sobre cómo crear UDF mediante código administrado, consulte Excel Services User-Defined Functions.

Las UDF de JavaScript

Las UDF de JavaScript son las UDF que se ejecutan en el explorador en una página Web que tiene un libro incrustado Excel. Use la UDF de JavaScript en el libro insertado. Mientras está trabajando con el libro en el explorador, puede usar la UDF de JavaScript exactamente igual que utilizan las funciones integradas Excel. Cuando se cierra la página Web, ya no está disponible la UDF de JavaScript.

¿Cómo funcionan las UDF de JavaScript?

Para usar una UDF de JavaScript, se deben tener la capacidad para modificar el contenido de la página Web donde se insertar el libro. Una vez que haga referencia al archivo de origen de JavaScript de correcta Servicios de Excel, agregue el código de UDF de JavaScript a la página. Además, antes de usar la UDF de JavaScript, primero debe registrar el archivo UDF con el Excel Calculation Services. La API de UDF de JavaScript proporciona métodos para registrar y anular el registro de la UDF de JavaScript.

Cuando se representa la página web con el elemento web de Excel Web Access o el libro incrustado, puede invocar la UDF de JavaScript en el libro como cualquier otro libro de Excel.

Por ejemplo, puede tener una función que obtiene el precio del valor actual de un inventario específico. Puede agregar un JavaScript UDF a la página Web que hospeda el libro de Excel (suponiendo que tenga derechos para la página Web de creación) que usa el código de JavaScript como se indica a continuación.


function StockInfo(symbol, measure) {
  var req = new XMLHttpRequest();
  req.open('GET', 'http://www.contoso-stock-quotes.com/quote/' + symbol + '/' + measure, false); 
  req.send(null);
  if (req.status == 200) {
    return req.responseText;
  } else {
    throw new Error(ExcelCalcError.Value);
  }
 
ewa.BrowserUdfs.add("StockQuote",
                       StockInfo,
                       "Gets a stock quote given a security symbol and measure to return."
                       false,
                       false
                       );

A continuación, se puede llamar a la UDF de JavaScript, StockInfo, en una fórmula de una celda dentro de la Excel Online.

Figura 1. UDF de JavaScript invocada en Excel Online

UDF de JavaScript invocada en Excel Online

¿Dónde puedo usar las UDF de JavaScript?

Puede crear y usar UDF de JavaScript en libros mostrados en elementos web de SharePoint Excel Web Access o en una página web host que tenga un libro incrustado. El libro debe estar almacenado en Microsoft OneDrive. La principal diferencia es que las UDF de JavaScript agregadas a elementos web de Excel Web Access requieren un servidor de SharePoint. Las UDF de JavaScript que se agregan a las páginas Web de host que tienen incrustados libros sólo requieren que el libro se almacenen en OneDrive.

Puntos clave

  • Las UDF de JavaScript solo están activas mientras se muestra la página web en la que están incluidas. No sobreviven a la página web en la que se crearon.

  • No puede realizar llamadas al modelo de objetos JavaScript de Servicios de Excel desde dentro de una UDF de JavaScript.

Vea también