Selecionar varias planilhas em Macro para impressão

Tenho um arquivo de orçamento que vai gerando planilhas nomeadas (numeradas) a partir do numero 32 até o necessário.

Alguém conhece alguma maneira, com macro de selecionar varias planilhas para impressão.

Conheço a primeira planilha (32) e sei como pegar a última, minha dúvida é como selecionar esta faixa em Macro.

Obs. O Nome (numerado) é o numero da planilha no arquivo, 

e todas as áreas a imprimir são iguais (B2:K55).

É necessário criar um conjunto de fileiras, ver aqui:

https://wiki.documentfoundation.org/Macros/Basic/Calc/Ranges/es#Grupo_de_rangos

Depois, basta seleccioná-los…

ThisComponent.getCurrentController.select(oRanges)

Sub main()
	doc = ThisComponent
	rangos = doc.createInstance("com.sun.star.sheet.SheetCellRanges")
	For i = 5 To 10
		sheet = doc.Sheets.getByName("Sheet" + i)
		dir_rango = sheet.getCellRangeByName("B2:K55").getRangeAddress()
		rangos.addRangeAddress(dir_rango, False)
	Next
	doc.CurrentController.select(rangos)
End Sub

Ola @elmau, obrigado pela dica, funcionou para varias áreas da mesma planilha, mas o meu caso são varias planilhas ( quantidade não definida ), Sei que começa na planilha numero 32 e tenho como saber a ultima, sendo a área iguais para todas (B2:K55).

Manualmente se selecionar as planilhas numero 32 até 35, e visualizar a impressão esta certo. Esta seleção que não consigo.


Hola @elmau, gracias por el tip, funcionó para varias áreas de una misma hoja de trabajo, pero mi caso son varias hojas de trabajo (cantidad indefinida), sé que comienza con la hoja de trabajo número 32 y tengo una forma de saber la última, la el área es la misma para todos (B2:K55).

Manualmente, si selecciona las hojas número 32 a 35, y previsualiza la impresión es correcta. Esta selección no puedo.

Só tem de ter a certeza de que os intervalos são a partir dessas folhas, funciona…

Necessito algo assim: é só exemplo, não funciona em negrito
Necesito algo como esto: es solo un ejemplo, no trabaje en negrita

sub SelecionarPlans
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = “Nr”
args1(0).Value = 32 até 35
dispatcher.executeDispatch(document, “.uno:SelectionTables”, “”, 0, args1())
end sub

Se funcionar a seleção das planilhas o resto é fácil…
Si la selección de la hoja de trabajo funciona, el resto es fácil…

Testei o código que adicionei e funciona correctamente seleccionando as folhas 5 a 10.

Nesse comando, está escrito

SelectionTables

Não seria ?

SelectTables

Tem um outro comando do Dispatcher que acabei utilizando quando comecei a aprender.

JumpToNextTable

Só que não funcionava da forma que desejava na época, porque ao invés de realmente pular para a aba que eu queria, estava selecionando mais de uma aba.