sheest löschen, die mit "_" beginnen

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

sheest löschen, die mit "_" beginnen

Beitrag von kannenklaus »

hallo zusammen,

alle sheets, die am anfang mit "_" beginnen sollen gelöscht werden. dazu habe ich folg. makro. meine frage ist nun ob die variable i zurückgesetzt werden muss. freue mich auch auf jede verbesserung. später sollen über 500 sheets gelöscht werden.

danke schon mal im voraus klaus

Code: Alles auswählen

Sub DossierLoeschen()
Dim i as Double, alleSheets as Double
Dim s as String
oCalc =ThisComponent
mySheets=oCalc.sheets
strPrefix=mySheets.getByName("Basic_Einstellungen").getCellRangeByName("B4").Formula
alleSheets=mySheets.count-1
'msgbox alleSheets
	for i=0 to alleSheets
									
        If Left(mySheets(i).Name, 1) = strPrefix Then	
        	s=mySheets(i).Name	
			mySheets.RemoveByName(mySheets(i).Name)
			i=i-1
		else
		exit sub
		end if
	next i

end Sub
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: sheest löschen, die mit "_" beginnen

Beitrag von F3K Total »

Hi, da fängst Du besser hinten an:

Code: Alles auswählen

    Sub DossierLoeschen()
    Dim i as integer, alleSheets as integer
    Dim s as String
    oCalc =ThisComponent
    mySheets=oCalc.sheets
    strPrefix=mySheets.getByName("Basic_Einstellungen").getCellRangeByName("B4").Formula
    alleSheets=mySheets.count-1
    'msgbox alleSheets
       for i=alleSheets to 0 step -1
                               
            If Left(mySheets(i).Name, 1) = strPrefix Then   
               s=mySheets(i).Name   
             mySheets.RemoveByName(s)
          else
          exit sub
          end if
       next i

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

Re: sheest löschen, die mit "_" beginnen

Beitrag von kannenklaus »

hallo rik,

DANKE: diee umkehrung von i to sheets.count-1 und der step -1 habens zwar nicht schneller ABER einfacher gemacht

viele grüße
klaus
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: sheest löschen, die mit "_" beginnen

Beitrag von komma4 »

kannenklaus hat geschrieben:habens zwar nicht schneller
suche mal nach LOCKCONTROLLERS zum Schnellermachen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

[gelöst]Re: sheest löschen, die mit "_" beginnen

Beitrag von kannenklaus »

kannenklaus hat geschrieben:hallo rik,

DANKE: diee umkehrung von i to sheets.count-1 und der step -1 habens zwar nicht schneller ABER einfacher gemacht

viele grüße
klaus
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

[gelöst]Re: sheets löschen, die mit "_" beginnen

Beitrag von kannenklaus »

kannenklaus hat geschrieben:hallo zusammen,

alle sheets, die am anfang mit "_" beginnen sollen gelöscht werden. dazu habe ich folg. makro. meine frage ist nun ob die variable i zurückgesetzt werden muss. freue mich auch auf jede verbesserung. später sollen über 500 sheets gelöscht werden.

danke schon mal im voraus klaus

Code: Alles auswählen

Sub DossierLoeschen()
Dim i as Double, alleSheets as Double
Dim s as String
oCalc =ThisComponent
mySheets=oCalc.sheets
strPrefix=mySheets.getByName("Basic_Einstellungen").getCellRangeByName("B4").Formula
alleSheets=mySheets.count-1
'msgbox alleSheets
	for i=0 to alleSheets
									
        If Left(mySheets(i).Name, 1) = strPrefix Then	
        	s=mySheets(i).Name	
			mySheets.RemoveByName(mySheets(i).Name)
			i=i-1
		else
		exit sub
		end if
	next i

end Sub
Antworten