Trabalhar com pastas de trabalho usando a API JavaScript do ExcelWork with workbooks using the Excel JavaScript API

Este artigo fornece exemplos de código que mostram como executar tarefas comuns com pastas de trabalho usando a API JavaScript do Excel.This article provides code samples that show how to perform common tasks with workbooks using the Excel JavaScript API. Para obter a lista completa de propriedades e métodos aos quais o Workbook objeto oferece suporte, consulte objeto WORKBOOK (API JavaScript para Excel).For the complete list of properties and methods that the Workbook object supports, see Workbook Object (JavaScript API for Excel). Este artigo aborda também ações em nível de pasta de trabalho executadas através do objeto Application.This article also covers workbook-level actions performed through the Application object.

O objeto Workbook é o ponto de entrada para que se suplemento interaja com o Excel.The Workbook object is the entry point for your add-in to interact with Excel. Ele mantém conjuntos de planilhas, tabelas, Tabelas Dinâmicas e muito mais, através dos quais os dados do Excel são acessados e alterados.It maintains collections of worksheets, tables, PivotTables, and more, through which Excel data is accessed and changed. O objeto WorksheetCollection dá a seu suplemento acesso a todos os dados de pastas de trabalho através de planilhas individuais.The WorksheetCollection object gives your add-in access to all the workbook's data through individual worksheets. Especificamente, ele permite seu suplemento adicione planilhas, navegue entre elas e atribua manipuladores a eventos de planilhas.Specifically, it lets your add-in add worksheets, navigate among them, and assign handlers to worksheet events. O artigo Trabalhar com planilhas usando a API JavaScript do Excel descreve como acessar e editar planilhas.The article Work with worksheets using the Excel JavaScript API describes how to access and edit worksheets.

Obter a célula ativa ou o intervalo selecionadoGet the active cell or selected range

O objeto Workbook contém dois métodos que obtêm um intervalo de células que o usuário ou o suplemento selecionaram: getActiveCell() e getSelectedRange().The Workbook object contains two methods that get a range of cells the user or add-in has selected: getActiveCell() and getSelectedRange(). getActiveCell() obtém a célula ativa da pasta de trabalho como um objeto Range.getActiveCell() gets the active cell from the workbook as a Range object. O exemplo a seguir mostra uma chamada para getActiveCell(), seguida do endereço da célula que está sendo impresso no console.The following example shows a call to getActiveCell(), followed by the cell's address being printed to the console.

Excel.run(function (context) {
    var activeCell = context.workbook.getActiveCell();
    activeCell.load("address");

    return context.sync().then(function () {
        console.log("The active cell is " + activeCell.address);
    });
}).catch(errorHandlerFunction);

O método getSelectedRange() retorna o intervalo único selecionado atualmente.The getSelectedRange() method returns the currently selected single range. Se houver vários intervalos selecionados, será gerado um erro InvalidSelection.If multiple ranges are selected, an InvalidSelection error is thrown. O exemplo a seguir mostra uma chamada para getSelectedRange() que, em seguida, define a cor de preenchimento do intervalo como amarelo.The following example shows a call to getSelectedRange() that then sets the range's fill color to yellow.

Excel.run(function(context) {
    var range = context.workbook.getSelectedRange();
    range.format.fill.color = "yellow";
    return context.sync();
}).catch(errorHandlerFunction);

Criar uma pasta de trabalhoCreate a workbook

O suplemento pode criar uma nova pasta de trabalho separada da instância do Excel, na qual o suplemento está sendo executado atualmente.Your add-in can create a new workbook, separate from the Excel instance in which the add-in is currently running. O objeto do Excel tem o método createWorkbook para esta finalidade.The Excel object has the createWorkbook method for this purpose. Quando esse método é chamado, a nova pasta de trabalho é aberta imediatamente e exibida em uma nova instância do Excel.When this method is called, the new workbook is immediately opened and displayed in a new instance of Excel. O suplemento permanece aberto e em execução com a pasta de trabalho anterior.Your add-in remains open and running with the previous workbook.

Excel.createWorkbook();

O método createWorkbook também cria uma cópia de uma pasta de trabalho existente.The createWorkbook method can also create a copy of an existing workbook. O método aceita uma representação de cadeia de caracteres codificada em Base64 de um arquivo .xlsx como parâmetro opcional.The method accepts a base64-encoded string representation of an .xlsx file as an optional parameter. A pasta de trabalho resultante será uma cópia desse arquivo, supondo que o argumento da cadeia de caracteres seja um arquivo. xlsx válido.The resulting workbook will be a copy of that file, assuming the string argument is a valid .xlsx file.

Você pode obter a pasta de trabalho atual do suplemento como uma cadeia de caracteres codificada em base64 usando a divisão de arquivos.You can get your add-in's current workbook as a base64-encoded string by using file slicing. A classe FileReader pode ser usada para converter um arquivo em uma cadeia de caracteres codificada com Base64, como demonstrado no seguinte exemplo.The FileReader class can be used to convert a file into the required base64-encoded string, as demonstrated in the following example.

var myFile = document.getElementById("file");
var reader = new FileReader();

reader.onload = (function (event) {
    Excel.run(function (context) {
        // strip off the metadata before the base64-encoded string
        var startIndex = reader.result.toString().indexOf("base64,");
        var workbookContents = reader.result.toString().substr(startIndex + 7);

        Excel.createWorkbook(workbookContents);
        return context.sync();
    }).catch(errorHandlerFunction);
});

// read in the file as a data URL so we can parse the base64-encoded string
reader.readAsDataURL(myFile.files[0]);

Inserir uma cópia de uma pasta de trabalho para a seção atual (visualização)Insert a copy of an existing workbook into the current one (preview)

Observação

O método WorksheetCollection.addFromBase64 no momento só está disponível na visualização pública e somente no Office no Windows e Mac.The WorksheetCollection.addFromBase64 method is currently only available in public preview and only for Office on Windows and Mac. Para usar esse recurso, você deve usar a versão prévia da biblioteca da API JavaScript do Office da CDN do Office. js.To use this feature, you must use the preview version of the Office JavaScript API library from the Office.js CDN. O arquivo de definição de tipo para compilação TypeScript e IntelliSense é encontrado em CDN e DefinitelyTyped.The type definition file for TypeScript compilation and IntelliSense is found at the CDN and DefinitelyTyped. Você pode instalar esses tipos com o npm install --save-dev @types/office-js-preview .You can install these types with npm install --save-dev @types/office-js-preview. Para mais informações sobre as nossas futuras APIs, visite Conjuntos de requisitos da API JavaScript do Excel.For more information on our upcoming APIs, please visit Excel JavaScript API requirement sets.

O exemplo anterior mostra uma nova pasta de trabalho criada a partir de uma pasta de trabalho.The previous example shows a new workbook being created from an existing workbook. Você também pode copiar algumas ou todas de uma pasta de trabalho para a atualmente associada com o suplemento.You can also copy some or all of an existing workbook into the one currently associated with your add-in. Uma pasta de trabalho WorksheetCollection tem o método addFromBase64 para inserir cópias de planilhas da pasta de trabalho de destino nela mesma.A workbook's WorksheetCollection has the addFromBase64 method to insert copies of the target workbook's worksheets into itself. O outro arquivo da pasta de trabalho é passado como em cadeia de caracteres codificado em base 64, como a chamada Excel.createWorkbook.The other workbook's file is passed as base64-encoded string, just like the Excel.createWorkbook call.

addFromBase64(base64File: string, sheetNamesToInsert?: string[], positionType?: Excel.WorksheetPositionType, relativeTo?: Worksheet | string): OfficeExtension.ClientResult<string[]>;

O exemplo a seguir mostra planilhas da pasta de trabalho que estão sendo inseridas em uma pasta de trabalho atual, logo após a planilha ativa.The following example shows a workbook's worksheets being inserted in the current workbook, directly after the active worksheet. Observe que null é passado para o parâmetro sheetNamesToInsert?: string[].Note that null is passed for the sheetNamesToInsert?: string[] parameter. Isso significa que todas as planilhas são inseridas.This means all the worksheets are being inserted.

var myFile = document.getElementById("file");
var reader = new FileReader();

reader.onload = (event) => {
    Excel.run((context) => {
        // strip off the metadata before the base64-encoded string
        var startIndex = reader.result.toString().indexOf("base64,");
        var workbookContents = reader.result.toString().substr(startIndex + 7);

        var sheets = context.workbook.worksheets;
        sheets.addFromBase64(
            workbookContents,
            null, // get all the worksheets
            Excel.WorksheetPositionType.after, // insert them after the worksheet specified by the next parameter
            sheets.getActiveWorksheet() // insert them after the active worksheet
        );
        return context.sync();
    });
};

// read in the file as a data URL so we can parse the base64-encoded string
reader.readAsDataURL(myFile.files[0]);

Protege a estrutura da pasta de trabalhoProtect the workbook's structure

O suplemento pode controlar a capacidade de um usuário de editar dados em uma pasta de trabalho.Your add-in can control a user's ability to edit the workbook's structure. A propriedade protection do objeto Workbook é um objeto WorkbookProtection com um método protect().The Workbook object's protection property is a WorkbookProtection object with a protect() method. O exemplo a seguir mostra um cenário básico ativando/desativando a proteção da pasta de trabalho.The following example shows a basic scenario toggling the protection of the workbook's structure.

Excel.run(function (context) {
    var workbook = context.workbook;
    workbook.load("protection/protected");

    return context.sync().then(function() {
        if (!workbook.protection.protected) {
            workbook.protection.protect();
        }
    });
}).catch(errorHandlerFunction);

O método protect aceita um parâmetro opcional de cadeia de caracteres.The protect method accepts an optional string parameter. Esta cadeia de caracteres representa a senha necessária para um usuário ignorar a proteção e alterar a estrutura da pasta de trabalho.This string represents the password needed for a user to bypass protection and change the workbook's structure.

A proteção também ser definida no nível da planilha para prevenir a edição de dados indesejada.Protection can also be set at the worksheet level to prevent unwanted data editing. Para saber mais, confira a seção Proteção de dadosdo artigo Trabalhar com planilhas usando a API JavaScript do Excel.For more information, see the Data protection section of the Work with worksheets using the Excel JavaScript API article.

Observação

Para saber mais sobre a proteção de pastas de trabalho no Excel, confira o artigo Proteger uma pasta de trabalho.For more information about workbook protection in Excel, see the Protect a workbook article.

Acessar propriedades do documentosAccess document properties

Objetos Workbook têm acesso aos metadados dos arquivos do Office, que são conhecidos como propriedades de documentos.Workbook objects have access to the Office file metadata, which is known as the document properties. A propriedade properties do objeto Workbook é um objeto DocumentProperties que contém esses valores de metadados.The Workbook object's properties property is a DocumentProperties object containing these metadata values. O exemplo a seguir mostra como definir a author propriedade.The following example shows how to set the author property.

Excel.run(function (context) {
    var docProperties = context.workbook.properties;
    docProperties.author = "Alex";
    return context.sync();
}).catch(errorHandlerFunction);

Propriedades personalizadasCustom properties

Você também pode definir propriedades personalizadas.You can also define custom properties. O objeto DocumentProperties contém uma propriedade custom que representa um conjunto de pares de valores-chave para propriedades definidas pelo usuário.The DocumentProperties object contains a custom property that represents a collection of key-value pairs for user-defined properties. O exemplo a seguir mostra como criar uma propriedade personalizada chamada Introduction com o valor "Olá" e, em seguida, recuperá-la.The following example shows how to create a custom property named Introduction with the value "Hello", then retrieve it.

Excel.run(function (context) {
    var customDocProperties = context.workbook.properties.custom;
    customDocProperties.add("Introduction", "Hello");
    return context.sync();
}).catch(errorHandlerFunction);

[...]

Excel.run(function (context) {
    var customDocProperties = context.workbook.properties.custom;
    var customProperty = customDocProperties.getItem("Introduction");
    customProperty.load(["key, value"]);

    return context.sync().then(function() {
        console.log("Custom key  : " + customProperty.key); // "Introduction"
        console.log("Custom value : " + customProperty.value); // "Hello"
    });
}).catch(errorHandlerFunction);

Propriedades personalizadas no nível da planilhaWorksheet-level custom properties

As propriedades personalizadas também podem ser definidas no nível da planilha.Custom properties can also be set at the worksheet level. Eles são semelhantes às propriedades personalizadas no nível do documento, exceto pelo fato de que a mesma chave pode ser repetida em diferentes planilhas.These are similar to document-level custom properties, except that the same key can be repeated across different worksheets. O exemplo a seguir mostra como criar uma propriedade personalizada chamada MySheet com o valor "Alpha" na planilha atual e, em seguida, recuperá-la.The following example shows how to create a custom property named WorksheetGroup with the value "Alpha" on the current worksheet, then retrieve it.

Excel.run(function (context) {
    // Add the custom property.
    var customWorksheetProperties = context.workbook.worksheets.getActiveWorksheet().customProperties;
    customWorksheetProperties.add("WorksheetGroup", "Alpha");

    return context.sync();
}).catch(errorHandlerFunction);

[...]

Excel.run(function (context) {
    // Load the keys and values of all custom properties in the current worksheet.
    var worksheet = context.workbook.worksheets.getActiveWorksheet();
    worksheet.load("name");

    var customWorksheetProperties = worksheet.customProperties;
    var customWorksheetProperty = customWorksheetProperties.getItem("WorksheetGroup");
    customWorksheetProperty.load(["key", "value"]);

    return context.sync().then(function() {
        // Log the WorksheetGroup custom property to the console.
        console.log(worksheet.name + ": " + customWorksheetProperty.key); // "WorksheetGroup"
        console.log("  Custom value : " + customWorksheetProperty.value); // "Alpha"
    });
}).catch(errorHandlerFunction);

Acessar configurações do documentosAccess document settings

As configurações da pasta de trabalho são semelhantes ao conjunto de propriedades personalizadas.A workbook's settings are similar to the collection of custom properties. A diferença é que as configurações são exclusivas para um único arquivo do Excel e emparelhamento de suplementos, enquanto que as propriedades estão somente conectadas ao arquivo.The difference is settings are unique to a single Excel file and add-in pairing, whereas properties are solely connected to the file. O exemplo a seguir mostra como criar e acessar uma configuração.The following example shows how to create and access a setting.

Excel.run(function (context) {
    var settings = context.workbook.settings;
    settings.add("NeedsReview", true);
    var needsReview = settings.getItem("NeedsReview");
    needsReview.load("value");

    return context.sync().then(function() {
        console.log("Workbook needs review : " + needsReview.value);
    });
}).catch(errorHandlerFunction);

Configurações de cultura de aplicativo do AccessAccess application culture settings

Uma pasta de trabalho tem configurações de idioma e cultura que afetam o modo como determinados dados são exibidos.A workbook has language and culture settings that affect how certain data is displayed. Essas configurações podem ajudar a localizar dados quando os usuários do seu suplemento estiverem compartilhando pastas de trabalho em diferentes idiomas e culturas.These settings can help localize data when your add-in's users are sharing workbooks across different languages and cultures. O suplemento pode usar a análise de cadeia de caracteres para localizar o formato de números, datas e horas com base nas configurações de cultura do sistema para que cada usuário veja os dados em seu próprio formato de cultura.Your add-in can use string parsing to localize the format of numbers, dates, and times based on the system culture settings so that each user sees data in their own culture's format.

Application.cultureInfo define as configurações de cultura do sistema como um objeto CultureInfo .Application.cultureInfo defines the system culture settings as a CultureInfo object. Contém configurações como o separador decimal numérico ou o formato de data.This contains settings like the numerical decimal separator or the date format.

Algumas configurações de cultura podem ser alteradas por meio da interface do usuário do Excel.Some culture settings can be changed through the Excel UI. As configurações do sistema são preservadas no CultureInfo objeto.The system settings are preserved in the CultureInfo object. As alterações locais são mantidas como propriedades no nível do aplicativo, como Application.decimalSeparator .Any local changes are kept as Application-level properties, such as Application.decimalSeparator.

O exemplo a seguir altera o caractere separador decimal de uma cadeia de caracteres numérica de um ', ' para o caractere usado pelas configurações do sistema.The following sample changes the decimal separator character of a numerical string from a ',' to the character used by the system settings.

// This will convert a number like "14,37" to "14.37"
// (assuming the system decimal separator is ".").
Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    var decimalSource = sheet.getRange("B2");
    decimalSource.load("values");
    context.application.cultureInfo.numberFormat.load("numberDecimalSeparator");

    return context.sync().then(function() {
        var systemDecimalSeparator =
            context.application.cultureInfo.numberFormat.numberDecimalSeparator;
        var oldDecimalString = decimalSource.values[0][0];

        // This assumes the input column is standardized to use "," as the decimal separator.
        var newDecimalString = oldDecimalString.replace(",", systemDecimalSeparator);

        var resultRange = sheet.getRange("C2");
        resultRange.values = [[newDecimalString]];
        resultRange.format.autofitColumns();
        return context.sync();
    });
});

Adicionar dados XML personalizados à pasta de trabalhoAdd custom XML data to the workbook

O formato de arquivo Open XML .xlsx do Excel permite ao seu suplemento inserir dados XML personalizados na pasta de trabalho.Excel's Open XML .xlsx file format lets your add-in embed custom XML data in the workbook. Esses dados persistem na pasta de trabalho, independentemente do suplemento.This data persists with the workbook, independent of the add-in.

Uma pasta de trabalho contém um CustomXmlPartCollection, que é uma lista de CustomXmlParts.A workbook contains a CustomXmlPartCollection, which is a list of CustomXmlParts. Eles oferecem acesso a cadeias de caracteres XML e a uma ID exclusiva correspondente.These give access to the XML strings and a corresponding unique ID. Armazenando essas IDs como configurações, seu suplemento pode manter as teclas para suas partes XML entre sessões.By storing these IDs as settings, your add-in can maintain the keys to its XML parts between sessions.

Os exemplos a seguir mostram como usar partes XML personalizadas.The following samples show how to use custom XML parts. O primeiro bloco de códigos demonstra como inserir dados XML no documento.The first code block demonstrates how to embed XML data in the document. Ele armazena uma lista de revisores e usa as configurações da pasta de trabalho para salvar a id do XML para recuperação futura.It stores a list of reviewers, then uses the workbook's settings to save the XML's id for future retrieval. O segundo bloco mostra como acessar esse XML mais tarde.The second block shows how to access that XML later. A configuração "ContosoReviewXmlPartId" é carregada e transmitida para customXmlParts da pasta de trabalho.The "ContosoReviewXmlPartId" setting is loaded and passed to the workbook's customXmlParts. Os dados XML são então impressos no console.The XML data is then printed to the console.

Excel.run(async (context) => {
    // Add reviewer data to the document as XML
    var originalXml = "<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
    var customXmlPart = context.workbook.customXmlParts.add(originalXml);
    customXmlPart.load("id");

    return context.sync().then(function() {
        // Store the XML part's ID in a setting
        var settings = context.workbook.settings;
        settings.add("ContosoReviewXmlPartId", customXmlPart.id);
    });
}).catch(errorHandlerFunction);
Excel.run(async (context) => {
    // Retrieve the XML part's id from the setting
    var settings = context.workbook.settings;
    var xmlPartIDSetting = settings.getItemOrNullObject("ContosoReviewXmlPartId").load("value");

    return context.sync().then(function () {
        if (xmlPartIDSetting.value) {
            var customXmlPart = context.workbook.customXmlParts.getItem(xmlPartIDSetting.value);
            var xmlBlob = customXmlPart.getXml();

            return context.sync().then(function () {
                // Add spaces to make more human readable in the console
                var readableXML = xmlBlob.value.replace(/></g, "> <");
                console.log(readableXML);
            });
        }
    });
}).catch(errorHandlerFunction);

Observação

CustomXMLPart.namespaceUri só será preenchido se o elemento XML personalizado de nível superior contiver o atributo xmlns.CustomXMLPart.namespaceUri is only populated if the top-level custom XML element contains the xmlns attribute.

Controlar o comportamento do cálculoControl calculation behavior

Configurar o modo de cálculoSet calculation mode

Por padrão, o Excel recalcula os resultados das fórmulas sempre que uma célula referenciada é alterada.By default, Excel recalculates formula results whenever a referenced cell is changed. O desempenho de seu suplemento pode se beneficiar do ajuste desse comportamento de cálculo.Your add-in's performance may benefit from adjusting this calculation behavior. O objeto Application tem uma propriedade calculationMode do tipo CalculationMode.The Application object has a calculationMode property of type CalculationMode. Esta propriedade pode ser configurada com os seguintes valores:It can be set to the following values:

  • automatic: O comportamento de recálculo padrão em que o Excel calcula novos resultados das fórmulas sempre que o dado relevante é alterado.automatic: The default recalculation behavior where Excel calculates new formula results every time the relevant data is changed.
  • automaticExceptTables: Igual a automatic, exceto que as alterações feitas nos valores em tabelas serão ignoradas.automaticExceptTables: Same as automatic, except any changes made to values in tables are ignored.
  • manual: Os cálculos ocorrem somente quando o usuário ou suplemento os solicita.manual: Calculations only occur when the user or add-in requests them.

Configurar o tipo de cálculoSet calculation type

O objeto Application fornece um método para forçar um recálculo imediato.The Application object provides a method to force an immediate recalculation. Application.calculate(calculationType) inicia o recálculo manual baseado no calculationType especificado.Application.calculate(calculationType) starts a manual recalculation based on the specified calculationType. Os seguintes valores podem ser especificados:The following values can be specified:

  • full: Recalcule todas as fórmulas em todas as pastas de trabalho abertas, independentemente de elas terem sido alteradas desde o último recálculo.full: Recalculate all formulas in all open workbooks, regardless of whether they have changed since the last recalculation.
  • fullRebuild: Verifique as fórmulas dependentes e depois recalcule todas as fórmulas em todas as pastas de trabalho abertas, independentemente de elas terem sido alteradas desde o último recálculo.fullRebuild: Check dependent formulas, and then recalculate all formulas in all open workbooks, regardless of whether they have changed since the last recalculation.
  • recalculate: Recalcule as fórmulas que foram alteradas (ou marcadas por programação para recálculo) desde o último cálculo, e as fórmulas dependentes nelas, em todas as pastas de trabalho ativas.recalculate: Recalculate formulas that have changed (or been programmatically marked for recalculation) since the last calculation, and formulas dependent on them, in all active workbooks.

Observação

Para saber mais sobre o recálculo, confira o artigo Alterar o recálculo, a iteração ou a precisão de fórmulas.For more information about recalculation, see the Change formula recalculation, iteration, or precision article.

Suspender os cálculos temporariamenteTemporarily suspend calculations

A API do Excel também permite que os suplementos desativem os cálculos até que RequestContext.sync() seja chamado.The Excel API also lets add-ins turn off calculations until RequestContext.sync() is called. Isso é feito pelo suspendApiCalculationUntilNextSync().This is done with suspendApiCalculationUntilNextSync(). Use esse método quando seu suplemento estiver editando intervalos extensos sem precisar acessar os dados entre as edições.Use this method when your add-in is editing large ranges without needing to access the data between edits.

context.application.suspendApiCalculationUntilNextSync();

Salvar a pasta de trabalhoSave the workbook

Workbook.save salva a pasta de trabalho para armazenamento persistente.Workbook.save saves the workbook to persistent storage. O método save usa um parâmetro simples e opcional saveBehavior que pode ter um dos seguintes valores:The save method takes a single, optional saveBehavior parameter that can be one of the following values:

  • Excel.SaveBehavior.save (padrão): o arquivo será salvo sem solicitar que o usuário especifique o nome do arquivo e local de salvamento.Excel.SaveBehavior.save (default): The file is saved without prompting the user to specify file name and save location. Se o arquivo não tiver sido salvo anteriormente, ele será salvo no local padrão.If the file has not been saved previously, it's saved to the default location. Se o arquivo tiver sido salvo anteriormente, ele será salvo no mesmo local.If the file has been saved previously, it's saved to the same location.
  • Excel.SaveBehavior.prompt: se o arquivo ainda não foi salvo anteriormente, o usuário será solicitado a especificar o nome do arquivo e o local de salvamento.Excel.SaveBehavior.prompt: If file has not been saved previously, the user will be prompted to specify file name and save location. Se o arquivo tiver sido salvo anteriormente, ele será salvo no mesmo local sem que o usuário seja solicitado.If the file has been saved previously, it will be saved to the same location and the user will not be prompted.

Cuidado

Se o usuário for solicitado a salvar e, em vez disso, cancelar a operação, save gera uma exceção.If the user is prompted to save and cancels the operation, save throws an exception.

context.workbook.save(Excel.SaveBehavior.prompt);

Fechar a pasta de trabalhoClose the workbook

Workbook.close fecha a pasta de trabalho, além de suplementos que estão associados com a pasta de trabalho (o aplicativo Excel permanece aberto).Workbook.close closes the workbook, along with add-ins that are associated with the workbook (the Excel application remains open). O método close usa um parâmetro simples e opcional closeBehavior que pode ter um dos seguintes valores:The close method takes a single, optional closeBehavior parameter that can be one of the following values:

  • Excel.CloseBehavior.save (padrão): o arquivo será salvo antes de fechar.Excel.CloseBehavior.save (default): The file is saved before closing. Se o arquivo não tiver sido salvo anteriormente, o usuário será solicitado a especificar o nome do arquivo e o local para salvá-lo.If the file has not been saved previously, the user will be prompted to specify file name and save location.
  • Excel.CloseBehavior.skipSave: o arquivo é fechado imediatamente, sem ser salvo.Excel.CloseBehavior.skipSave: The file is immediately closed, without saving. Quaisquer alterações não salvas serão perdidas.Any unsaved changes will be lost.
context.workbook.close(Excel.CloseBehavior.save);

Confira tambémSee also