Inhaltsverzeichnis erstellen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Inhaltsverzeichnis erstellen

Re: Inhaltsverzeichnis erstellen

von Jonny5K » Fr, 07.09.2007 08:25

Hallo Karo,

ich wollte nicht die Formateigenschaften einer Absatzvorlage ändern, sondern in dem "Verzeichnis einfügen"-Dialog unter dem "..."-Button (neben Gliederung) eine andere Absatzvorlage für z.B. die Ebene 1 meines Inhaltsverzeichnisses einstellen.
Standard ist die Ebene ja auf Überschirft 1 bis Überschrift 10 eingestellt, und ich will dort halt eine andere Absatzvorlage.

Gruß
Jonny

Re: Inhaltsverzeichnis erstellen

von Karolus » Do, 06.09.2007 21:58

Hallo Jonny

Möchtest du Formateigenschaften bestimmter Absatzvorlagen ändern ?
Bsplw.:

Code: Alles auswählen

Sub Vorlage_finden_und_aendern
xxx = ThisComponent.StyleFamilies.getByName("ParagraphStyles")
'xray xxx'.getbyindex()
msgbox xxx.getbyindex(86).name
xxx.getbyindex(86).charcolor =  RGB(255,0,0)
'xxx.getbyname("contents 1").charcolor =  RGB(255,0,0)
End Sub
 
Eine Liste der Indices und Namen der Absatzvorlagen erhälst du aus einem neuen Writer-dokument mit:

Code: Alles auswählen

Sub Absatzvorlagenliste
xxx = ThisComponent.StyleFamilies.getByName("ParagraphStyles")
cursor = ThisComponent.text.CreateTextCursor
cursor.GotoStart(False)
For i = 0 to xxx.Count-1

	Cursor.String = i &chr(9) & xxx.GetByIndex(i).Name & chr(9)  &xxx.GetByIndex(i).DisplayName  
	Cursor.GotoEndofParagraph(False)
	ThisComponent.Text.insertControlCharacter(Cursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
next i
end sub
' 
Gruß Karo

Inhaltsverzeichnis erstellen

von Jonny5K » Do, 06.09.2007 15:56

Hallo,

ich versuche gerade eine einfaches Inhaltsverzeichnis mit hilfe eines Marcos zu erstellen.
Wenn ich es über die Gui von Writer mache, dann gehe ich wie folgt vor:
1. Einfügen -> Verzeichnisse -> Verzeichniss...
2. Bei Gliederung auf den Button "..."
3. In dem Kapitelnummerierungs Dialog Ebene 1 auswählen und die Absatzvorlage ändern
Das wäre dann auch schon, was ich machen will. Bis jetzt ist es mir aber noch nicht gelungen die Absatzvorlage in meinem Macro zu ändern.
Hier erstmal mein Code:

Code: Alles auswählen

Sub Inhaltsverzeichnis
Dim Cursor
Dim Index

Index = ThisComponent.createInstance("com.sun.star.text.ContentIndex")
Cursor = ThisComponent.getText().createTextCursor()
ThisComponent.getText().insertTextContent(Cursor, Index, False)

Index.update()
End Sub
Ich habe auch schon eine Vermutung womit ich die Absatzvorlage für z.B. Level 1 ändern kann:
entweder mit

Code: Alles auswählen

Index.LevelFormat
(liefert das Interface: DocumentIndexLevelFormat)
oder mit

Code: Alles auswählen

Index.LevelParagraphStyles
(liefert das Interface: DocumentIndexParagraphStyles)
wobei ich eher zu letzterem tendiere.

Aber leider verstehe ich nicht so recht wie ich diese Objekte ändern kann, Sie implementieren zwar beide das Interface XIndexReplace aber ich weiß nicht, was ich bei der Methode replaceByIndex als Parameter angeben soll.

Hoffe mir kann jemand helfen.

mfg Jonny

Nach oben