TextTabellen Ränder Formatieren
Verfasst: Mi, 23.07.2008 09:09
Tag Zusammen,
nachdem ich das Forum und das Web ausgiebig danach durchsucht habe und nichts brauchbares gefunden habe kann ich jetzt nur noch auf eure Hilfe hoffen.
Folgende Problemstellung: Ich hab ein sehr großes Dokument(ca. 300 Seiten) mit mindestens genau so vielen Tabellen. Dieses sind wild durcheinander formatiert. Bisher habe ich es geschafft das alle Tabellen die Optimale Breite haben und die Zellen mittig sind. Jetzt sollen alle Tabellen noch den genau gleichen Tabellenrand bekommen. Ich hab die Aktion einfach mal Aufgezeichnet. Aber wenn ich dieses Makro auf eine identische Tabelle ausführe wird nur der äußere Rand formatiert und die inneren Linien verschwinden komplett. Ich hab ein Beispieldokument hochgeladen in dem das Problem wahrscheinlich besser zu verstehen ist. Hier noch der aufgezeichnete Code.
nachdem ich das Forum und das Web ausgiebig danach durchsucht habe und nichts brauchbares gefunden habe kann ich jetzt nur noch auf eure Hilfe hoffen.
Folgende Problemstellung: Ich hab ein sehr großes Dokument(ca. 300 Seiten) mit mindestens genau so vielen Tabellen. Dieses sind wild durcheinander formatiert. Bisher habe ich es geschafft das alle Tabellen die Optimale Breite haben und die Zellen mittig sind. Jetzt sollen alle Tabellen noch den genau gleichen Tabellenrand bekommen. Ich hab die Aktion einfach mal Aufgezeichnet. Aber wenn ich dieses Makro auf eine identische Tabelle ausführe wird nur der äußere Rand formatiert und die inneren Linien verschwinden komplett. Ich hab ein Beispieldokument hochgeladen in dem das Problem wahrscheinlich besser zu verstehen ist. Hier noch der aufgezeichnete Code.
Code: Alles auswählen
sub Tabelle
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(4) as new com.sun.star.beans.PropertyValue
args1(0).Name = "BorderInner.Horizontal"
args1(0).Value = Array(0,2,2,88)
args1(1).Name = "BorderInner.Vertical"
args1(1).Value = Array(0,2,2,88)
args1(2).Name = "BorderInner.Flags"
args1(2).Value = 3
args1(3).Name = "BorderInner.ValidFlags"
args1(3).Value = 127
args1(4).Name = "BorderInner.DefaultDistance"
args1(4).Value = 0
dispatcher.executeDispatch(document, ".uno:BorderInner", "", 0, args1())
dim args2(7) as new com.sun.star.beans.PropertyValue
args2(0).Name = "BorderOuter.LeftBorder"
args2(0).Value = Array(0,2,2,88)
args2(1).Name = "BorderOuter.LeftDistance"
args2(1).Value = 97
args2(2).Name = "BorderOuter.RightBorder"
args2(2).Value = Array(0,2,2,88)
args2(3).Name = "BorderOuter.RightDistance"
args2(3).Value = 97
args2(4).Name = "BorderOuter.TopBorder"
args2(4).Value = Array(0,2,2,88)
args2(5).Name = "BorderOuter.TopDistance"
args2(5).Value = 97
args2(6).Name = "BorderOuter.BottomBorder"
args2(6).Value = Array(0,2,2,88)
args2(7).Name = "BorderOuter.BottomDistance"
args2(7).Value = 97
dispatcher.executeDispatch(document, ".uno:BorderOuter", "", 0, args2())
dim args3(3) as new com.sun.star.beans.PropertyValue
args3(0).Name = "BorderShadow.Location"
args3(0).Value = com.sun.star.table.ShadowLocation.NONE
args3(1).Name = "BorderShadow.Width"
args3(1).Value = 180
args3(2).Name = "BorderShadow.IsTransparent"
args3(2).Value = false
args3(3).Name = "BorderShadow.Color"
args3(3).Value = 8421504
dispatcher.executeDispatch(document, ".uno:BorderShadow", "", 0, args3())
end sub