Office.Body interface
O objeto body fornece métodos para adicionar e atualizar o conteúdo da mensagem ou compromisso. É devolvido na propriedade body do item selecionado.
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Para saber como obter ou definir o corpo de um item de correio, consulte Obter ou definir o corpo de uma mensagem ou compromisso no Outlook.
Problema conhecido com as cores de limite da tabela HTML
Outlook no Windows: se estiver a definir vários limites de células para cores diferentes numa tabela HTML no modo Compose, os limites de uma célula poderão não refletir a cor esperada. Para obter o comportamento conhecido, visite OfficeDev/office-js issue #1818.
Nível mínimo de permissão: ler item
Modo Outlook aplicável: Compose ou Leitura
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
Métodos
| append |
Acrescenta ao enviar o conteúdo especificado para o final do corpo do item, após qualquer assinatura. Para utilizar |
| append |
Acrescenta ao enviar o conteúdo especificado para o final do corpo do item, após qualquer assinatura. Para utilizar |
| get |
Devolve todo o corpo atual no formato especificado por |
| get |
Devolve todo o corpo atual no formato especificado por |
| get |
Obtém um valor que indica se o conteúdo está em formato HTML ou texto. |
| get |
Obtém um valor que indica se o conteúdo está em formato HTML ou texto. |
| prepend |
Adiciona o conteúdo especificado ao início do corpo do item. |
| prepend |
Adiciona o conteúdo especificado ao início do corpo do item. |
| prepend |
Anexa HTML ou texto simples ao início de uma mensagem ou corpo de compromisso quando o item de correio é enviado. Para utilizar |
| prepend |
Anexa HTML ou texto simples ao início de uma mensagem ou corpo de compromisso quando o item de correio é enviado. Para utilizar |
| set |
Substitui todo o corpo com o texto especificado. |
| set |
Substitui todo o corpo com o texto especificado. |
| set |
Substitui a seleção no corpo pelo texto especificado. O método |
| set |
Substitui a seleção no corpo pelo texto especificado. O método |
| set |
Adiciona uma assinatura ao corpo do item se não tiver uma assinatura existente. Se já existir uma assinatura no corpo, substitui essa assinatura. |
| set |
Adiciona uma assinatura ao corpo do item se não tiver uma assinatura existente. Se já existir uma assinatura no corpo, substitui essa assinatura. |
Detalhes do método
appendOnSendAsync(data, options, callback)
Acrescenta ao enviar o conteúdo especificado para o final do corpo do item, após qualquer assinatura.
Para utilizar appendOnSendAsynco , tem de especificar uma permissão suplementar no manifesto. Os detalhes variam com o tipo de manifesto. Veja Compreender as permissões de suplementos do Outlook. Para saber mais sobre o acréscimo no envio e a respetiva configuração, consulte Implementar o acréscimo no seu suplemento do Outlook.
appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia a ser adicionada à extremidade do corpo. A cadeia está limitada a 5000 carateres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
coercionType
: o formato pretendido para que os dados sejam acrescentados. A cadeia de caracteres no parâmetro data será convertida para este formato.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.9 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o respetivo valor devolvido para o options.coercionType parâmetro .
Importante:
Se o utilizador estiver a executar suplementos que implementam a funcionalidade
ItemSendno envio através do manifesto, o acréscimo no envio é executado antes da funcionalidade de envio.Se o suplemento implementar a funcionalidade de envio e as chamadas
appendOnSendAsyncnoItemSendprocessador, aappendOnSendAsyncchamada devolve um erro, uma vez que este cenário não é suportado.Para limpar dados de uma chamada anterior
appendOnSendAsync, pode chamá-lo novamente com odataparâmetro definido comonull.Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
appendOnSendAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
appendOnSendAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 5000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmlmas o corpo da mensagem está em texto simples.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/append-text-on-send.yaml
// This snippet appends text to the end of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the appendOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
appendOnSendAsync(data, callback)
Acrescenta ao enviar o conteúdo especificado para o final do corpo do item, após qualquer assinatura.
Para utilizar appendOnSendAsynco , tem de especificar uma permissão suplementar no manifesto. Os detalhes variam com o tipo de manifesto. Veja Compreender as permissões de suplementos do Outlook. Para saber mais sobre o acréscimo no envio e a respetiva configuração, consulte Implementar o acréscimo no seu suplemento do Outlook.
appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia a ser adicionada à extremidade do corpo. A cadeia está limitada a 5000 carateres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.9 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o respetivo valor devolvido para o options.coercionType parâmetro .
Importante:
Se o utilizador estiver a executar suplementos que implementam a funcionalidade
ItemSendno envio através do manifesto, o acréscimo no envio é executado antes da funcionalidade de envio.Se o suplemento implementar a funcionalidade de envio e as chamadas
appendOnSendAsyncnoItemSendprocessador, aappendOnSendAsyncchamada devolve um erro, uma vez que este cenário não é suportado.Para limpar dados de uma chamada anterior
appendOnSendAsync, pode chamá-lo novamente com odataparâmetro definido comonull.Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
appendOnSendAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
appendOnSendAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 5000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmlmas o corpo da mensagem está em texto simples.
getAsync(coercionType, options, callback)
Devolve todo o corpo atual no formato especificado por coercionType.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- coercionType
-
Office.CoercionType | string
O formato do corpo retornado.
- options
-
Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Um objeto literal que contém uma ou mais das propriedades a seguir.
asyncContext
: todos os dados a que pretende aceder na função de chamada de retorno.
bodyMode
: no Outlook na Web, em dispositivos móveis e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversação de mensagem é devolvido. Se um valor não for especificado, a bodyMode predefinição Office.MailboxEnums.BodyMode.FullBodyé , que devolve todo o corpo de uma conversação de mensagem. A bodyMode propriedade aplica-se apenas às respostas na superfície Compose mensagem. É ignorado no Outlook no Windows (clássico) e no Mac.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O corpo é fornecido no formato pedido na asyncResult.value propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: Compose ou Leitura
Importante:
Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o valor devolvido pelo
Body.getAsyncmétodo não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsyncmétodo . O cliente pode modificar o valor transmitido parasetAsyncpara torná-lo composto de forma eficiente com o respetivo motor de composição.No Outlook na Web e no novo Outlook no Windows, especificar
Office.CoercionType.TextnagetAsyncchamada pode nem sempre fornecer formatação fiável. Em vez disso, especifiqueOffice.CoercionType.Htmlespecialmente se o corpo contém elementos formatados, como tabelas, listas e ligações.No Outlook na Web e no novo Outlook no Windows, os utilizadores podem organizar as suas mensagens como conversações ou mensagens individuais na organização Definições>Mensagem deEsquema> deCorreio> (consulte Alterar a forma como a lista de mensagens é apresentada no Outlook). Esta definição afeta a quantidade de corpo de uma mensagem que é apresentada ao utilizador (ou seja, todo o tópico de conversação de uma mensagem ou apenas a mensagem atual). No modo Compose mensagem, especialmente para respostas a um tópico de conversação com mais do que uma mensagem, se quiser que o corpo devolvido reflita a definição do utilizador, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro na suagetAsyncchamada. Se as mensagens forem agrupadas por conversação, só é devolvido o corpo da resposta atual. Por outro lado, se as mensagens forem apresentadas individualmente, todo o tópico de conversação é devolvido.No Outlook em dispositivos móveis, a
bodyModepropriedade está disponível a partir da Versão 4.2538.0.No Outlook em dispositivos móveis, especificar
bodyMode: Office.MailboxEnums.BodyMode.HostConfigdevolve o corpo da resposta atual.No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo de resposta na parte inferior da mensagem), apenas o corpo da resposta atual é devolvido. Isto aplica-se mesmo que
bodyMode: Office.MailboxEnums.BodyMode.FullBodyseja especificado nagetAsyncchamada.A
bodyModeopção não é suportada numa mensagem carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
getAsync(coercionType, callback)
Devolve todo o corpo atual no formato especificado por coercionType.
getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- coercionType
-
Office.CoercionType | string
O formato do corpo retornado.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O corpo é fornecido no formato pedido na asyncResult.value propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: Compose ou Leitura
Importante:
Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o valor devolvido pelo
Body.getAsyncmétodo não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsyncmétodo . O cliente pode modificar o valor transmitido parasetAsyncpara torná-lo composto de forma eficiente com o respetivo motor de composição.No Outlook na Web e no novo Outlook no Windows, especificar
Office.CoercionType.TextnagetAsyncchamada pode nem sempre fornecer formatação fiável. Em vez disso, especifiqueOffice.CoercionType.Htmlespecialmente se o corpo contém elementos formatados, como tabelas, listas e ligações.No Outlook na Web e no novo Outlook no Windows, os utilizadores podem organizar as suas mensagens como conversações ou mensagens individuais na organização Definições>Mensagem deEsquema> deCorreio> (consulte Alterar a forma como a lista de mensagens é apresentada no Outlook). Esta definição afeta a quantidade de corpo de uma mensagem que é apresentada ao utilizador (ou seja, todo o tópico de conversação de uma mensagem ou apenas a mensagem atual). No modo Compose mensagem, especialmente para respostas a um tópico de conversação com mais do que uma mensagem, se quiser que o corpo devolvido reflita a definição do utilizador, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro na suagetAsyncchamada. Se as mensagens forem agrupadas por conversação, só é devolvido o corpo da resposta atual. Por outro lado, se as mensagens forem apresentadas individualmente, todo o tópico de conversação é devolvido.No Outlook em dispositivos móveis, a
bodyModepropriedade está disponível a partir da Versão 4.2538.0.No Outlook em dispositivos móveis, especificar
bodyMode: Office.MailboxEnums.BodyMode.HostConfigdevolve o corpo da resposta atual.No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo de resposta na parte inferior da mensagem), apenas o corpo da resposta atual é devolvido. Isto aplica-se mesmo que
bodyMode: Office.MailboxEnums.BodyMode.FullBodyseja especificado nagetAsyncchamada.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
getTypeAsync(options, callback)
Obtém um valor que indica se o conteúdo está em formato HTML ou texto.
getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
Parâmetros
- options
- Office.AsyncContextOptions
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O tipo de conteúdo é devolvido como um dos CoercionType valores na asyncResult.value propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: Compose
Importante: no Outlook para Android e no iOS, este método não é suportado no modo Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-body-format.yaml
// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log("Body format: " + asyncResult.value);
});
getTypeAsync(callback)
Obtém um valor que indica se o conteúdo está em formato HTML ou texto.
getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;
Parâmetros
- callback
-
(asyncResult: Office.AsyncResult<Office.CoercionType>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. O tipo de conteúdo é devolvido como um dos CoercionType valores na asyncResult.value propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: Compose
Importante: no Outlook para Android e no iOS, este método não é suportado no modo Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
prependAsync(data, options, callback)
Adiciona o conteúdo especificado ao início do corpo do item.
prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
coercionType
: o formato pretendido para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Depois de o conteúdo ser pré-anexado, a posição do cursor depende do cliente em que o suplemento está em execução. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo pré-existente do corpo. Por exemplo, se o cursor tiver sido posicionado no início do corpo antes
prependAsyncda chamada, será apresentado entre o conteúdo pré-anexado e o conteúdo pré-existente do corpo após a chamada. No Outlook para Mac, a posição do cursor não é preservada. O cursor desaparece após aprependAsyncchamada e só volta a aparecer quando o utilizador seleciona algo no corpo do item de correio.Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o cliente pode modificar o valor transmitido para
prependAsynco tornar eficiente com o motor de composição. Isto significa que o valor devolvido de uma chamada subsequente aoBody.getAsyncmétodo (introduzido na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi transmitido na chamada anteriorprependAsync.Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook para Android e no iOS, este método não é suportado no modo de Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
prependAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
prependAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
-
DataExceedsMaximumSize: o parâmetro de dados tem mais de 1000 000 carateres.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-to-item-body.yaml
/* This snippet adds text to the beginning of the message or appointment's body.
When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" prepended to the body.`);
});
});
prependAsync(data, callback)
Adiciona o conteúdo especificado ao início do corpo do item.
prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Depois de o conteúdo ser pré-anexado, a posição do cursor depende do cliente em que o suplemento está em execução. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo pré-existente do corpo. Por exemplo, se o cursor tiver sido posicionado no início do corpo antes
prependAsyncda chamada, será apresentado entre o conteúdo pré-anexado e o conteúdo pré-existente do corpo após a chamada. No Outlook para Mac, a posição do cursor não é preservada. O cursor desaparece após aprependAsyncchamada e só volta a aparecer quando o utilizador seleciona algo no corpo do item de correio.Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o cliente pode modificar o valor transmitido para
prependAsynco tornar eficiente com o motor de composição. Isto significa que o valor devolvido de uma chamada subsequente aoBody.getAsyncmétodo (introduzido na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi transmitido na chamada anteriorprependAsync.Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook para Android e no iOS, este método não é suportado no modo de Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
prependAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
prependAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
-
DataExceedsMaximumSize: o parâmetro de dados tem mais de 1000 000 carateres.
prependOnSendAsync(data, options, callback)
Anexa HTML ou texto simples ao início de uma mensagem ou corpo de compromisso quando o item de correio é enviado.
Para utilizar prependOnSendAsynco , tem de especificar uma permissão suplementar no manifesto. Os detalhes variam com o tipo de manifesto. Para obter orientações, veja Compreender as permissões de suplementos do Outlook.
prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia está limitada a 5000 carateres.
Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: qualquer objeto que possa ser acedido na função de chamada de retorno.
coercionType
: o formato pretendido para o corpo. A cadeia no data parâmetro é convertida para este formato.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.13 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o respetivo valor devolvido para o options.coercionType parâmetro .
Importante: ao prependOnSendAsyncimplementar , tenha em atenção o seguinte.
Num suplemento De Alertas Inteligentes, a funcionalidade de pré-end-on-send é executada primeiro.
É adicionada uma nova linha após o conteúdo pré-end.
Se vários suplementos ativos chamarem
prependOnSendAsync, a ordem do conteúdo inserido depende da ordem pela qual o suplemento é executado. O conteúdo do último suplemento de execução é apresentado acima do conteúdo previamente anexado.Se o suplemento tentar inserir HTML num corpo de texto simples, o conteúdo não será anexado. Por outro lado, o texto simples será inserido num corpo HTML.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
prependOnSendAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
prependOnSendAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro excede os 5000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Html, mas o corpo do item está em formato de texto simples.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml
// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
prependOnSendAsync(data, callback)
Anexa HTML ou texto simples ao início de uma mensagem ou corpo de compromisso quando o item de correio é enviado.
Para utilizar prependOnSendAsynco , tem de especificar uma permissão suplementar no manifesto. Os detalhes variam com o tipo de manifesto. Para obter orientações, veja Compreender as permissões de suplementos do Outlook.
prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia está limitada a 5000 carateres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.13 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o respetivo valor devolvido para o options.coercionType parâmetro .
Importante: ao prependOnSendAsyncimplementar , tenha em atenção o seguinte.
Num suplemento De Alertas Inteligentes, a funcionalidade de pré-end-on-send é executada primeiro.
É adicionada uma nova linha após o conteúdo pré-end.
Se vários suplementos ativos chamarem
prependOnSendAsync, a ordem do conteúdo inserido depende da ordem pela qual o suplemento é executado. O conteúdo do último suplemento de execução é apresentado acima do conteúdo previamente anexado.Se o suplemento tentar inserir HTML num corpo de texto simples, o conteúdo não será anexado. Por outro lado, o texto simples será inserido num corpo HTML.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
prependOnSendAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
prependOnSendAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro excede os 5000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Html, mas o corpo do item está em formato de texto simples.
setAsync(data, options, callback)
Substitui todo o corpo com o texto especificado.
setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia que substitui o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
- options
-
Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Um objeto literal que contém uma ou mais das propriedades a seguir.
asyncContext
: todos os dados a que pretende aceder na função de chamada de retorno.
coercionType
: o formato pretendido para o corpo. A cadeia no data parâmetro é convertida para este formato.
bodyMode
: no Outlook na Web e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversação de mensagem está definido. Se não for especificado um valor, bodyMode a predefinição Office.MailboxEnums.BodyMode.FullBodyé , que substitui todo o corpo, incluindo mensagens anteriores no tópico de conversação. A bodyMode propriedade aplica-se apenas às respostas na superfície Compose mensagem. É ignorado no Outlook no Windows (clássico), no Mac e em dispositivos móveis.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Depois de o corpo ser substituído pelo conteúdo especificado, a posição do cursor depende do cliente em que o suplemento está em execução. No Outlook clássico no Windows, o cursor é apresentado no início do corpo do item de correio. No Outlook na Web e no novo Outlook no Windows, o cursor é apresentado no final do corpo do item de correio. No Outlook para Mac, a posição do cursor não é preservada. O cursor desaparece após a
prependAsyncchamada e só volta a aparecer quando o utilizador seleciona algo no corpo do item de correio.Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o valor devolvido pelo
Body.getAsyncmétodo não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsyncmétodo . O cliente pode modificar o valor transmitido parasetAsyncpara torná-lo composto de forma eficiente com o respetivo motor de composição.Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook no Windows (clássico) e no Mac, o utilizador do suplemento não consegue reverter esta ação com o comando Anular.
No Outlook para Android e no iOS, este método não é suportado no modo de Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
setAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.No Outlook na Web e no novo Outlook no Windows, os utilizadores podem organizar as suas mensagens como conversações ou mensagens individuais na organização Definições>Mensagem deEsquema> deCorreio> (consulte Alterar a forma como a lista de mensagens é apresentada no Outlook). Esta definição afeta a quantidade de corpo de uma mensagem que é apresentada ao utilizador (ou seja, todo o tópico de conversação de uma mensagem ou apenas a mensagem atual). No modo Compose mensagem, especialmente para respostas a um tópico de conversação com mais do que uma mensagem, se quiser respeitar as definições do utilizador ao definir o corpo de uma mensagem, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro na suasetAsyncchamada. Se as mensagens estiverem agrupadas por conversação, apenas o corpo da resposta atual é definido. Por outro lado, se as mensagens forem apresentadas individualmente, todo o corpo, incluindo mensagens anteriores no tópico de conversação, será substituído.No Outlook na Web e no novo Outlook no Windows, se a
bodyModepropriedade não for especificada ou estiver definida comoOffice.MailboxEnums.BodyMode.FullBody, todo o corpo de uma mensagem, incluindo mensagens anteriores do tópico de conversação, será substituído. Isto aplica-se mesmo que as mensagens de um utilizador estejam organizadas por conversação. Neste cenário, a definição do utilizador é alterada temporariamente para Mensagens individuais: Não agrupe mensagens>Apenas uma única mensagem ou Mostrar e-mail como mensagens individuais durante asetAsyncchamada. É apresentada uma notificação ao utilizador para alertá-lo para esta alteração. Após a conclusão da chamada, a definição do utilizador é restabelecida.
Erros:
DataExceedsMaximumSize: o parâmetro de dados tem mais de 1000 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.
Exemplos
// When including links in HTML markup, you can disable online link preview
// by setting the id attribute on the anchor (<a>) to "LPNoLP".
Office.context.mailbox.item.body.setAsync(
'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>',
{
coercionType: Office.CoercionType.Html,
asyncContext: "This is passed to the callback"
},
(result) => {
// Process the result.
}
);
// The following is an example of the result parameter passed to the callback function.
{
"value": null,
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
setAsync(data, callback)
Substitui todo o corpo com o texto especificado.
setAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsynce, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Depois de o corpo ser substituído pelo conteúdo especificado, a posição do cursor depende do cliente em que o suplemento está em execução. No Outlook clássico no Windows, o cursor é apresentado no início do corpo do item de correio. No Outlook na Web e no novo Outlook no Windows, o cursor é apresentado no final do corpo do item de correio. No Outlook para Mac, a posição do cursor não é preservada. O cursor desaparece após a
prependAsyncchamada e só volta a aparecer quando o utilizador seleciona algo no corpo do item de correio.Ao trabalhar com corpos formatados em HTML, é importante ter em atenção que o valor devolvido pelo
Body.getAsyncmétodo não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsyncmétodo . O cliente pode modificar o valor transmitido parasetAsyncpara torná-lo composto de forma eficiente com o respetivo motor de composição.Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook no Windows (clássico) e no Mac, o utilizador do suplemento não consegue reverter esta ação com o comando Anular.
No Outlook para Android e no iOS, este método não é suportado no modo de Compose mensagens. Apenas o modo Organizador de Compromissos é suportado. Para obter mais informações sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
setAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.No Outlook na Web e no novo Outlook no Windows, os utilizadores podem organizar as suas mensagens como conversações ou mensagens individuais na organização Definições>Mensagem deEsquema> deCorreio> (consulte Alterar a forma como a lista de mensagens é apresentada no Outlook). Esta definição afeta a quantidade de corpo de uma mensagem que é apresentada ao utilizador (ou seja, todo o tópico de conversação de uma mensagem ou apenas a mensagem atual). No modo Compose mensagem, especialmente para respostas num tópico de conversação com mais do que uma mensagem, se quiser respeitar as definições do utilizador ao definir o corpo de uma mensagem, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro na suasetAsyncchamada. Se as mensagens estiverem agrupadas por conversação, apenas o corpo da resposta atual é definido. Por outro lado, se as mensagens forem apresentadas individualmente, todo o corpo, incluindo mensagens anteriores no tópico de conversação, será substituído.No Outlook na Web e no novo Outlook no Windows, se a
bodyModepropriedade não for especificada ou estiver definida comoOffice.MailboxEnums.BodyMode.FullBody, todo o corpo de uma mensagem, incluindo mensagens anteriores do tópico de conversação, será substituído. Isto aplica-se mesmo que as mensagens de um utilizador estejam organizadas por conversação. Neste cenário, a definição do utilizador é alterada temporariamente para Mensagens individuais: Não agrupe mensagens>Apenas uma única mensagem ou Mostrar e-mail como mensagens individuais durante asetAsyncchamada. É apresentada uma notificação ao utilizador para alertá-lo para esta alteração. Após a conclusão da chamada, a definição do utilizador é restabelecida.
Erros:
DataExceedsMaximumSize: o parâmetro de dados tem mais de 1000 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.
setSelectedDataAsync(data, options, callback)
Substitui a seleção no corpo pelo texto especificado.
O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
coercionType
: o formato pretendido para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsync e, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
setSelectedDataAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setSelectedDataAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 1000 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/replace-selected-text.yaml
/* This snippet replaces selected text in a message or appointment's body with specified text.
If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
const bodyFormat = asyncResult.value;
Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`Replaced selected text with "${text}".`);
});
});
setSelectedDataAsync(data, callback)
Substitui a seleção no corpo pelo texto especificado.
O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.1 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Recomendado: chame getTypeAsync e, em seguida, transmita o valor devolvido para o options.coercionType parâmetro .
Importante:
Ao incluir ligações na marcação HTML, pode desativar a pré-visualização da ligação online ao definir o
idatributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).Os ficheiros SVG não são suportados. Em alternativa, utilize ficheiros JPG ou PNG.
O
setSelectedDataAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setSelectedDataAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 1000 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.
setSignatureAsync(data, options, callback)
Adiciona uma assinatura ao corpo do item se não tiver uma assinatura existente. Se já existir uma assinatura no corpo, substitui essa assinatura.
setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia que representa a assinatura a ser definida no corpo do e-mail. Esta cadeia está limitada a 30 000 carateres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
coercionType
: o formato para o que a assinatura deve ser definida. Se Texto, o método define a assinatura como texto simples, removendo todas as etiquetas HTML presentes. Se Html, o método define a assinatura como HTML.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.10 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Importante:
No Outlook na Web e no novo Outlook no Windows,
setSignatureAsyncsó funciona em mensagens.Este método é suportado no Message Compose no Outlook para Android e no iOS a partir da Versão 4.2352.0. Para obter um cenário de exemplo, veja Implementar a ativação baseada em eventos em suplementos móveis do Outlook. Para saber mais sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
O comportamento de
setSignatureAsyncdifere se o chamar no processador de eventos de um suplemento que implementa a funcionalidade de ativação baseada em eventos com LaunchEvent no manifesto. Quando o utilizador compõe um novo item (incluindo resposta ou reencaminhamento), a assinatura é definida, mas não modifica o formulário. Isto significa que, se o utilizador fechar o formulário sem efetuar outras edições, não lhe será pedido para guardar as alterações.Os ficheiros SVG não são suportados em assinaturas de correio. Em alternativa, utilize ficheiros JPG ou PNG.
O
setSignatureAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setSignatureAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 30 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
...
// Set the signature for the current item.
const signature = (document.getElementById("signature") as HTMLInputElement).value;
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("setSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
setSignatureAsync(data, callback)
Adiciona uma assinatura ao corpo do item se não tiver uma assinatura existente. Se já existir uma assinatura no corpo, substitui essa assinatura.
setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia que representa a assinatura a ser definida no corpo do e-mail. Esta cadeia está limitada a 30 000 carateres.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.10 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: Compose
Importante:
No Outlook na Web e no novo Outlook no Windows,
setSignatureAsyncsó funciona em mensagens.Este método é suportado no Message Compose no Outlook para Android e no iOS a partir da Versão 4.2352.0. Para obter um cenário de exemplo, veja Implementar a ativação baseada em eventos em suplementos móveis do Outlook. Para saber mais sobre as APIs suportadas no Outlook Mobile, consulte ApIs JavaScript do Outlook suportadas no Outlook em dispositivos móveis.
O comportamento de
setSignatureAsyncdifere se o chamar no processador de eventos de um suplemento que implementa a funcionalidade de ativação baseada em eventos com LaunchEvent no manifesto. Quando o utilizador compõe um novo item (incluindo resposta ou reencaminhamento), a assinatura é definida, mas não modifica o formulário. Isto significa que, se o utilizador fechar o formulário sem efetuar outras edições, não lhe será pedido para guardar as alterações.Os ficheiros SVG não são suportados em assinaturas de correio. Em alternativa, utilize ficheiros JPG ou PNG.
O
setSignatureAsyncmétodo não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.O
setSignatureAsyncmétodo não é suportado numa mensagem atualmente carregada com oloadItemByIdAsyncmétodo . Para obter mais informações, consulte Ativar o seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 30 000 carateres.InvalidFormatError: ooptions.coercionTypeparâmetro está definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto simples.