Como fazer o Calc abrir sempre na mesma aba (Menu)

Tenho uma planilha de trabalho com muitas abas (acho que são 132) e acabei de deixá-la bem mais funcional com uso de hiperlinks pra navegar entre elas.

Mas o que eu gostaria é que sempre que eu abrir o Calc, ele iniciar sempre na primeira aba, onde está o menu principal. Independente da aba que ele estiver quando eu fechar e salvar.

Alguém pode ajudar?

Ola @marmaduke77, seja bem vindo ao Grupo.

Use esta macro:

'================================================|
sub IrPara 
'================================================|
Dim document As Object, dispatcher As Object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "Plan1.A1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
end sub

E em Ferramentas / Personalizar:

OK, OK.

Arquivo teste

Caso queira que seu arquivo fique com aparência de aplicativo, de uma olhada neste exemplo, postado no Escritório Aberto.(https://wiki.documentfoundation.org/PT-BR/Projetos/EA)
https://wiki.documentfoundation.org/images/3/39/ModeloArquivoCalc1.ods


Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

Boa noite… Não funcionou! apareceu uma mensagem de erro de sintaxe

Poste sua macro…

A minha aceita colocar a célula também.

Eu não tenho nenhuma macro. Nunca fiz antes! por isso estou buscando ajuda aqui no fórum.

De uma olhada aqui:

https://www.schiavinatto.com/mundolibre/escrevendo-uma-macro-no-calc_lm15.html

Sobre as macros acima:

A minha aceita direcionar para Planilha.célula

A do @JúnioVieira para Planilha

Bom dia, é possível utilizando macro, segue procedimento:

Sub AbaMenu()
ThisComponent.CurrentController.SetActiveSheet(ThisComponent.Sheets.GetByName("nomedaguia"))
End Sub

Após inserir essa macro acesse o menu ferramentas >> personalizar >> Eventos >> Ao abrir o documento e atribua a macro. Pronto sempre vai abrir na guia que vc escolheu. Anexo planilha exemplo.
Abrir na guia menu.ods
Obs: Caso seu libreoffice não esteja configurado para abrir macros automaticamente acesse o menu ferramentas >> opções >> Libreoffice >> segurança >> segurança de macros e marque a opção “Baixa não recomendando”.

Boa noite… não funcionou! apareceu mensagem de erro

Poste sua macro…

Esta é só para a planilha, não aceita colocar célula.

Consegui organizar uma macro para selecionar a planilha e a célula, mas pode ser adaptada para selecionar um range.
Coloquei duas formas de referenciar uma planilha ou uma célula, por nome ou por posição.
Segue o Código:

Option Explicit 
Sub AbaMenu()
Dim oDoc As Object
Dim oPlan As Object 
Dim oCel As Object  

oDoc = ThisComponent
'oPlan = oDoc.Sheets(2)
oPlan = oDoc.Sheets.getByName ( "Menu" )
oCel = oPlan.getCellByPosition(2 , 1)
'oCel = oPlan.getCellRangeByName ( "A3" )

	oDoc.CurrentController.SetActiveSheet(oPlan) 'Seleciona a aba "Menu"
	oDoc.CurrentController.select(oCel) 'Seleciona a célula "C2"
End Sub

Link do Arquivo AbaMenu.ods

Ola @WBastos, é treinando que se absorve conhecimento:

Segue uma versão mais compacta, da que postei anteriormente

'=============================================|
Sub IrPara 
'=============================================|
Dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint" : args1(0).Value = "Plan1.A1"     '<<<< Planilha.Célula
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame _
, ".uno:GoToCell", "", 0, args1())
End Sub

E a Sua resumida, fica assim:

Option Explicit 
Sub AbaMenu()
ThisComponent.CurrentController.select(ThisComponent _
.Sheets(2).getCellByPosition ( 2 , 1 )) 'Seleciona a planilha (Sheets) e a célula "C2"
End Sub

Agora a sua ficou melhor ainda, usando O Nome da planilha e Endereço da Célula, Área ou Nomearea

Option Explicit 
Sub AbaMenu()
ThisComponent.CurrentController.select(ThisComponent _
.Sheets.getByName ( "Menu" ).getCellRangeByName ( "A3" )) 'Selecione a Planilha e Célula ou Área ou Nomearea
End Sub

Ficou show, Professor!
Ainda não me acostumei com o OOoBasic, mas aos poucos vou aprendendo :smiley:
A princípio estou declarando variáveis para ir me acostumando com o contexto do Basic, ou seja, vou “quebrando” o código pra entender melhor como ele funciona.

Obrigado por suas contribuições.