Numero righe di testo visibili in una cella

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Avatar utente
giuserpe
Messaggi: 127
Iscritto il: mercoledì 23 aprile 2014, 12:53

Numero righe di testo visibili in una cella

Messaggio da giuserpe »

Ciao. Ho provato a scrivere una macro che mi permettesse di decidere il numero preciso di righe di testo visualizzabili in una cella di Calc. Non conoscendo la misura in pt dell'interlinea testo, ho proceduto per successivi tentativi fino a giungere ad una onorevole soluzione che però rimane valida solo per il Times New Roman normale con altezza 10. Praticamente non ho risolto un granché. La mia domanda è questa: c'è modo di leggere la misura dell'interlinea del testo in modo che se ne tenga conto per calcolare l'altezza della cella?
Ho fatto uso del ciclo for per monitorare il risultato su 10 possibilità, visto che pare dipendere, ma in maniera non lineare, anche dal numero di righe da visualizzare.

Codice: Seleziona tutto

sub studio_stile
	oCell=ThisComponent.Sheets.GetByName("Foglio1").getCellByPosition(1, 1)'B2
	nSty=oCell.cellstyle
	Dim oSty as object
	oSty = Thiscomponent.StyleFamilies.getByName("CellStyles").getbyname(nSty)
	alt = oSty.CharHeight*47'35.2777777778
	topm = oSty.ParaTopMargin
	for nr=2 to 10
		hh=alt+(nr-1)*0.85*alt+topm
		oCell.Rows.Height = hh
		wait 1000
	next
end sub
Allegati
studio_stile.ods
(19.02 KiB) Scaricato 173 volte
LibreOffice fresh su Windows e Linux