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 ]
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
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
Métodos
get |
Retorna o corpo atual em um formato especificado. Este método devolve todo o corpo atual no formato especificado por |
get |
Retorna o corpo atual em um formato especificado. Este método 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. |
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 |
Detalhes do método
getAsync(coercionType, options, callback)
Retorna o corpo atual em um formato especificado.
Este método devolve todo o corpo atual no formato especificado por coercionType
.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- coercionType
-
Office.CoercionType | string
O formato do corpo retornado.
- 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<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.getAsync
método não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsync
método . O cliente pode modificar o valor transmitido parasetAsync
para torná-lo composto de forma eficiente com o respetivo motor de composição.No Outlook na Web e no novo Outlook no Windows, se o corpo contiver elementos formatados, como tabelas, listas e ligações, especifique
Office.CoercionType.Html
nagetAsync
chamada. Caso contrário, poderá receber um valor inesperado, como uma cadeia vazia.
Exemplos
// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
"text",
{ asyncContext: "This is passed to the callback" },
function callback(result) {
// Do something with the result.
});
// The following is an example of the result parameter passed to the callback function.
{
"value": "TEXT of whole body (including threads below)",
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
getAsync(coercionType, callback)
Retorna o corpo atual em um formato especificado.
Este método 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.getAsync
método não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsync
método . O cliente pode modificar o valor transmitido parasetAsync
para torná-lo composto de forma eficiente com o respetivo motor de composição.No Outlook na Web e no novo Outlook no Windows, se o corpo contiver elementos formatados, como tabelas, listas e ligações, especifique
Office.CoercionType.Html
nagetAsync
chamada. Caso contrário, poderá receber um valor inesperado, como uma cadeia vazia.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
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 getTypeAsync
e, 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
prependAsync
da 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 aprependAsync
chamada 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
prependAsync
o tornar eficiente com o motor de composição. Isto significa que o valor devolvido de uma chamada subsequente aoBody.getAsync
mé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
id
atributo 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
prependAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
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 = $("#text-field").val().toString();
// 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 getTypeAsync
e, 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
prependAsync
da 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 aprependAsync
chamada 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
prependAsync
o tornar eficiente com o motor de composição. Isto significa que o valor devolvido de uma chamada subsequente aoBody.getAsync
mé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
id
atributo 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
prependAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
Erros:
-
DataExceedsMaximumSize
: o parâmetro de dados tem mais de 1000 000 carateres.
setAsync(data, options, callback)
Substitui todo o corpo com o texto especificado.
setAsync(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.3 ]
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:
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
prependAsync
chamada 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.getAsync
método não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsync
método . O cliente pode modificar o valor transmitido parasetAsync
para 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
id
atributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook no Windows 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
setAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
Erros:
DataExceedsMaximumSize
: o parâmetro de dados tem mais de 1000 000 carateres.InvalidFormatError
: ooptions.coercionType
parâmetro está definido comoOffice.CoercionType.Html
e 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
const mailItem = Office.context.mailbox.item;
const base64String =
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";
// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
// Insert the Base64-encoded image to the beginning of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
let body = attachResult.asyncContext;
body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);
mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Inline Base64-encoded image added to the body.");
} else {
console.log(setResult.error.message);
}
});
} else {
console.log(attachResult.error.message);
}
});
} else {
console.log(bodyResult.error.message);
}
});
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 getTypeAsync
e, 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
prependAsync
chamada 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.getAsync
método não será necessariamente o mesmo valor que foi transmitido anteriormente noBody.setAsync
método . O cliente pode modificar o valor transmitido parasetAsync
para 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
id
atributo na âncora (<a>) como "LPNoLP" (consulte a secção Exemplos de um exemplo).No Outlook no Windows 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
setAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
Erros:
DataExceedsMaximumSize
: o parâmetro de dados tem mais de 1000 000 carateres.InvalidFormatError
: ooptions.coercionType
parâmetro está definido comoOffice.CoercionType.Html
e 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
id
atributo 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
setSelectedDataAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
Erros:
DataExceedsMaximumSize
: odata
parâmetro tem mais de 1000 000 carateres.InvalidFormatError
: ooptions.coercionType
parâmetro está definido comoOffice.CoercionType.Html
e 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 = $("#text-field").val().toString();
// 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
id
atributo 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
setSelectedDataAsync
método não suporta CSS inline. Em alternativa, utilize CSS interno ou externo.
Erros:
DataExceedsMaximumSize
: odata
parâmetro tem mais de 1000 000 carateres.InvalidFormatError
: ooptions.coercionType
parâmetro está definido comoOffice.CoercionType.Html
e o corpo da mensagem está em texto simples.