Numeração de páginas em uma célula específica do Calc

perguntadas 2020-04-16 23:50:02 +0200

imagem do gravatar de lucasalves

Boa noite a todos! Estou tentando criar uma macro que insira em uma determinada célula o número de páginas contidas na planilha do Calc, que apareça da seguinte forma na célula: Página X de X, onde, o X seja o número da página e o total de páginas (Página 1 de 5... Página 2 de 5 e etc...)

A macro que tentei criar ficou assim:

Sub Pagina
Dim Pag As Double
Dim document As Object
Dim dispatcher As Object
Dim oCellRangeByName As Variant
Dim oActiveSheet As Variant
oDoc = ThisComponent

document = oDoc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Pag = dispatcher.executeDispatch(document, ".uno:InsertPageNumber, "", 0, Array())
oDoc.currentController.ActiveSheet.getCellRangebyName("AZ1").string = "Página  " & Pag & "  de  " & Pag
End Sub

Alguém poderia me auxiliar aonde estou errando? Pois, minha lógica não funcionou. Obrigado!

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

@lucasalves, o comando InsertPageNumber creio que não existe no Basic do LibreOffice.

Mas por que em uma célula, o normal e no Cabeçalho ou Rodapé ?

É uma planilha com 5 páginas ou Uma página impressa 5 vezes ?

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-17 00:25:51 +0200 )editar

Preciso que seja em uma célula mesmo, pois, é o formato do nosso layout padrão de planilha, não utilizamos no cabeçalho ou no rodapé, e sim em uma célula. É possível isso com macro? O que me sugere? Dei um exemplo de uma planilha com 5 páginas.

imagem do gravatar de lucasalveslucasalves ( 2020-04-17 00:40:12 +0200 )editar

@lucasalves, então se tem 5 páginas, exemplo, terá 5 células com a numeração da página certo.

Então em uma célula qualquer, por exemplo, em AC1 coloco o valor 5.

Nas células que deve ter a numeração coloque ="Página 1 de "&AC1 ,e a sequencia nas demais.

Mas se as células usadas são sempre as mesmas, em qualquer qtde de páginas, então é possível macro informando somente a página final.

Tem um exemplo do arquivo, altere dados sigilosos, use editar sua pergunta, e com o ícone clipe anexe o arquivo.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-17 02:01:09 +0200 )editar