Adaptar Macro do Excel p/ Libre

Boa noite!
Eu fiz uma planilha que fixa um número no CABEÇALHO e imprime as páginas 02 à 299 com o cabeçalho.

Eu fiz em VBA usando o gravador de macros, mas não consegui fazer o mesmo processo no LIBREOFFICE.
Alguém poderia me ajudar a fazer a adaptação para que funcione no Libre?
Postei a planilha em excel no seguinte endereço: https://www.sendspace.com/file/h4ppqa

É muito simples o que preciso:

  • Inserir um número de processo no cabeçalho (lado esquerdo)
  • Colocar esse número em negrito;
  • Imprimir as páginas 02 à 299.

Se alguém puder me ajudar, ficarei imensamente agradecido!

Cordialmente,
Silmar

Complemento

O número do processo será digitado na caixa de diálogo.
Um colega conseguiu chegar bem perto do que preciso. Só está dando erro na última linha. Veja no arquivo que irei anexar.

PREENCHER CABEÇALHO E IMPRIMIR.ods

Complemento 2

EXEMPLO.jpg

Veja essa imagem, veja se consegue ver como ficará a página.

Ola @Silmar, seja bem vindo ao Grupo.

São folhas em branco que serão impressas ?

Poste um modelo de arquivo…altere dados sigilosos.

Obs. No Calc a formatação de página fica no arquivo, não precisa programar, via macro.


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Obrigado, Gilberto!
Sim, serão impressas páginas em branco. Corrigindo, a planilha fará: 1- Colocará o número do processo no cabeçalho esquerdo; 2- Colocará o número da página; 3- imprimir as páginas 02 a 299.

@Silmar, , algo assim: ( só exemplo, sem as medidas da macro )

A macro diz lado direito:

RightHeader = "&""-,Negrito""&14RUBRICA________FLS. &P" & Chr(10) & "PA " & NumeroProcesso & " "

No arquivo não veio macro !

Poste um exemplo de página…

Obs. Não use Adicionar resposta para comentar.


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Nossa, verdade, Gilberto é do lado DIREITO, falha minha.
Eu tenho ela funcionando no excel, se puder rodá-la, verá como ela funciona, mas basicamente é:

  • Ela pede para eu digitar o número do processo;
  • A macro insere o número os dizeres: Rubrica ______, Número da página e na linha de baixo o número do processo que eu digitei;
  • Imprime as folhas 2 à 299.
    Eu tirei um print da página pronta que faço no excel, talvez fique mais fácil entender.

Ola @Silmar, segue uma sugestão.

Página inicial, página final e Numero do Processo é digitado na planilha.

A macro:

Sub Imprimir
Dim document, dispatcher, oCel As Object
Dim pgFinal As Integer
Dim pgInicio As Integer
dim args1(0) as new com.sun.star.beans.PropertyValue
dim args11(0) as new com.sun.star.beans.PropertyValue
dim args2(0) as new com.sun.star.beans.PropertyValue
dim args3(0) as new com.sun.star.beans.PropertyValue
dim args12(0) as new com.sun.star.beans.PropertyValue
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

args11(0).Name = "ToPoint"
args11(0).Value = "maximoo"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args11())

	oCel = ThisComponent.getCurrentSelection()
	pgFinal = oCel.getString()

args1(0).Name = "ToPoint"
args1(0).Value = "inicioo"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

args2(0).Name = "ToPoint"
args2(0).Value = "contadorr"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

	oCel = ThisComponent.getCurrentSelection()
	pgInicio = oCel.getString()

While pgFinal >= pgInicio 

args3(0).Name = "ToPoint"
args3(0).Value = "paginaa"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
Wait 1000

pgInicio = pgInicio + 1

args12(0).Name = "ToPoint"
args12(0).Value = "contadorr"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args12())

GlobalScope.BasicLibraries.LoadLibrary("Tools")
dim Variavel As Long
Variavel = pgInicio
oSheet=ThisComponent.Sheets(0) ' 0 é a primeira planilha
ChangeValueofRange (oSheet, "C2", Variavel)

wend
End Sub

Arquivo do teste.


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha <img alt=“Descrição da imagem” src="/upfiles/140573724