Definir automaticamente o assunto de uma nova mensagem ou compromisso

Precisa de adicionar uma exclusão de responsabilidade necessária a todas as suas mensagens? Com um suplemento baseado em eventos, o conteúdo é adicionado automaticamente a novas mensagens ou compromissos. Os seus utilizadores podem concentrar-se na escrita, em vez da conformidade.

As secções seguintes ensinam-no a desenvolver um suplemento que processa os OnNewMessageCompose eventos e OnNewAppointmentOrganizer . No final destas instruções, terá um suplemento que define automaticamente o assunto das novas mensagens e compromissos que estão a ser criados.

Observação

Os OnNewMessageCompose eventos e OnNewAppointmentOrganizer foram introduzidos no conjunto de requisitos 1.10. Para verificar se o seu cliente do Outlook suporta estes eventos, veja Conjuntos de requisitos suportados pelos servidores Exchange e clientes do Outlook.

Configurar seu ambiente

Conclua o guia de introdução do Outlook , que cria um projeto de suplemento com o gerador Yeoman para Suplementos do Office.

Configurar o manifesto

Para configurar o manifesto, selecione o separador para o tipo de manifesto que está a utilizar.

  1. Abra o ficheiro manifest.json .

  2. Adicione o seguinte objeto à matriz "extensions.runtimes". Observe o seguinte sobre esta marcação:

    • A "minVersion" do conjunto de requisitos da Caixa de Correio está configurada para "1.10", uma vez que esta é a versão mais baixa do conjunto de requisitos que suporta os OnNewMessageCompose eventos e OnNewAppointmentOrganizer .

    • O "ID" do runtime está definido como o nome descritivo "autorun_runtime".

    • A propriedade "code" tem uma propriedade "page" subordinada que está definida como um ficheiro HTML e uma propriedade "script" subordinada que está definida como um ficheiro JavaScript. Irá criar ou editar estes ficheiros em passos posteriores. O Office utiliza um destes valores consoante a plataforma.

      • O Office no Windows executa os processadores de eventos num runtime apenas javaScript, que carrega diretamente um ficheiro JavaScript.
      • O Office no Mac e na Web e o novo Outlook no Windows executam os processadores num runtime do browser, que carrega um ficheiro HTML. Esse ficheiro, por sua vez, contém uma <script> etiqueta que carrega o ficheiro JavaScript.

      Para obter mais informações, consulte Runtimes nos Suplementos do Office.

    • A propriedade "lifetime" está definida como "short", o que significa que o runtime é iniciado quando um dos eventos é acionado e é encerrado quando o processador é concluído. (Em determinados casos raros, o runtime é encerrado antes de o processador ser concluído. Consulte Runtimes nos Suplementos do Office.)

    • Existem dois tipos de "ações" que podem ser executados no runtime. Irá criar funções para corresponder a estas ações num passo posterior.

     {
        "requirements": {
            "capabilities": [
                {
                    "name": "Mailbox",
                    "minVersion": "1.10"
                }
            ]
        },
        "id": "autorun_runtime",
        "type": "general",
        "code": {
            "page": "https://localhost:3000/commands.html",
            "script": "https://localhost:3000/launchevent.js"
        },
        "lifetime": "short",
        "actions": [
            {
                "id": "onNewMessageComposeHandler",
                "type": "executeFunction",
                "displayName": "onNewMessageComposeHandler"
            },
            {
                "id": "onNewAppointmentComposeHandler",
                "type": "executeFunction",
                "displayName": "onNewAppointmentComposeHandler"
            }
        ]
    }
    
  3. Adicione a seguinte matriz "autoRunEvents" como uma propriedade do objeto na matriz "extensions".

    "autoRunEvents": [
    
    ]
    
  4. Adicione o seguinte objeto à matriz "autoRunEvents". A propriedade "eventos" mapeia processadores para eventos, conforme descrito na tabela anterior neste artigo. Os nomes do processador têm de corresponder aos utilizados nas propriedades "id" dos objetos na matriz "actions" num passo anterior.

      {
          "requirements": {
              "capabilities": [
                  {
                      "name": "Mailbox",
                      "minVersion": "1.10"
                  }
              ],
              "scopes": [
                  "mail"
              ]
          },
          "events": [
              {
                  "type": "newMessageComposeCreated",
                  "actionId": "onNewMessageComposeHandler"
              },
              {
                  "type": "newAppointmentOrganizerCreated",
                  "actionId": "onNewAppointmentComposeHandler"
              }
          ]
      }
    

Dica

Implementar o processamento de eventos

  1. A partir do mesmo projeto de início rápido, crie uma nova pasta com o nome launchevent no diretório ./src .

  2. Na pasta ./src/launchevent , crie um novo ficheiro com o nome launchevent.js.

  3. Abra o ficheiro ./src/launchevent/launchevent.js no editor de código e adicione o seguinte código JavaScript.

    /*
    * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
    * See LICENSE in the project root for license information.
    */
    
    function onNewMessageComposeHandler(event) {
      setSubject(event);
    }
    function onNewAppointmentComposeHandler(event) {
      setSubject(event);
    }
    function setSubject(event) {
      Office.context.mailbox.item.subject.setAsync(
        "Set by an event-based add-in!",
        {
          "asyncContext": event
        },
        function (asyncResult) {
          // Handle success or error.
          if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
            console.error("Failed to set subject: " + JSON.stringify(asyncResult.error));
          }
    
          // Call event.completed() to signal to the Outlook client that the add-in has completed processing the event.
          asyncResult.asyncContext.completed();
        });
    }
    
    // IMPORTANT: To ensure your add-in is supported in the Outlook client on Windows, remember to map the event handler name specified in the manifest to its JavaScript counterpart.
    if (Office.context.platform === Office.PlatformType.PC || Office.context.platform == null) {
      Office.actions.associate("onNewMessageComposeHandler", onNewMessageComposeHandler);
      Office.actions.associate("onNewAppointmentComposeHandler", onNewAppointmentComposeHandler);
    }
    
  4. Salve suas alterações.

Observação

Existem algumas limitações que tem de ter em conta ao desenvolver um suplemento baseado em eventos para o Outlook clássico no Windows. Para saber mais, veja Event-based activation behavior and limitations (Comportamento e limitações da ativação baseada em eventos).

Atualizar o ficheiro HTML dos comandos

  1. Na pasta ./src/commands , abra commands.html.

  2. Imediatamente antes da etiqueta principal de fecho (</head>), adicione uma entrada de script para incluir o código JavaScript de processamento de eventos.

    <script type="text/javascript" src="../launchevent/launchevent.js"></script>
    
  3. Salve suas alterações.

Atualizar as configurações webpack config

  1. Abra o ficheiro webpack.config.js encontrado no diretório de raiz do projeto e conclua os seguintes passos.

  2. Localize a plugins matriz no config objeto e adicione este novo objeto no início da matriz.

    new CopyWebpackPlugin({
      patterns: [
        {
          from: "./src/launchevent/launchevent.js",
          to: "launchevent.js",
        },
      ],
    }),
    
  3. Salve suas alterações.

Experimente

  1. Execute os seguintes comandos no diretório de raiz do projeto. Quando executa npm starto , o servidor Web local será iniciado (se ainda não estiver em execução) e o suplemento será sideloaded.

    npm run build
    
    npm start
    

    Observação

    Se o suplemento não tiver sido carregado automaticamente em sideload, siga as instruções em Sideload Suplementos do Outlook para testar para fazer sideload manualmente do suplemento no Outlook.

  2. No Outlook na Web ou no novo Outlook no Windows, crie uma nova mensagem.

    Uma janela de mensagem no Outlook na Web com o assunto definido em composição.

  3. No Outlook na nova IU do Mac, crie uma nova mensagem.

    Uma janela de mensagem no Outlook na nova IU do Mac com o assunto definido na composição.

  4. No Outlook clássico no Windows, crie uma nova mensagem.

    Uma janela de mensagem no Outlook clássico no Windows com o assunto definido em composição.

  5. Quando quiser parar o servidor Web local e desinstalar o suplemento, siga as instruções aplicáveis:

    • Para parar o servidor, execute o seguinte comando. Se tiver utilizado npm start, o seguinte comando também deve desinstalar o suplemento.

      npm stop
      
    • Se tiver carregado manualmente o suplemento em sideload, consulte Remover um suplemento sideloaded.

Próximas etapas

Para saber mais sobre a ativação baseada em eventos e outros eventos que pode implementar no seu suplemento, consulte Configurar o suplemento do Outlook para ativação baseada em eventos.

Confira também