Saltar para o conteúdo principal
Versão: Próximo

WP INSERT DOCUMENT

WP INSERT DOCUMENT ( objFaixa ; docWP ; modo {; atualizFaixa} )

ParâmetroTipoDescrição
objFaixaObjectFaixa 4D Write Pro
docWPObjectDocumento 4D Write Pro
modoIntegerModo inserção
atualizFaixaIntegerModo atualização Faixa

Descrição

O comando WP INSERT DOCUMENT insee o documento docWP na faixa objFaixa de acordo com o modo de inserção especificado e o parâmetro atualizFaixa.

Em objRange,

  • uma range, ou
  • um elemento (tabela / fila / parágrafo / corpo / cabeçalho / rodapé / imagem inline / seção / subseção / caixa de texto), ou
  • um documento 4D Write Pro.

O documento inserido docWP pode ser qualquer documento 4D Write Pro criado com o comando WP New ou WP Import document. Só são inseridos os elementos de corpo de texto (seções e marcadores na faixa de destino são conservadas). Além disso, os elementos são copiados, por isso docWP podem ser utilizados várias vezes.

No parâmetro modo, passe uma ou uma combinação das seguintes constantes do tema Constantes 4D Write Pro para indicar o modo de inserção a ser utilizado para o documento na faixa objFaixa do documento de destino:

ConstanteTipoValorComentário
wk appendInteiro longo2Insere conteúdos ao final da faixa e atualiza a faixa para conter tanto os conteúdos anteriores quanto os inseridos.
wk prependInteiro longo1Conteúdos inseridos no início da faixa e atualiza a faixa para conter os conteúdos anteriores e os inseridos
wk replaceInteiro longo0Substituir e atualizar conteúdos da faixa; a nova faixa contèm os conteúdos inseridos.

Po0de combinar uma das constantes anteriores com as seguintes opções de inserção:

ConstanteTipoValorComentário
wk freeze expressionsInteiro longo64Congela expressoes no momento em que são inseridas
wk keep paragraph stylesInteiro longo128Mantém o estilo dos parágrafos destino
  • Se alvoObj for uma range, pode usar o parâmetro opcional rangeAtulaliz para passar uma das constantes abaixo para especificar se os conteúdos inseridos são incluidos na range resultante:
ConstanteTipoValorComentário
wk exclude from rangeInteiro longo1Insere conteùdos ao fim da faixa e atualiza a faixa para menter apenas conteúdos anteriores.
wk include in rangeInteiro longo0Insere conteúdos ao início da faixa e atualiza a faixa para manter apenas conteúdos anteriores

Se não passar um parâmetro atualizFaixa, como padrão os conteúdos inseridos estão incluídos na faixa resultante.

Se alvoObj não for uma range, rangeAtualiz for ignorado.

Exemplo 1

Se desejar substituir os conteúdos de um documento pelo texto selecionado de outro documento:

 $tempRange:=WP Get selection(WPTemplate) //recuperamos a seleção de usuário no documento WPTemplate
 $doctoCopy:=WP New($tempRange) //criamos um novo documento baseado em WPTemplate
 WP INSERT DOCUMENT(WPDoc;$doctoCopy;wk replace) //substituimos o conteúdo de WPDoc pelo conteúdo do novo documento

Exemplo 2

Se definir um documento modelo com partes pré-formatadas diferentemente, cada uma das quais sendo armazenadas como uma bookmark. Quando produzir um documento final do modelo, pode extrair qualquer bookmark como um novo documento e inserir a bookmark no documento final.

 ARRAY TEXT($_BookmarkNames;0)
 WP GET BOOKMARKS([TEMPLATES]WP;$_BookmarkNames) //obtém as bookmarks do modelo
 $targetRange:=WP New //criar um documento vazio (será o documento final)
 
 $p:=Find in array($_BookmarkNames;"Main_Header") //gerencia a parte principal cabeçalho 
 If($p>0)
    $Range:=WP Get bookmark range(WParea;$_BookmarkNames{$p}) //seleciona a faixa
    $RangeDoc:=WP New($Range) //cria um novo documento da faixa
    WP INSERT DOCUMENT($buildRange;$RangeDoc;wk prepend+wk freeze expressions) //wk prepend=after replacement, $buildRange é igual ao fim do texto substituído
 End if

Ver também

WP INSERT BREAK
WP INSERT PICTURE
WP New