Seite 1 von 1
[gelöst] Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 09:20
von clag
Hallo Kenner und Könner,
Ich habe eine odt die viele Bereiche verwendet (jeweils ein Bereich je Kapitel) bis zu 70 pro odt
wo kann man den/einen Bereichsnamen auslesen?
Ich habe erfolglos mit Xray Absätze untersucht finde aber keine Info zu welchem Bereich dieser Absatz gehört.
Welches Element muss man anfassen/ in Xray anzeigen um den/ die angewendeten Bereiche für diesen Absatz zu ermitteln?
Oder ersatsweise, wo kann man die Liste der verwendeten Bereich abgreifen, so wie sie im Navigator unter "Bereiche" angezeigt wird?
schonmal Danke fürs lesen
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 09:33
von Karolus
Hallo
Hast du mal eine Beispielsdatei, damit ich mir nicht etwas zusammenbasteln muss dass am Ende gar nicht deinen "Bereichen" entspricht.
Karolus
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 09:39
von Karolus
Hallo
Es scheint sich zu handeln um:
Code: Alles auswählen
...
doc = thisComponent
bereiche = doc.getTextSections()
...
Karolus
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 10:19
von clag
Hi Karolus,
das passt schon mal gut
und liefert schon einmal die Liste der verwendeten Bereiche
allerdings möchte ich die direkte Zugehörigkeit eines Absatzes zu einem Bereich prüfen,
Ein Beispiel liefere ich noch muss ich nur noch erstellen bzw verstümmeln
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 10:42
von Karolus
Hallo
Etwa so:
Code: Alles auswählen
#...
if para.TextSection:
print( 'Absatz ist im Bereich {}'.format(para.TextSection.Name) )
else:
print( 'Absatz gehört zu keinem Bereich')
Die Übersetzung nach Basic überlasse ich dir.
Karolus
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 10:51
von clag
Hallo Karolus,
hier eine Beispieldatei
mein Ziel es den Bereichsnamen auszulesen wenn "Enum" die Zeile "
dieser Text befindet sich in einem Bereich aber in welchem?" findet
PS
wie es scheint warst du schneller auch ohne Beispieldatei

Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 11:04
von Karolus
Hallo
Code: Alles auswählen
def main():
doc = XSCRIPTCONTEXT.getDocument()
text = doc.Text
for para in iterate(text):
if para.TextSection:
print('Absatz ist im Bereich {}'.format(para.TextSection.Name))
else:
print( 'Absatz gehört zu keinem Bereich')
def iterate(enumerable):
enum = enumerable.createEnumeration()
while enum.hasMoreElements():
yield enum.nextElement()
Die Ausgabe für dein Document:
Code: Alles auswählen
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200501
Absatz ist im Bereich 200501
Absatz ist im Bereich 200501
Absatz ist im Bereich 200501
Absatz ist im Bereich 200501
Absatz ist im Bereich 200501
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200502
Absatz ist im Bereich 200502
Absatz ist im Bereich 200502
Absatz ist im Bereich 200502
Absatz ist im Bereich 200502
Absatz ist im Bereich 200502
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200503
Absatz ist im Bereich 200503
Absatz ist im Bereich 200503
Absatz ist im Bereich 200503
Absatz ist im Bereich 200503
Absatz ist im Bereich 200503
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200504
Absatz ist im Bereich 200504
Absatz ist im Bereich 200504
Absatz ist im Bereich 200504
Absatz ist im Bereich 200504
Absatz ist im Bereich 200504
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200505
Absatz ist im Bereich 200505
Absatz ist im Bereich 200505
Absatz ist im Bereich 200505
Absatz ist im Bereich 200505
Absatz ist im Bereich 200505
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200506
Absatz ist im Bereich 200506
Absatz ist im Bereich 200506
Absatz ist im Bereich 200506
Absatz ist im Bereich 200506
Absatz ist im Bereich 200506
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200507
Absatz ist im Bereich 200507
Absatz ist im Bereich 200507
Absatz ist im Bereich 200507
Absatz ist im Bereich 200507
Absatz ist im Bereich 200507
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200508
Absatz ist im Bereich 200508
Absatz ist im Bereich 200508
Absatz ist im Bereich 200508
Absatz ist im Bereich 200508
Absatz ist im Bereich 200508
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200509
Absatz ist im Bereich 200509
Absatz ist im Bereich 200509
Absatz ist im Bereich 200509
Absatz ist im Bereich 200509
Absatz ist im Bereich 200509
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200510
Absatz ist im Bereich 200510
Absatz ist im Bereich 200510
Absatz ist im Bereich 200510
Absatz ist im Bereich 200510
Absatz ist im Bereich 200510
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200511
Absatz ist im Bereich 200511
Absatz ist im Bereich 200511
Absatz ist im Bereich 200511
Absatz ist im Bereich 200511
Absatz ist im Bereich 200511
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200512
Absatz ist im Bereich 200512
Absatz ist im Bereich 200512
Absatz ist im Bereich 200512
Absatz ist im Bereich 200512
Absatz ist im Bereich 200512
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200513
Absatz ist im Bereich 200513
Absatz ist im Bereich 200513
Absatz ist im Bereich 200513
Absatz ist im Bereich 200513
Absatz ist im Bereich 200513
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200514
Absatz ist im Bereich 200514
Absatz ist im Bereich 200514
Absatz ist im Bereich 200514
Absatz ist im Bereich 200514
Absatz ist im Bereich 200514
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200515
Absatz ist im Bereich 200515
Absatz ist im Bereich 200515
Absatz ist im Bereich 200515
Absatz ist im Bereich 200515
Absatz ist im Bereich 200515
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200516
Absatz ist im Bereich 200516
Absatz ist im Bereich 200516
Absatz ist im Bereich 200516
Absatz ist im Bereich 200516
Absatz ist im Bereich 200516
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200517
Absatz ist im Bereich 200517
Absatz ist im Bereich 200517
Absatz ist im Bereich 200517
Absatz ist im Bereich 200517
Absatz ist im Bereich 200517
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200518
Absatz ist im Bereich 200518
Absatz ist im Bereich 200518
Absatz ist im Bereich 200518
Absatz ist im Bereich 200518
Absatz ist im Bereich 200518
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200519
Absatz ist im Bereich 200519
Absatz ist im Bereich 200519
Absatz ist im Bereich 200519
Absatz ist im Bereich 200519
Absatz ist im Bereich 200519
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200520
Absatz ist im Bereich 200520
Absatz ist im Bereich 200520
Absatz ist im Bereich 200520
Absatz ist im Bereich 200520
Absatz ist im Bereich 200520
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200521
Absatz ist im Bereich 200521
Absatz ist im Bereich 200521
Absatz ist im Bereich 200521
Absatz ist im Bereich 200521
Absatz ist im Bereich 200521
Absatz gehört zu keinem Bereich
Absatz ist im Bereich 200522
Absatz ist im Bereich 200522
Absatz ist im Bereich 200522
Absatz ist im Bereich 200522
Absatz ist im Bereich 200522
Absatz ist im Bereich 200522
Absatz gehört zu keinem Bereich
Karolus
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 11:16
von clag
Hallo Karolus,
ja holla
dein Formel und Code Zauberhut liefert ja "direkt und ohne delay
ich muss es jetzt nur noch sezieren und verstehen

Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 11:24
von Karolus
clag hat geschrieben:Hallo Karolus,
ja holla
dein Formel und Code Zauberhut liefert ja "direkt und ohne delay
ich muss es jetzt nur noch sezieren und verstehen

Jo - mit der Hilfe von
IPython notebook geht das schneller wie Basic in der Basic-IDE
Karolus
Re: Bereichsnamen auslesen
Verfasst: Fr, 27.06.2014 13:32
von clag
Hi Karolus
es ist wie immer,
wenn man erst einmal weiß wie es geht, dann ist es einfach
Code: Alles auswählen
enum = objText.createEnumeration
Do While Enum.hasMoreElements
checkElement = Enum.nextElement
if left(checkElement.string,11) = "dieser Text" then
..
blockID = checkelement.TextSection.Name
..
print blockID
.
.
besten Dank