Word.ContentControl class
Representa um controle de conteúdo. Controles de conteúdo são regiões limitadas e possivelmente rotuladas de um documento, que servem como contêineres para tipos específicos de conteúdo. Os controles de conteúdo individuais podem incluir conteúdo, como imagens, tabelas ou parágrafos de texto formatado. Atualmente, apenas são suportados controlos de texto formatado, texto simples, caixa de verificação, lista pendente e conteúdo de caixa de combinação.
- Extends
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to load the properties on the first content control.
contentControls.items[0].load( 'appearance,' +
'cannotDelete,' +
'cannotEdit,' +
'color,' +
'id,' +
'placeHolderText,' +
'removeWhenEdited,' +
'title,' +
'text,' +
'type,' +
'style,' +
'tag,' +
'font/size,' +
'font/name,' +
'font/color');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Property values of the first content control:' +
' ----- appearance: ' + contentControls.items[0].appearance +
' ----- cannotDelete: ' + contentControls.items[0].cannotDelete +
' ----- cannotEdit: ' + contentControls.items[0].cannotEdit +
' ----- color: ' + contentControls.items[0].color +
' ----- id: ' + contentControls.items[0].id +
' ----- placeHolderText: ' + contentControls.items[0].placeholderText +
' ----- removeWhenEdited: ' + contentControls.items[0].removeWhenEdited +
' ----- title: ' + contentControls.items[0].title +
' ----- text: ' + contentControls.items[0].text +
' ----- type: ' + contentControls.items[0].type +
' ----- style: ' + contentControls.items[0].style +
' ----- tag: ' + contentControls.items[0].tag +
' ----- font size: ' + contentControls.items[0].font.size +
' ----- font name: ' + contentControls.items[0].font.name +
' ----- font color: ' + contentControls.items[0].font.color);
}
});
Propriedades
| appearance | Especifica o aspeto do controlo de conteúdo. O valor pode ser |
| building |
Obtém os dados relacionados com a galeria de blocos modulares se o controlo de conteúdo Word. ContentControlType é |
| cannot |
Especifica um valor que indica se o utilizador pode eliminar o controlo de conteúdo. Mutuamente exclusivo com |
| cannot |
Especifica um valor que indica se o utilizador pode editar os conteúdos do controlo de conteúdo. |
| checkbox |
Obtém os dados do controlo de conteúdo quando o respetivo tipo é |
| color | Especifica a cor do controlo de conteúdo. A cor é especificada no formato "#RRGGBB" ou utilizando o nome da cor. |
| combo |
Obtém os dados do controlo de conteúdo quando o respetivo tipo é |
| content |
Obtém a coleção de |
| context | O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office. |
| date |
Obtém os dados relacionados com o seletor de datas se o controlo de conteúdo Word. ContentControlType é |
| drop |
Obtém os dados do controlo de conteúdo quando o respetivo tipo é |
| endnotes | Obtém a coleção de notas de fim no controlo de conteúdo. |
| fields | Obtém a coleção de |
| font | Obtém o formato de texto do controle de conteúdo. Use isto para obter e definir o nome, o tamanho e a cor da fonte, além de outras propriedades. |
| footnotes | Obtém a coleção de notas de rodapé no controlo de conteúdo. |
| group |
Obtém os dados relacionados com o grupo se o controlo de conteúdo Word. ContentControlType é |
| id | Obtém um número inteiro que representa o identificador do controle de conteúdo. |
| inline |
Obtém a coleção de |
| lists | Obtém a coleção de |
| paragraphs | Obtém a coleção de |
| parent |
Obtém o corpo pai do controle de conteúdo. |
| parent |
Obtém o controle de conteúdo que inclui o controle de conteúdo. Gera um |
| parent |
Obtém o controle de conteúdo que inclui o controle de conteúdo. Se não existir um controlo de conteúdo principal, este método devolverá um objeto com a respetiva |
| parent |
Obtém a tabela que contém o controle de conteúdo. Gera um |
| parent |
Obtém a célula de tabela que contém o controle de conteúdo. Gera um |
| parent |
Obtém a célula de tabela que contém o controle de conteúdo. Se não estiver contido numa célula de tabela, este método devolverá um objeto com a respetiva |
| parent |
Obtém a tabela que contém o controle de conteúdo. Se não estiver contido numa tabela, este método devolverá um objeto com a respetiva |
| picture |
Obtém os dados relacionados com a imagem se o controlo de conteúdo Word. ContentControlType é |
| placeholder |
Especifica o texto do marcador de posição do controlo de conteúdo. Quando o controle de conteúdo está vazio, o sistema exibe o texto esmaecido. |
| remove |
Especifica um valor que indica se o controlo de conteúdo é removido depois de ser editado. Mutuamente exclusivo com |
| repeating |
Obtém os dados relacionados com a secção de repetição se o controlo de conteúdo for Word. ContentControlType é |
| style | Especifica o nome do estilo para o controlo de conteúdo. Use esta propriedade de estilos personalizados e nomes de estilo localizados. Para utilizar os estilos incorporados que são portáteis entre regiões, consulte a |
| style |
Especifica o nome de estilo incorporado para o controlo de conteúdo. Use esta propriedade para estilos internos que são portáteis entre localidades. Para utilizar estilos personalizados ou nomes de estilos localizados, consulte a |
| subtype | Obtém o subtipo de controle de conteúdo. O subtipo pode ser |
| tables | Obtém a coleção de |
| tag | Especifica uma etiqueta para identificar um controlo de conteúdo. |
| text | Obtém o texto do controle de conteúdo. |
| title | Especifica o título de um controlo de conteúdo. |
| type | Obtém o tipo de controle de conteúdo. Atualmente, só são suportados controlos de texto formatado, texto simples, caixa de marcar, lista pendente, caixa de combinação, galeria de blocos modulares, seletor de datas, secção de repetição, imagem e conteúdo de grupo. |
| xml |
Devolve um |
Métodos
| clear() | Limpa o conteúdo do controle de conteúdo. O usuário pode executar a operação de desfazer no conteúdo limpo. |
| delete(keep |
Exclui o controle de conteúdo e o respectivo conteúdo. Se |
| get |
Obtém comentários associados ao controlo de conteúdo. |
| get |
Obtém os controlos de conteúdo subordinado atualmente suportados neste controlo de conteúdo. |
| get |
Obtém uma representação HTML do |
| get |
Obtém a representação office Open XML (OOXML) do |
| get |
Obtém o controle de todo o conteúdo, ou então, os pontos inicial ou final do controle de conteúdo, como um intervalo. |
| get |
Obtém o texto revisto com base na seleção ChangeTrackingVersion. |
| get |
Obtém o texto revisto com base na seleção ChangeTrackingVersion. |
| get |
Obtém os intervalos de texto no controlo de conteúdo com marcas de pontuação e outras marcas finais. |
| get |
Obtém a coleção dos |
| insert |
Insere uma quebra no local especificado no documento principal. Este método não pode ser utilizado com |
| insert |
Insere um documento no controlo de conteúdo na localização especificada. |
| insert |
Insere HTML no local especificado dentro do controle de conteúdo. |
| insert |
Insere uma imagem embutida no local especificado dentro do controle de conteúdo. |
| insert |
Insere OOXML no controlo de conteúdo na localização especificada. |
| insert |
Insere um parágrafo no local especificado. |
| insert |
Insere uma tabela com a quantidade especificada de linhas e colunas dentro ou próxima do controle de conteúdo. |
| insert |
Insere texto no local especificado dentro do controle de conteúdo. |
| load(options) | Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| reset |
Repõe o estado do controlo de conteúdo. |
| search(search |
Efetua uma pesquisa com as opções de pesquisa especificadas no âmbito do |
| select(selection |
Seleciona o controle de conteúdo. Isso faz com que o Word role até a seleção. |
| select(selection |
Seleciona o controle de conteúdo. Isso faz com que o Word role até a seleção. |
| set(properties, options) | Define várias propriedades de um objeto ao mesmo tempo. Pode transmitir um objeto simples com as propriedades adequadas ou outro objeto de API do mesmo tipo. |
| set(properties) | Define várias propriedades no objeto ao mesmo tempo, com base num objeto carregado existente. |
| set |
Define o estado do controlo de conteúdo. |
| set |
Define o estado do controlo de conteúdo. |
| split(delimiters, multi |
Divide o controle de conteúdo em intervalos filho usando delimitadores. |
| toJSON() | Substitui o método JavaScript |
| track() | Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre |
| untrack() | Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar |
Eventos
| on |
Ocorre quando são adicionados novos comentários. |
| on |
Ocorre quando um comentário ou a respetiva resposta é alterada. |
| on |
Ocorre quando um comentário é desselecionado. |
| on |
Ocorre quando um comentário é selecionado. |
| on |
Ocorre quando os dados no controlo de conteúdo são alterados. Para obter o novo texto, carregue este controlo de conteúdo no processador. Para obter o texto antigo, não o carregue. |
| on |
Ocorre quando o controlo de conteúdo é eliminado. Não carregue este controlo de conteúdo no processador. Caso contrário, não conseguirá obter as respetivas propriedades originais. |
| on |
Ocorre quando o controlo de conteúdo é introduzido. |
| on |
Ocorre quando o controlo de conteúdo é fechado, por exemplo, quando o cursor deixa o controlo de conteúdo. |
| on |
Ocorre quando a seleção no controlo de conteúdo é alterada. |
Detalhes da propriedade
appearance
Especifica o aspeto do controlo de conteúdo. O valor pode ser boundingBox, tagsou hidden.
appearance: Word.ContentControlAppearance | "BoundingBox" | "Tags" | "Hidden";
Valor da propriedade
Word.ContentControlAppearance | "BoundingBox" | "Tags" | "Hidden"
Comentários
buildingBlockGalleryContentControl
Obtém os dados relacionados com a galeria de blocos modulares se o controlo de conteúdo Word. ContentControlType é buildingBlockGallery. De null outra forma.
readonly buildingBlockGalleryContentControl: Word.BuildingBlockGalleryContentControl;
Valor da propriedade
Comentários
cannotDelete
Especifica um valor que indica se o utilizador pode eliminar o controlo de conteúdo. Mutuamente exclusivo com removeWhenEdited.
cannotDelete: boolean;
Valor da propriedade
boolean
Comentários
cannotEdit
Especifica um valor que indica se o utilizador pode editar os conteúdos do controlo de conteúdo.
cannotEdit: boolean;
Valor da propriedade
boolean
Comentários
checkboxContentControl
Obtém os dados do controlo de conteúdo quando o respetivo tipo é checkBox. De null outra forma.
readonly checkboxContentControl: Word.CheckboxContentControl;
Valor da propriedade
Comentários
[ Conjunto de API: WordApi 1.7 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-checkbox-content-control.yaml
// Toggles the isChecked property of the first checkbox content control found in the selection.
await Word.run(async (context) => {
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.checkBox]
})
.getFirstOrNullObject();
selectedContentControl.load("id,checkboxContentControl/isChecked");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,checkboxContentControl/isChecked");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.checkBox) {
console.warn("No checkbox content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
const isCheckedBefore = selectedContentControl.checkboxContentControl.isChecked;
console.log("isChecked state before:", `id: ${selectedContentControl.id} ... isChecked: ${isCheckedBefore}`);
selectedContentControl.checkboxContentControl.isChecked = !isCheckedBefore;
selectedContentControl.load("id,checkboxContentControl/isChecked");
await context.sync();
console.log(
"isChecked state after:",
`id: ${selectedContentControl.id} ... isChecked: ${selectedContentControl.checkboxContentControl.isChecked}`
);
});
color
Especifica a cor do controlo de conteúdo. A cor é especificada no formato "#RRGGBB" ou utilizando o nome da cor.
color: string;
Valor da propriedade
string
Comentários
comboBoxContentControl
Obtém os dados do controlo de conteúdo quando o respetivo tipo é comboBox. De null outra forma.
readonly comboBoxContentControl: Word.ComboBoxContentControl;
Valor da propriedade
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-combo-box-content-control.yaml
// Adds the provided list item to the first combo box content control in the selection.
await Word.run(async (context) => {
const listItemText = (document.getElementById("item-to-add") as HTMLInputElement).value.trim();
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.comboBox]
})
.getFirstOrNullObject();
selectedContentControl.load("id,comboBoxContentControl");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,comboBoxContentControl");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.comboBox) {
console.warn("No combo box content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
selectedContentControl.comboBoxContentControl.addListItem(listItemText);
await context.sync();
console.log(`List item added to control with ID ${selectedContentControl.id}: ${listItemText}`);
});
contentControls
Obtém a coleção de ContentControl objetos no controlo de conteúdo.
readonly contentControls: Word.ContentControlCollection;
Valor da propriedade
Comentários
context
O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.
context: RequestContext;
Valor da propriedade
datePickerContentControl
Obtém os dados relacionados com o seletor de datas se o controlo de conteúdo Word. ContentControlType é datePicker. De null outra forma.
readonly datePickerContentControl: Word.DatePickerContentControl;
Valor da propriedade
Comentários
dropDownListContentControl
Obtém os dados do controlo de conteúdo quando o respetivo tipo é dropDownList. De null outra forma.
readonly dropDownListContentControl: Word.DropDownListContentControl;
Valor da propriedade
Comentários
[ Conjunto de API: WordApi 1.9 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-dropdown-list-content-control.yaml
// Adds the provided list item to the first dropdown list content control in the selection.
await Word.run(async (context) => {
const listItemText = (document.getElementById("item-to-add") as HTMLInputElement).value.trim();
const selectedRange: Word.Range = context.document.getSelection();
let selectedContentControl = selectedRange
.getContentControls({
types: [Word.ContentControlType.dropDownList]
})
.getFirstOrNullObject();
selectedContentControl.load("id,dropDownListContentControl");
await context.sync();
if (selectedContentControl.isNullObject) {
const parentContentControl: Word.ContentControl = selectedRange.parentContentControl;
parentContentControl.load("id,type,dropDownListContentControl");
await context.sync();
if (parentContentControl.isNullObject || parentContentControl.type !== Word.ContentControlType.dropDownList) {
console.warn("No dropdown list content control is currently selected.");
return;
} else {
selectedContentControl = parentContentControl;
}
}
selectedContentControl.dropDownListContentControl.addListItem(listItemText);
await context.sync();
console.log(`List item added to control with ID ${selectedContentControl.id}: ${listItemText}`);
});
endnotes
Obtém a coleção de notas de fim no controlo de conteúdo.
readonly endnotes: Word.NoteItemCollection;
Valor da propriedade
Comentários
fields
Obtém a coleção de Field objetos no controlo de conteúdo.
readonly fields: Word.FieldCollection;
Valor da propriedade
Comentários
font
Obtém o formato de texto do controle de conteúdo. Use isto para obter e definir o nome, o tamanho e a cor da fonte, além de outras propriedades.
readonly font: Word.Font;
Valor da propriedade
Comentários
footnotes
Obtém a coleção de notas de rodapé no controlo de conteúdo.
readonly footnotes: Word.NoteItemCollection;
Valor da propriedade
Comentários
groupContentControl
Obtém os dados relacionados com o grupo se o controlo de conteúdo Word. ContentControlType é group. De null outra forma.
readonly groupContentControl: Word.GroupContentControl;
Valor da propriedade
Comentários
id
Obtém um número inteiro que representa o identificador do controle de conteúdo.
readonly id: number;
Valor da propriedade
number
Comentários
inlinePictures
Obtém a coleção de InlinePicture objetos no controlo de conteúdo. A coleção não inclui imagens flutuantes.
readonly inlinePictures: Word.InlinePictureCollection;
Valor da propriedade
Comentários
lists
Obtém a coleção de List objetos no controlo de conteúdo.
readonly lists: Word.ListCollection;
Valor da propriedade
Comentários
paragraphs
Obtém a coleção de Paragraph objetos no controlo de conteúdo.
readonly paragraphs: Word.ParagraphCollection;
Valor da propriedade
Comentários
[ Conjunto de API: WordApi 1.1 ]
Importante: para os conjuntos de requisitos 1.1 e 1.2, os parágrafos em tabelas totalmente contidas neste controlo de conteúdo não são devolvidos. A partir do conjunto de requisitos 1.3, os parágrafos nessas tabelas também são devolvidos.
parentBody
Obtém o corpo pai do controle de conteúdo.
readonly parentBody: Word.Body;
Valor da propriedade
Comentários
parentContentControl
Obtém o controle de conteúdo que inclui o controle de conteúdo. Gera um ItemNotFound erro se não existir um controlo de conteúdo principal.
readonly parentContentControl: Word.ContentControl;
Valor da propriedade
Comentários
parentContentControlOrNullObject
Obtém o controle de conteúdo que inclui o controle de conteúdo. Se não existir um controlo de conteúdo principal, este método devolverá um objeto com a respetiva isNullObject propriedade definida como true. Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).
readonly parentContentControlOrNullObject: Word.ContentControl;
Valor da propriedade
Comentários
parentTable
Obtém a tabela que contém o controle de conteúdo. Gera um ItemNotFound erro se não estiver contido numa tabela.
readonly parentTable: Word.Table;
Valor da propriedade
Comentários
parentTableCell
Obtém a célula de tabela que contém o controle de conteúdo. Gera um ItemNotFound erro se não estiver contido numa célula de tabela.
readonly parentTableCell: Word.TableCell;
Valor da propriedade
Comentários
parentTableCellOrNullObject
Obtém a célula de tabela que contém o controle de conteúdo. Se não estiver contido numa célula de tabela, este método devolverá um objeto com a respetiva isNullObject propriedade definida como true. Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).
readonly parentTableCellOrNullObject: Word.TableCell;
Valor da propriedade
Comentários
parentTableOrNullObject
Obtém a tabela que contém o controle de conteúdo. Se não estiver contido numa tabela, este método devolverá um objeto com a respetiva isNullObject propriedade definida como true. Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).
readonly parentTableOrNullObject: Word.Table;
Valor da propriedade
Comentários
pictureContentControl
Obtém os dados relacionados com a imagem se o controlo de conteúdo Word. ContentControlType é picture. De null outra forma.
readonly pictureContentControl: Word.PictureContentControl;
Valor da propriedade
Comentários
placeholderText
Especifica o texto do marcador de posição do controlo de conteúdo. Quando o controle de conteúdo está vazio, o sistema exibe o texto esmaecido.
placeholderText: string;
Valor da propriedade
string
Comentários
removeWhenEdited
Especifica um valor que indica se o controlo de conteúdo é removido depois de ser editado. Mutuamente exclusivo com cannotDelete.
removeWhenEdited: boolean;
Valor da propriedade
boolean
Comentários
repeatingSectionContentControl
Obtém os dados relacionados com a secção de repetição se o controlo de conteúdo for Word. ContentControlType é repeatingSection. De null outra forma.
readonly repeatingSectionContentControl: Word.RepeatingSectionContentControl;
Valor da propriedade
Comentários
style
Especifica o nome do estilo para o controlo de conteúdo. Use esta propriedade de estilos personalizados e nomes de estilo localizados. Para utilizar os estilos incorporados que são portáteis entre regiões, consulte a styleBuiltIn propriedade .
style: string;
Valor da propriedade
string
Comentários
styleBuiltIn
Especifica o nome de estilo incorporado para o controlo de conteúdo. Use esta propriedade para estilos internos que são portáteis entre localidades. Para utilizar estilos personalizados ou nomes de estilos localizados, consulte a style propriedade .
styleBuiltIn: Word.BuiltInStyleName | "Other" | "Normal" | "Heading1" | "Heading2" | "Heading3" | "Heading4" | "Heading5" | "Heading6" | "Heading7" | "Heading8" | "Heading9" | "Toc1" | "Toc2" | "Toc3" | "Toc4" | "Toc5" | "Toc6" | "Toc7" | "Toc8" | "Toc9" | "FootnoteText" | "Header" | "Footer" | "Caption" | "FootnoteReference" | "EndnoteReference" | "EndnoteText" | "Title" | "Subtitle" | "Hyperlink" | "Strong" | "Emphasis" | "NoSpacing" | "ListParagraph" | "Quote" | "IntenseQuote" | "SubtleEmphasis" | "IntenseEmphasis" | "SubtleReference" | "IntenseReference" | "BookTitle" | "Bibliography" | "TocHeading" | "TableGrid" | "PlainTable1" | "PlainTable2" | "PlainTable3" | "PlainTable4" | "PlainTable5" | "TableGridLight" | "GridTable1Light" | "GridTable1Light_Accent1" | "GridTable1Light_Accent2" | "GridTable1Light_Accent3" | "GridTable1Light_Accent4" | "GridTable1Light_Accent5" | "GridTable1Light_Accent6" | "GridTable2" | "GridTable2_Accent1" | "GridTable2_Accent2" | "GridTable2_Accent3" | "GridTable2_Accent4" | "GridTable2_Accent5" | "GridTable2_Accent6" | "GridTable3" | "GridTable3_Accent1" | "GridTable3_Accent2" | "GridTable3_Accent3" | "GridTable3_Accent4" | "GridTable3_Accent5" | "GridTable3_Accent6" | "GridTable4" | "GridTable4_Accent1" | "GridTable4_Accent2" | "GridTable4_Accent3" | "GridTable4_Accent4" | "GridTable4_Accent5" | "GridTable4_Accent6" | "GridTable5Dark" | "GridTable5Dark_Accent1" | "GridTable5Dark_Accent2" | "GridTable5Dark_Accent3" | "GridTable5Dark_Accent4" | "GridTable5Dark_Accent5" | "GridTable5Dark_Accent6" | "GridTable6Colorful" | "GridTable6Colorful_Accent1" | "GridTable6Colorful_Accent2" | "GridTable6Colorful_Accent3" | "GridTable6Colorful_Accent4" | "GridTable6Colorful_Accent5" | "GridTable6Colorful_Accent6" | "GridTable7Colorful" | "GridTable7Colorful_Accent1" | "GridTable7Colorful_Accent2" | "GridTable7Colorful_Accent3" | "GridTable7Colorful_Accent4" | "GridTable7Colorful_Accent5" | "GridTable7Colorful_Accent6" | "ListTable1Light" | "ListTable1Light_Accent1" | "ListTable1Light_Accent2" | "ListTable1Light_Accent3" | "ListTable1Light_Accent4" | "ListTable1Light_Accent5" | "ListTable1Light_Accent6" | "ListTable2" | "ListTable2_Accent1" | "ListTable2_Accent2" | "ListTable2_Accent3" | "ListTable2_Accent4" | "ListTable2_Accent5" | "ListTable2_Accent6" | "ListTable3" | "ListTable3_Accent1" | "ListTable3_Accent2" | "ListTable3_Accent3" | "ListTable3_Accent4" | "ListTable3_Accent5" | "ListTable3_Accent6" | "ListTable4" | "ListTable4_Accent1" | "ListTable4_Accent2" | "ListTable4_Accent3" | "ListTable4_Accent4" | "ListTable4_Accent5" | "ListTable4_Accent6" | "ListTable5Dark" | "ListTable5Dark_Accent1" | "ListTable5Dark_Accent2" | "ListTable5Dark_Accent3" | "ListTable5Dark_Accent4" | "ListTable5Dark_Accent5" | "ListTable5Dark_Accent6" | "ListTable6Colorful" | "ListTable6Colorful_Accent1" | "ListTable6Colorful_Accent2" | "ListTable6Colorful_Accent3" | "ListTable6Colorful_Accent4" | "ListTable6Colorful_Accent5" | "ListTable6Colorful_Accent6" | "ListTable7Colorful" | "ListTable7Colorful_Accent1" | "ListTable7Colorful_Accent2" | "ListTable7Colorful_Accent3" | "ListTable7Colorful_Accent4" | "ListTable7Colorful_Accent5" | "ListTable7Colorful_Accent6";
Valor da propriedade
Word.BuiltInStyleName | "Other" | "Normal" | "Heading1" | "Heading2" | "Heading3" | "Heading4" | "Heading5" | "Heading6" | "Heading7" | "Heading8" | "Heading9" | "Toc1" | "Toc2" | "Toc3" | "Toc4" | "Toc5" | "Toc6" | "Toc7" | "Toc8" | "Toc9" | "FootnoteText" | "Header" | "Footer" | "Caption" | "FootnoteReference" | "EndnoteReference" | "EndnoteText" | "Title" | "Subtitle" | "Hyperlink" | "Strong" | "Emphasis" | "NoSpacing" | "ListParagraph" | "Quote" | "IntenseQuote" | "SubtleEmphasis" | "IntenseEmphasis" | "SubtleReference" | "IntenseReference" | "BookTitle" | "Bibliography" | "TocHeading" | "TableGrid" | "PlainTable1" | "PlainTable2" | "PlainTable3" | "PlainTable4" | "PlainTable5" | "TableGridLight" | "GridTable1Light" | "GridTable1Light_Accent1" | "GridTable1Light_Accent2" | "GridTable1Light_Accent3" | "GridTable1Light_Accent4" | "GridTable1Light_Accent5" | "GridTable1Light_Accent6" | "GridTable2" | "GridTable2_Accent1" | "GridTable2_Accent2" | "GridTable2_Accent3" | "GridTable2_Accent4" | "GridTable2_Accent5" | "GridTable2_Accent6" | "GridTable3" | "GridTable3_Accent1" | "GridTable3_Accent2" | "GridTable3_Accent3" | "GridTable3_Accent4" | "GridTable3_Accent5" | "GridTable3_Accent6" | "GridTable4" | "GridTable4_Accent1" | "GridTable4_Accent2" | "GridTable4_Accent3" | "GridTable4_Accent4" | "GridTable4_Accent5" | "GridTable4_Accent6" | "GridTable5Dark" | "GridTable5Dark_Accent1" | "GridTable5Dark_Accent2" | "GridTable5Dark_Accent3" | "GridTable5Dark_Accent4" | "GridTable5Dark_Accent5" | "GridTable5Dark_Accent6" | "GridTable6Colorful" | "GridTable6Colorful_Accent1" | "GridTable6Colorful_Accent2" | "GridTable6Colorful_Accent3" | "GridTable6Colorful_Accent4" | "GridTable6Colorful_Accent5" | "GridTable6Colorful_Accent6" | "GridTable7Colorful" | "GridTable7Colorful_Accent1" | "GridTable7Colorful_Accent2" | "GridTable7Colorful_Accent3" | "GridTable7Colorful_Accent4" | "GridTable7Colorful_Accent5" | "GridTable7Colorful_Accent6" | "ListTable1Light" | "ListTable1Light_Accent1" | "ListTable1Light_Accent2" | "ListTable1Light_Accent3" | "ListTable1Light_Accent4" | "ListTable1Light_Accent5" | "ListTable1Light_Accent6" | "ListTable2" | "ListTable2_Accent1" | "ListTable2_Accent2" | "ListTable2_Accent3" | "ListTable2_Accent4" | "ListTable2_Accent5" | "ListTable2_Accent6" | "ListTable3" | "ListTable3_Accent1" | "ListTable3_Accent2" | "ListTable3_Accent3" | "ListTable3_Accent4" | "ListTable3_Accent5" | "ListTable3_Accent6" | "ListTable4" | "ListTable4_Accent1" | "ListTable4_Accent2" | "ListTable4_Accent3" | "ListTable4_Accent4" | "ListTable4_Accent5" | "ListTable4_Accent6" | "ListTable5Dark" | "ListTable5Dark_Accent1" | "ListTable5Dark_Accent2" | "ListTable5Dark_Accent3" | "ListTable5Dark_Accent4" | "ListTable5Dark_Accent5" | "ListTable5Dark_Accent6" | "ListTable6Colorful" | "ListTable6Colorful_Accent1" | "ListTable6Colorful_Accent2" | "ListTable6Colorful_Accent3" | "ListTable6Colorful_Accent4" | "ListTable6Colorful_Accent5" | "ListTable6Colorful_Accent6" | "ListTable7Colorful" | "ListTable7Colorful_Accent1" | "ListTable7Colorful_Accent2" | "ListTable7Colorful_Accent3" | "ListTable7Colorful_Accent4" | "ListTable7Colorful_Accent5" | "ListTable7Colorful_Accent6"
Comentários
subtype
Obtém o subtipo de controle de conteúdo. O subtipo pode ser richTextInline, richTextParagraphs, richTextTableCellrichTextTableRow e richTextTable para controlos plainTextInline de conteúdo de texto formatado, e plainTextParagraph para controlos de conteúdo de texto simples, checkBox para controlos de conteúdo de caixa de verificação, dropDownList para controlos de conteúdo de lista pendente, comboBox para controlos de conteúdo de caixa de combinação, buildingBlockGallery para controlos de conteúdo da galeria de blocos modulares, datePicker para controlos de conteúdo do seletor de datas, repeatingSection para a repetição de controlos de conteúdo de secção, picture para controlos de conteúdo de imagem e group para controlos de conteúdo de grupo.
readonly subtype: Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText" | "Group";
Valor da propriedade
Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText" | "Group"
Comentários
tables
Obtém a coleção de Table objetos no controlo de conteúdo.
readonly tables: Word.TableCollection;
Valor da propriedade
Comentários
tag
Especifica uma etiqueta para identificar um controlo de conteúdo.
tag: string;
Valor da propriedade
string
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-content-controls.yaml
// Traverses each paragraph of the document and wraps a content control on each with either a even or odd tags.
await Word.run(async (context) => {
let paragraphs = context.document.body.paragraphs;
paragraphs.load("$none"); // Don't need any properties; just wrap each paragraph with a content control.
await context.sync();
for (let i = 0; i < paragraphs.items.length; i++) {
let contentControl = paragraphs.items[i].insertContentControl();
// For even, tag "even".
if (i % 2 === 0) {
contentControl.tag = "even";
} else {
contentControl.tag = "odd";
}
}
console.log("Content controls inserted: " + paragraphs.items.length);
await context.sync();
});
text
Obtém o texto do controle de conteúdo.
readonly text: string;
Valor da propriedade
string
Comentários
title
Especifica o título de um controlo de conteúdo.
title: string;
Valor da propriedade
string
Comentários
type
Obtém o tipo de controle de conteúdo. Atualmente, só são suportados controlos de texto formatado, texto simples, caixa de marcar, lista pendente, caixa de combinação, galeria de blocos modulares, seletor de datas, secção de repetição, imagem e conteúdo de grupo.
readonly type: Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText" | "Group";
Valor da propriedade
Word.ContentControlType | "Unknown" | "RichTextInline" | "RichTextParagraphs" | "RichTextTableCell" | "RichTextTableRow" | "RichTextTable" | "PlainTextInline" | "PlainTextParagraph" | "Picture" | "BuildingBlockGallery" | "CheckBox" | "ComboBox" | "DropDownList" | "DatePicker" | "RepeatingSection" | "RichText" | "PlainText" | "Group"
Comentários
xmlMapping
Devolve um XmlMapping objeto que representa o mapeamento do controlo de conteúdo para dados XML no arquivo de dados do documento.
readonly xmlMapping: Word.XmlMapping;
Valor da propriedade
Comentários
Detalhes do método
clear()
Limpa o conteúdo do controle de conteúdo. O usuário pode executar a operação de desfazer no conteúdo limpo.
clear(): void;
Retornos
void
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the content controls collection.
contentControls.load('text');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log("There isn't a content control in this document.");
} else {
// Queue a command to clear the contents of the first content control.
contentControls.items[0].clear();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Content control cleared of contents.');
}
});
delete(keepContent)
Exclui o controle de conteúdo e o respectivo conteúdo. Se keepContent estiver definido como true, o conteúdo não é eliminado.
delete(keepContent: boolean): void;
Parâmetros
- keepContent
-
boolean
Indica se o conteúdo deve ser excluído com o controle de conteúdo. Se keepContent estiver definido como true, o conteúdo não é eliminado.
Retornos
void
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the content controls collection.
contentControls.load('text');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log("There isn't a content control in this document.");
} else {
// Queue a command to delete the first content control.
// The contents will remain in the document.
contentControls.items[0].delete(true);
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Content control cleared of contents.');
}
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-ondeleted-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls.getByTag("forTesting");
contentControls.load("items");
await context.sync();
if (contentControls.items.length === 0) {
console.log("There are no content controls in this document.");
} else {
console.log("Control to be deleted:", contentControls.items[0]);
contentControls.items[0].delete(false);
await context.sync();
}
});
getComments()
Obtém comentários associados ao controlo de conteúdo.
getComments(): Word.CommentCollection;
Retornos
Comentários
getContentControls(options)
Obtém os controlos de conteúdo subordinado atualmente suportados neste controlo de conteúdo.
getContentControls(options?: Word.ContentControlOptions): Word.ContentControlCollection;
Parâmetros
- options
- Word.ContentControlOptions
Opcional. Opções que definem os controlos de conteúdo que são devolvidos.
Retornos
Comentários
[ Conjunto de API: WordApi 1.5 ]
Importante: se forem fornecidos tipos específicos no parâmetro de opções, apenas são devolvidos controlos de conteúdo de tipos suportados. Tenha em atenção que será gerada uma exceção através de métodos de um Word genérico. ContentControl que não são relevantes para o tipo específico. Com o tempo, podem ser suportados tipos adicionais de controlos de conteúdo. Por conseguinte, o suplemento deve pedir e processar tipos específicos de controlos de conteúdo.
getHtml()
Obtém uma representação HTML do ContentControl objeto. Quando composta numa página Web ou visualizador de HTML, a formatação será uma correspondência próxima, mas não exata, da formatação do documento. Este método não devolve exatamente o mesmo HTML para o mesmo documento em diferentes plataformas (Windows, Mac, Word na Web, etc.). Se precisar de fidelidade exata ou consistência entre plataformas, utilize ContentControl.getOoxml() e converta o XML devolvido em HTML.
getHtml(): OfficeExtension.ClientResult<string>;
Retornos
OfficeExtension.ClientResult<string>
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection that contains a specific tag.
const contentControlsWithTag = context.document.contentControls.getByTag('Customer-Address');
// Queue a command to load the tag property for all of content controls.
contentControlsWithTag.load('tag');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControlsWithTag.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to get the HTML contents of the first content control.
const html = contentControlsWithTag.items[0].getHtml();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Content control HTML: ' + html.value);
}
});
getOoxml()
Obtém a representação office Open XML (OOXML) do ContentControl objeto.
getOoxml(): OfficeExtension.ClientResult<string>;
Retornos
OfficeExtension.ClientResult<string>
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to get the OOXML contents of the first content control.
const ooxml = contentControls.items[0].getOoxml();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Content control OOXML: ' + ooxml.value);
}
});
getRange(rangeLocation)
Obtém o controle de todo o conteúdo, ou então, os pontos inicial ou final do controle de conteúdo, como um intervalo.
getRange(rangeLocation?: Word.RangeLocation | "Whole" | "Start" | "End" | "Before" | "After" | "Content"): Word.Range;
Parâmetros
- rangeLocation
-
Word.RangeLocation | "Whole" | "Start" | "End" | "Before" | "After" | "Content"
Opcional. A localização do intervalo tem de ser whole, start, end, before,after ou .content
Retornos
Comentários
getReviewedText(changeTrackingVersion)
Obtém o texto revisto com base na seleção ChangeTrackingVersion.
getReviewedText(changeTrackingVersion?: Word.ChangeTrackingVersion): OfficeExtension.ClientResult<string>;
Parâmetros
- changeTrackingVersion
- Word.ChangeTrackingVersion
Opcional. O valor tem de ser original ou current. A predefinição é current.
Retornos
OfficeExtension.ClientResult<string>
Comentários
getReviewedText(changeTrackingVersion)
Obtém o texto revisto com base na seleção ChangeTrackingVersion.
getReviewedText(changeTrackingVersion?: "Original" | "Current"): OfficeExtension.ClientResult<string>;
Parâmetros
- changeTrackingVersion
-
"Original" | "Current"
Opcional. O valor tem de ser original ou current. A predefinição é current.
Retornos
OfficeExtension.ClientResult<string>
Comentários
getTextRanges(endingMarks, trimSpacing)
Obtém os intervalos de texto no controlo de conteúdo com marcas de pontuação e outras marcas finais.
getTextRanges(endingMarks: string[], trimSpacing?: boolean): Word.RangeCollection;
Parâmetros
- endingMarks
-
string[]
As marcas de pontuação e outras marcas finais como uma matriz de cadeias.
- trimSpacing
-
boolean
Opcional. Indica se deve cortar carateres de espaçamento (espaços, separadores, quebras de coluna e marcas de fim de parágrafo) a partir do início e fim dos intervalos devolvidos na coleção de intervalos. A predefinição indica false que os carateres de espaçamento no início e no fim dos intervalos estão incluídos na coleção de intervalos.
Retornos
Comentários
getTrackedChanges()
Obtém a coleção dos TrackedChange objetos no controlo de conteúdo.
getTrackedChanges(): Word.TrackedChangeCollection;
Retornos
Comentários
insertBreak(breakType, insertLocation)
Insere uma quebra no local especificado no documento principal. Este método não pode ser utilizado com richTextTableos controlos de conteúdo , richTextTableRowe richTextTableCell .
insertBreak(breakType: Word.BreakType | "Page" | "Next" | "SectionNext" | "SectionContinuous" | "SectionEven" | "SectionOdd" | "Line", insertLocation: Word.InsertLocation.start | Word.InsertLocation.end | Word.InsertLocation.before | Word.InsertLocation.after | "Start" | "End" | "Before" | "After"): void;
Parâmetros
- breakType
-
Word.BreakType | "Page" | "Next" | "SectionNext" | "SectionContinuous" | "SectionEven" | "SectionOdd" | "Line"
Tipo de quebra.
O valor tem de ser start,end ,before ou after.
Retornos
void
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
// We now will have access to the content control collection.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to insert a page break after the first content control.
contentControls.items[0].insertBreak(Word.BreakType.page, Word.InsertLocation.after);
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Inserted a page break after the first content control.');
}
});
insertFileFromBase64(base64File, insertLocation)
Insere um documento no controlo de conteúdo na localização especificada.
insertFileFromBase64(base64File: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;
Parâmetros
- base64File
-
string
O conteúdo codificado em Base64 de um ficheiro .docx.
O valor tem de ser replace, startou end.
replace não pode ser utilizado com richTextTable controlos de conteúdo e richTextTableRow .
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
A inserção não é suportada se o documento que está a ser inserido contiver um controlo ActiveX (provavelmente num campo de formulário). Considere substituir tal campo de formulário por um controlo de conteúdo ou outra opção adequada para o seu cenário.
insertHtml(html, insertLocation)
Insere HTML no local especificado dentro do controle de conteúdo.
insertHtml(html: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;
Parâmetros
- html
-
string
O HTML a inserir no controle de conteúdo.
O valor tem de ser replace, startou end.
replace não pode ser utilizado com richTextTable controlos de conteúdo e richTextTableRow .
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to put HTML into the contents of the first content control.
contentControls.items[0].insertHtml(
'<strong>HTML content inserted into the content control.</strong>',
'Start');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Inserted HTML in the first content control.');
}
});
insertInlinePictureFromBase64(base64EncodedImage, insertLocation)
Insere uma imagem embutida no local especificado dentro do controle de conteúdo.
insertInlinePictureFromBase64(base64EncodedImage: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.InlinePicture;
Parâmetros
- base64EncodedImage
-
string
A imagem codificada com Base64 a inserir no controlo de conteúdo.
O valor tem de ser replace, startou end.
replace não pode ser utilizado com richTextTable controlos de conteúdo e richTextTableRow .
Retornos
Comentários
insertOoxml(ooxml, insertLocation)
Insere OOXML no controlo de conteúdo na localização especificada.
insertOoxml(ooxml: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;
Parâmetros
- ooxml
-
string
O OOXML a inserir no controlo de conteúdo.
O valor tem de ser replace, startou end.
replace não pode ser utilizado com richTextTable controlos de conteúdo e richTextTableRow .
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to put OOXML into the contents of the first content control.
contentControls.items[0].insertOoxml("<pkg:package xmlns:pkg='http://schemas.microsoft.com/office/2006/xmlPackage'><pkg:part pkg:name='/_rels/.rels' pkg:contentType='application/vnd.openxmlformats-package.relationships+xml' pkg:padding='512'><pkg:xmlData><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' Target='word/document.xml'/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name='/word/document.xml' pkg:contentType='application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml'><pkg:xmlData><w:document xmlns:w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' ><w:body><w:p><w:pPr><w:spacing w:before='360' w:after='0' w:line='480' w:lineRule='auto'/><w:rPr><w:color w:val='70AD47' w:themeColor='accent6'/><w:sz w:val='28'/></w:rPr></w:pPr><w:r><w:rPr><w:color w:val='70AD47' w:themeColor='accent6'/><w:sz w:val='28'/></w:rPr><w:t>This text has formatting directly applied to achieve its font size, color, line spacing, and paragraph spacing.</w:t></w:r></w:p></w:body></w:document></pkg:xmlData></pkg:part></pkg:package>", "End");
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Inserted OOXML in the first content control.');
}
});
// Read "Create better add-ins for Word with Office Open XML" for guidance on working with OOXML.
// https://learn.microsoft.com/office/dev/add-ins/word/create-better-add-ins-for-word-with-office-open-xml
insertParagraph(paragraphText, insertLocation)
Insere um parágrafo no local especificado.
insertParagraph(paragraphText: string, insertLocation: Word.InsertLocation.start | Word.InsertLocation.end | Word.InsertLocation.before | Word.InsertLocation.after | "Start" | "End" | "Before" | "After"): Word.Paragraph;
Parâmetros
- paragraphText
-
string
O texto do parágrafo a ser inserido.
O valor tem de ser start,end ,before ou after.
before e after não podem ser utilizados com richTextTableos controlos de conteúdo , richTextTableRowe richTextTableCell .
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to insert a paragraph after the first content control.
contentControls.items[0].insertParagraph('Text of the inserted paragraph.', 'After');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Inserted a paragraph after the first content control.');
}
});
insertTable(rowCount, columnCount, insertLocation, values)
Insere uma tabela com a quantidade especificada de linhas e colunas dentro ou próxima do controle de conteúdo.
insertTable(rowCount: number, columnCount: number, insertLocation: Word.InsertLocation.start | Word.InsertLocation.end | Word.InsertLocation.before | Word.InsertLocation.after | "Start" | "End" | "Before" | "After", values?: string[][]): Word.Table;
Parâmetros
- rowCount
-
number
O número de linhas na tabela.
- columnCount
-
number
O número de colunas na tabela.
O valor tem de ser start,end ,before ou after.
before e after não podem ser utilizados com richTextTableos controlos de conteúdo , richTextTableRowe richTextTableCell .
- values
-
string[][]
Matriz 2D opcional. As células serão preenchidas se as cadeias de caracteres correspondentes estiverem especificadas na matriz.
Retornos
Comentários
insertText(text, insertLocation)
Insere texto no local especificado dentro do controle de conteúdo.
insertText(text: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End"): Word.Range;
Parâmetros
- text
-
string
O texto a inserir no controle de conteúdo.
O valor tem de ser replace, startou end.
replace não pode ser utilizado com richTextTable controlos de conteúdo e richTextTableRow .
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to replace text in the first content control.
contentControls.items[0].insertText('Replaced text in the first content control.', 'Replace');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Replaced text in the first content control.');
}
});
// The Silly stories add-in sample shows how to use the insertText method.
// https://aka.ms/sillystorywordaddin
load(options)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(options?: Word.Interfaces.ContentControlLoadOptions): Word.ContentControl;
Parâmetros
Fornece opções para as propriedades do objeto a carregar.
Retornos
Exemplos
// Load all of the content control properties
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
} else {
// Queue a command to load the properties on the first content control.
contentControls.items[0].load( 'appearance,' +
'cannotDelete,' +
'cannotEdit,' +
'id,' +
'placeHolderText,' +
'removeWhenEdited,' +
'title,' +
'text,' +
'type,' +
'style,' +
'tag,' +
'font/size,' +
'font/name,' +
'font/color');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Property values of the first content control:' +
' ----- appearance: ' + contentControls.items[0].appearance +
' ----- cannotDelete: ' + contentControls.items[0].cannotDelete +
' ----- cannotEdit: ' + contentControls.items[0].cannotEdit +
' ----- color: ' + contentControls.items[0].color +
' ----- id: ' + contentControls.items[0].id +
' ----- placeHolderText: ' + contentControls.items[0].placeholderText +
' ----- removeWhenEdited: ' + contentControls.items[0].removeWhenEdited +
' ----- title: ' + contentControls.items[0].title +
' ----- text: ' + contentControls.items[0].text +
' ----- type: ' + contentControls.items[0].type +
' ----- style: ' + contentControls.items[0].style +
' ----- tag: ' + contentControls.items[0].tag +
' ----- font size: ' + contentControls.items[0].font.size +
' ----- font name: ' + contentControls.items[0].font.name +
' ----- font color: ' + contentControls.items[0].font.color);
}
});
load(propertyNames)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNames?: string | string[]): Word.ContentControl;
Parâmetros
- propertyNames
-
string | string[]
Uma cadeia delimitada por vírgulas ou uma matriz de cadeias que especificam as propriedades a carregar.
Retornos
load(propertyNamesAndPaths)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Word.ContentControl;
Parâmetros
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select é uma cadeia delimitada por vírgulas que especifica as propriedades a carregar e propertyNamesAndPaths.expand é uma cadeia delimitada por vírgulas que especifica as propriedades de navegação a carregar.
Retornos
resetState()
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Repõe o estado do controlo de conteúdo.
resetState(): void;
Retornos
void
Comentários
[ Conjunto de API: WordApi BETA (APENAS PRÉ-VISUALIZAÇÃO) ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/99-preview-apis/insert-and-change-content-controls.yaml
// Resets the state of the first content control.
await Word.run(async (context) => {
let firstContentControl = context.document.contentControls.getFirstOrNullObject();
await context.sync();
if (firstContentControl.isNullObject) {
console.warn("There are no content controls in this document.");
return;
}
firstContentControl.resetState();
firstContentControl.load("id");
await context.sync();
console.log(`Reset state of first content control with ID: ${firstContentControl.id}`);
});
search(searchText, searchOptions)
Efetua uma pesquisa com as opções de pesquisa especificadas no âmbito do ContentControl objeto. Os resultados da pesquisa são uma coleção de Range objetos.
search(searchText: string, searchOptions?: Word.SearchOptions | {
ignorePunct?: boolean;
ignoreSpace?: boolean;
matchCase?: boolean;
matchPrefix?: boolean;
matchSuffix?: boolean;
matchWholeWord?: boolean;
matchWildcards?: boolean;
}): Word.RangeCollection;
Parâmetros
- searchText
-
string
O texto da pesquisa.
- searchOptions
-
Word.SearchOptions | { ignorePunct?: boolean; ignoreSpace?: boolean; matchCase?: boolean; matchPrefix?: boolean; matchSuffix?: boolean; matchWholeWord?: boolean; matchWildcards?: boolean; }
Opcional. Opções da pesquisa.
Retornos
Comentários
[ Conjunto de API: WordApi 1.1 ]
Exemplos
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the content controls collection.
const contentControls = context.document.contentControls;
// Queue a command to load the id property for all of the content controls.
contentControls.load('id');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (contentControls.items.length === 0) {
console.log('No content control found.');
}
else {
// Queue a command to select the first content control.
contentControls.items[0].select();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Selected the first content control.');
}
});
select(selectionMode)
Seleciona o controle de conteúdo. Isso faz com que o Word role até a seleção.
select(selectionMode?: Word.SelectionMode): void;
Parâmetros
- selectionMode
- Word.SelectionMode
Opcional. O modo de seleção tem de ser select, startou end.
select é a predefinição.
Retornos
void
Comentários
select(selectionMode)
Seleciona o controle de conteúdo. Isso faz com que o Word role até a seleção.
select(selectionMode?: "Select" | "Start" | "End"): void;
Parâmetros
- selectionMode
-
"Select" | "Start" | "End"
Opcional. O modo de seleção tem de ser select, startou end.
select é a predefinição.
Retornos
void
Comentários
set(properties, options)
Define várias propriedades de um objeto ao mesmo tempo. Pode transmitir um objeto simples com as propriedades adequadas ou outro objeto de API do mesmo tipo.
set(properties: Interfaces.ContentControlUpdateData, options?: OfficeExtension.UpdateOptions): void;
Parâmetros
- properties
- Word.Interfaces.ContentControlUpdateData
Um objeto JavaScript com propriedades que são estruturadas isomorfoticamente para as propriedades do objeto no qual o método é chamado.
- options
- OfficeExtension.UpdateOptions
Fornece uma opção para suprimir erros se o objeto de propriedades tentar definir quaisquer propriedades só de leitura.
Retornos
void
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-content-controls.yaml
// Adds title and colors to odd and even content controls and changes their appearance.
await Word.run(async (context) => {
// Get the complete sentence (as range) associated with the insertion point.
let evenContentControls = context.document.contentControls.getByTag("even");
let oddContentControls = context.document.contentControls.getByTag("odd");
evenContentControls.load("length");
oddContentControls.load("length");
await context.sync();
for (let i = 0; i < evenContentControls.items.length; i++) {
// Change a few properties and append a paragraph.
evenContentControls.items[i].set({
color: "red",
title: "Odd ContentControl #" + (i + 1),
appearance: Word.ContentControlAppearance.tags
});
evenContentControls.items[i].insertParagraph("This is an odd content control", "End");
}
for (let j = 0; j < oddContentControls.items.length; j++) {
// Change a few properties and append a paragraph.
oddContentControls.items[j].set({
color: "green",
title: "Even ContentControl #" + (j + 1),
appearance: "Tags"
});
oddContentControls.items[j].insertHtml("This is an <b>even</b> content control", "End");
}
await context.sync();
});
set(properties)
Define várias propriedades no objeto ao mesmo tempo, com base num objeto carregado existente.
set(properties: Word.ContentControl): void;
Parâmetros
- properties
- Word.ContentControl
Retornos
void
setState(contentControlState)
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Define o estado do controlo de conteúdo.
setState(contentControlState: Word.ContentControlState): void;
Parâmetros
- contentControlState
- Word.ContentControlState
Estado a definir.
Retornos
void
Comentários
[ Conjunto de API: WordApi BETA (APENAS PRÉ-VISUALIZAÇÃO) ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/99-preview-apis/insert-and-change-content-controls.yaml
// Sets the state of the first content control.
await Word.run(async (context) => {
const state = ((document.getElementById("state-to-set") as HTMLSelectElement)
.value as unknown) as Word.ContentControlState;
let firstContentControl = context.document.contentControls.getFirstOrNullObject();
await context.sync();
if (firstContentControl.isNullObject) {
console.warn("There are no content controls in this document.");
return;
}
firstContentControl.setState(state);
firstContentControl.load("id");
await context.sync();
console.log(`Set state of first content control with ID ${firstContentControl.id} to ${state}.`);
});
setState(contentControlState)
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Define o estado do controlo de conteúdo.
setState(contentControlState: "Error" | "Warning"): void;
Parâmetros
- contentControlState
-
"Error" | "Warning"
Estado a definir.
Retornos
void
Comentários
split(delimiters, multiParagraphs, trimDelimiters, trimSpacing)
Divide o controle de conteúdo em intervalos filho usando delimitadores.
split(delimiters: string[], multiParagraphs?: boolean, trimDelimiters?: boolean, trimSpacing?: boolean): Word.RangeCollection;
Parâmetros
- delimiters
-
string[]
Os delimitadores como uma matriz de cadeias.
- multiParagraphs
-
boolean
Opcional. Indica se um intervalo subordinado devolvido pode abranger vários parágrafos. A predefinição indica false que os limites de parágrafo também são utilizados como delimitadores.
- trimDelimiters
-
boolean
Opcional. Indica se pretende cortar delimitadores dos intervalos na coleção de intervalos. A predefinição indica false que os delimitadores estão incluídos nos intervalos devolvidos na coleção de intervalos.
- trimSpacing
-
boolean
Opcional. Indica se deve cortar carateres de espaçamento (espaços, separadores, quebras de coluna e marcas de fim de parágrafo) a partir do início e fim dos intervalos devolvidos na coleção de intervalos. A predefinição indica false que os carateres de espaçamento no início e no fim dos intervalos estão incluídos na coleção de intervalos.
Retornos
Comentários
toJSON()
Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify(). (JSON.stringifypor sua vez, chama o toJSON método do objeto que lhe é transmitido.) Enquanto o objeto original Word.ContentControl é um objeto de API, o toJSON método devolve um objeto JavaScript simples (escrito como Word.Interfaces.ContentControlData) que contém cópias rasas de quaisquer propriedades subordinadas carregadas do objeto original.
toJSON(): Word.Interfaces.ContentControlData;
Retornos
track()
Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre .sync chamadas e fora da execução sequencial de um lote ".run" e receber um erro "InvalidObjectPath" ao definir uma propriedade ou invocar um método no objeto, terá de adicionar o objeto à coleção de objetos controlados quando o objeto foi criado pela primeira vez. Se este objeto fizer parte de uma coleção, também deve controlar a coleção principal.
track(): Word.ContentControl;
Retornos
untrack()
Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar context.sync() antes de a libertação da memória ser aplicada.
untrack(): Word.ContentControl;
Retornos
Detalhes do evento
onCommentAdded
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Ocorre quando são adicionados novos comentários.
readonly onCommentAdded: OfficeExtension.EventHandlers<Word.CommentEventArgs>;
Tipo de evento
Comentários
onCommentChanged
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Ocorre quando um comentário ou a respetiva resposta é alterada.
readonly onCommentChanged: OfficeExtension.EventHandlers<Word.CommentEventArgs>;
Tipo de evento
Comentários
onCommentDeselected
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Ocorre quando um comentário é desselecionado.
readonly onCommentDeselected: OfficeExtension.EventHandlers<Word.CommentEventArgs>;
Tipo de evento
Comentários
onCommentSelected
Observação
Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.
Ocorre quando um comentário é selecionado.
readonly onCommentSelected: OfficeExtension.EventHandlers<Word.CommentEventArgs>;
Tipo de evento
Comentários
onDataChanged
Ocorre quando os dados no controlo de conteúdo são alterados. Para obter o novo texto, carregue este controlo de conteúdo no processador. Para obter o texto antigo, não o carregue.
readonly onDataChanged: OfficeExtension.EventHandlers<Word.ContentControlDataChangedEventArgs>;
Tipo de evento
Comentários
[ Conjunto de API: WordApi 1.5 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-ondatachanged-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls;
contentControls.load("items");
await context.sync();
// Register the onDataChanged event handler on each content control.
if (contentControls.items.length === 0) {
console.log("There aren't any content controls in this document so can't register event handlers.");
} else {
for (let i = 0; i < contentControls.items.length; i++) {
eventContexts[i] = contentControls.items[i].onDataChanged.add(contentControlDataChanged);
contentControls.items[i].track();
}
await context.sync();
console.log("Added event handlers for when data is changed in content controls.");
}
});
...
async function contentControlDataChanged(event: Word.ContentControlDataChangedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. IDs of content controls where data was changed:`, event.ids);
});
}
onDeleted
Ocorre quando o controlo de conteúdo é eliminado. Não carregue este controlo de conteúdo no processador. Caso contrário, não conseguirá obter as respetivas propriedades originais.
readonly onDeleted: OfficeExtension.EventHandlers<Word.ContentControlDeletedEventArgs>;
Tipo de evento
Comentários
[ Conjunto de API: WordApi 1.5 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-ondeleted-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls;
contentControls.load("items");
await context.sync();
// Register the onDeleted event handler on each content control.
if (contentControls.items.length === 0) {
console.log("There aren't any content controls in this document so can't register event handlers.");
} else {
for (let i = 0; i < contentControls.items.length; i++) {
eventContexts[i] = contentControls.items[i].onDeleted.add(contentControlDeleted);
contentControls.items[i].track();
}
await context.sync();
console.log("Added event handlers for when content controls are deleted.");
}
});
...
async function contentControlDeleted(event: Word.ContentControlDeletedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. IDs of content controls that were deleted:`, event.ids);
});
}
onEntered
Ocorre quando o controlo de conteúdo é introduzido.
readonly onEntered: OfficeExtension.EventHandlers<Word.ContentControlEnteredEventArgs>;
Tipo de evento
Comentários
[ Conjunto de API: WordApi 1.5 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-onentered-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls;
contentControls.load("items");
await context.sync();
// Register the onEntered event handler on each content control.
if (contentControls.items.length === 0) {
console.log("There aren't any content controls in this document so can't register event handlers.");
} else {
for (let i = 0; i < contentControls.items.length; i++) {
eventContexts[i] = contentControls.items[i].onEntered.add(contentControlEntered);
contentControls.items[i].track();
}
await context.sync();
console.log("Added event handlers for when the cursor is placed in content controls.");
}
});
...
async function contentControlEntered(event: Word.ContentControlEnteredEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. ID of content control that was entered: ${event.ids[0]}`);
});
}
onExited
Ocorre quando o controlo de conteúdo é fechado, por exemplo, quando o cursor deixa o controlo de conteúdo.
readonly onExited: OfficeExtension.EventHandlers<Word.ContentControlExitedEventArgs>;
Tipo de evento
Comentários
[ Conjunto de API: WordApi 1.5 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-onexited-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls;
contentControls.load("items");
await context.sync();
// Register the onExited event handler on each content control.
if (contentControls.items.length === 0) {
console.log("There aren't any content controls in this document so can't register event handlers.");
} else {
for (let i = 0; i < contentControls.items.length; i++) {
eventContexts[i] = contentControls.items[i].onExited.add(contentControlExited);
contentControls.items[i].track();
}
await context.sync();
console.log("Added event handlers for when the cursor is removed from within content controls.");
}
});
...
async function contentControlExited(event: Word.ContentControlExitedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. ID of content control that was exited: ${event.ids[0]}`);
});
}
onSelectionChanged
Ocorre quando a seleção no controlo de conteúdo é alterada.
readonly onSelectionChanged: OfficeExtension.EventHandlers<Word.ContentControlSelectionChangedEventArgs>;
Tipo de evento
Comentários
[ Conjunto de API: WordApi 1.5 ]
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-onselectionchanged-event.yaml
await Word.run(async (context) => {
const contentControls: Word.ContentControlCollection = context.document.contentControls;
contentControls.load("items");
await context.sync();
if (contentControls.items.length === 0) {
console.log("There aren't any content controls in this document so can't register event handlers.");
} else {
for (let i = 0; i < contentControls.items.length; i++) {
eventContexts[i] = contentControls.items[i].onSelectionChanged.add(contentControlSelectionChanged);
contentControls.items[i].track();
}
await context.sync();
console.log("Added event handlers for when selections are changed in content controls.");
}
});
...
async function contentControlSelectionChanged(event: Word.ContentControlSelectionChangedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. IDs of content controls where selection was changed:`, event.ids);
});
}