Tabellenname über Index in Variable schreiben

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

Moderator: Moderatoren

AFritz
**
Beiträge: 34
Registriert: Fr, 18.01.2008 16:21

Tabellenname über Index in Variable schreiben

Beitrag von AFritz »

Hallo Zusammen,

ich brüte gerade an einem Problem und komme leider nicht weiter...

Folgendes Szenario:
Ich habe ein Makro, das in die Menüleiste soll, aber darf nur ausgeführt werden, wenn es bei einem bestimmten Dokument gestartet wird. Dieses Dokument hat einen bestimmten Namen für das vierte Tabellenblatt. Ich würde gerne diesen Namen prüfen. Dazu muss ich den Namen aber ersteinmal auslesen... und da fängt das Problem an. Ich hab zwar getName() gefunden, komm aber mit der Anwendung nicht klar.

Kann mir jemand helfen, wie der Befehl heißen muss? Meine Variable hab ich einmal sTabellenblatt genannt und über IF sTabellenblatt <> Name then (Fehlermeldung) Else (Weitergehts) End IF wird dann alles abgewickelt. Aber dieser letzte kleine Befehl fehlt mir...

Danke schon einmal für eure Hilfe!

Gruß
Alex
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Tabellenname über Index in Variable schreiben

Beitrag von komma4 »

Du möchtest den Namen des Blatts überprüfen?

Code: Alles auswählen

Sub de40653

sGesucht = "gesucht"

If ThisComponent.Sheets().hasByName( sGesucht ) Then
   print "Blatt """ & sGesucht & """ ist vorhanden"
Else 
   print "Blatt """ & sGesucht & """ ist nicht vorhanden"
End If

End Sub

Oder - ob das gesuchte Blatt das 4. der Datei ist?
Oder - ob die Datei einen bestimmten Namen hat?



Hoffentlich richtig verstanden... ist schon spät hier :)
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)
AFritz
**
Beiträge: 34
Registriert: Fr, 18.01.2008 16:21

Re: Tabellenname über Index in Variable schreiben

Beitrag von AFritz »

Hallo Winfried,

Danke für die schnelle Antwort.
Fast richtig, das vierte Blatt muss einen bestimmten Namen haben. Also Name und Position müssen übereinstimmen.
Also Blatt vier heißt genau so...
Danke nochmal!
Viele Grüße
Alex
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Tabellenname über Index in Variable schreiben

Beitrag von Karolus »

Hallo
Warum speicherst du das Makro nicht im "bestimmten Dokument" ? - die Symbolleiste kannst du doch auch spezifisch fürs Dokument anpassen !

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
AFritz
**
Beiträge: 34
Registriert: Fr, 18.01.2008 16:21

Re: Tabellenname über Index in Variable schreiben

Beitrag von AFritz »

Hallo Karo,
ich hatte es bisher im Dokument gehabt. Möchte es jetzt aberdsraus lösen, damit ich das Makro per Passwort vor Änderungen schützen kann. Hinzu kommt, dass ich es im Dokument signiert habe und das nun in der 3.2 irgendwie Probleme macht. Issue dazu hab ich schon aufgegeben.

Viele Grüße
Alex
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Tabellenname über Index in Variable schreiben

Beitrag von komma4 »

AFritz hat geschrieben:Also Blatt vier heißt genau so...

Code: Alles auswählen


If ThisComponent.Sheets().Count > 3 Then
   aBlaetterNamen = ThisComponent.Sheets().getElementNames()
   If aBlaetterNamen( 3 ) = "gesucht" Then
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)
Antworten