Pergunte aqui
1

Ajustar tela zoom conforme uma area prédefinida.

perguntadas 2020-04-29 20:39:48 +0200

imagem do gravatar de Schiavinatto

updated 2021-04-11 21:16:26 +0200

Problema: um arquivo tem diversas planilhas, que são utilizadas em maquinas com monitores diferentes (configuração da tela), toda a navegação entre as telas é feito via acionamento de Macro.

Existe alguma maneira de ao ir para uma planilha e sabendo o tamanho em uso ( exemplo: Planilha1.a1:a45 ), ter um comando de zoom para deixar esta área 100% visível ( não a planilha ), ou seja, deixar a largura sempre no máximo possível e visível, pode ser zoom para diminuir ou aumentar.

Lembro que a anos e anos atrás o Lotus123 tinha algo parecido, tipo AutoZoom, era definido a área visivel e quando navegasse ate ele se auto ajustava.
editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

@Schiavinatto, procurei imensamente algo assim para o Libre, mas não encontrei essa resposta. O que achei foi macros que, ao vc criar uma lista de possíveis máquinas com suas medidas wide, ele ajustava o zoom. Muito improdutivo.

imagem do gravatar de ConradoConrado ( 2020-04-29 22:23:03 +0200 )editar

Ok @Conrado, agradeço a atenção Vou continuar procurando.....

Seria muito útil.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 02:16:42 +0200 )editar

1 Resposta

0

respondidas 2021-04-11 19:17:45 +0200

imagem do gravatar de WBastos

Encontrei uma maneira não muito convencional, mas acho que atende. Está com algumas gordurinhas, mas funciona. A macro basicamente seleciona o range e aplica o "zoom ideal" que, no caso é o ZoomType "5", pelo menos foi o que entendi.

Sub ZoomMenu()
    Dim oDoc As Object
    Dim oCC As Object
    oDoc = ThisComponent
    oCC = oDoc.getCurrentController()

    Call AbaMenu 

    oCC.ZoomType = 5
    oCC.ZoomValue = oCC.ZoomValue

    ThisComponent.CurrentController.select(ThisComponent _
    .Sheets.getByName ( "Menu" ).getCellRangeByName ( "C2" ))
End Sub

'---------------------------------------------------------------- 
Sub AbaMenu()
    ThisComponent.CurrentController.select(ThisComponent _
    .Sheets.getByName ( "Menu" ).getCellRangeByName ( "B1:H23" ))
End Sub

Segue PlanilhaExemplo

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Ola @WBastos, valeu a dica. só dei uma compactada ....

Sub ZoomMenu()
        GoToCel "Plan1.A1:J3"
    ThisComponent.getCurrentController().ZoomType = 5
        GoToCel "C2"
End Sub

Sub GoToCel ( xLocal$ )
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint" : args1(0).Value = xLocal
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController _
.Frame, ".uno:GoToCell", "", 0, args1())
End Sub
imagem do gravatar de SchiavinattoSchiavinatto ( 2021-04-11 20:22:43 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2020-04-29 20:39:48 +0200

Lidas: 28 vezes

Última atualização: Apr 11