marko auf selektierte blätter anwenden

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

marko auf selektierte blätter anwenden

Beitrag von kannenklaus »

hallo zusammen,

folgendes makro soll nicht nur auf das aktive blatt, sondern auf mehrere selektierte blätter angewendet werden. ist diese ansprache mit basic möglich?

Code: Alles auswählen

Sub SpaltenBreite
	Dim oSpalte as Object
	Dim iBreiteSpalte as Integer'Variable für die div. Spaltenbreiten
	calcDoc = ThisComponent
	oAktivesBlatt = calcDoc.CurrentController.activeSheet

'--Spalte A bis K in der Breite festlegen
	For SpNr = 0 to 10
		if oDlg.getControl("numSp"+SpNr).value > 0 then
			iBreiteSpalte = oDlg.getControl("numSp"+SpNr).value
			oSpalte =oAktivesBlatt.getColumns.getByIndex(SpNr)
			oSpalte.width = (iBreiteSpalte) * 100
		end if
	next SpNr
End Sub
freue mich auf eine antwort

grüße

klaus
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

ist diese ansprache mit basic möglich?


Ja.
Es liegt eine Mehrfachselektion vor, das diese auf mehreren Blättern 'stattfindet' ändert nichts.
Also die Seletion ermitteln, ggf. prüfen ob Mehrfachselektion vorliegt (was zwangläufig der Fall sein sollte), die Anzahl der Bereiche ermitteln, durch die Einzelbereiche der Selektion interieren und den Blattnamen der Einzelselektion auslesen.

Im Kern:

Code: Alles auswählen

For i = 0 to ThisComponent.getCurrentselection.getCount()-1
x = ThisComponent.getCurrentselection.getByIndex(i).getSpreadSheet.Name
Next i


Gruß
Stephan
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

Beitrag von kannenklaus »

hallo stefan,

danke für den tipp. ich werde das versuchen umzusetzen.

grüße

klaus
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Aber aufpassen, wenn das Makro allgemein gültig sein soll.
Eine Mehrfachselektion kann auch aus mehreren Bereichen auf einer Seite bestehen.
Dann wird in der Schleife immer dasselbe Arbeitsblatt verwendet.

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Antworten