Seite 1 von 1
Ausrichtung von Bild in einer WRITE-Zeile [gelöst]
Verfasst: Mi, 03.06.2009 09:18
von DaWolf
Hallo Leute,
brauche wieder mal eure kompetente Hilfe:
Ich habe ein Write-Dokument mit Textmarken.
Per Makro wird ein Bild an eine bestimmte Textmarke gesetzt. Das funktioniert auch alles wunderbar.
Problem: Das Bilde ist grundsätzlich "mittig" in der Zeile, in der die Textmarke ist. Die Textmarke ist jedoch linksbündig. Die gesamte Zeile ist linksbündig.
Das Bild wird aber immer zentriert in der Zeile eingefügt.
Ich bin am verzweifeln, habe keine Idee und finde auch nirgendwo eine Info dazu.
Schon mal vielen Dank.
DaWolf
Re: Ausrichtung von Bild in einer Zeile
Verfasst: Mi, 03.06.2009 10:01
von turtle47
Hallo DaWolf,
DaWolf hat geschrieben:Ich bin am verzweifeln, habe keine Idee und finde auch nirgendwo eine Info dazu.
Dann empfehle ich Dir Dich mal mit
xRay und dem zugehörigen SDK zu beschäftigen.
DaWolf hat geschrieben:Problem: Das Bilde ist grundsätzlich "mittig" in der Zeile, in der die Textmarke ist. Die Textmarke ist jedoch linksbündig. Die gesamte Zeile ist linksbündig.
Das Bild wird aber immer zentriert in der Zeile eingefügt.
Dann muss Du auch die entsprechende Information über die Ausrichtung mitgeben.
Hier mal ein Beispielcode der alle Bilder einer Seite auf die entsprechende Position setzt:
Code: Alles auswählen
Sub Pos_Images
oDocument = thisComponent
page = oDocument.drawPage
nNumShapes = Page.getCount()
For i = 0 To nNumShapes - 1
oShape = Page.getByIndex( i )
oImage = oShape.FrameStyleName
if oImage = "Graphics" then
oShape.HoriOrient = 3 links ausgerichtet
'oShape.HoriOrient = 2 'mittig ausgerichtet
'oShape.HoriOrient = 1 'rechts ausgerichtet
end if
next i
end sub
Viel Erfolg.
Jürgen
Re: Ausrichtung von Bild in einer Zeile
Verfasst: Mi, 03.06.2009 11:19
von DaWolf
Hallo Jürgen,
vielen Dank für die schnelle Lösung.
Ich hatte aber noch bei:
oShape.FrameStyleName
die Fehlermeldung: "Methode oder Funktion unbekannt". o.s.ä.
Habe das ganze so gelöst:
Code: Alles auswählen
Sub Bild_Links_Ausrichten
Dim oBilder, anzahl, oBild, i
oDoc = thisComponent
oBilder = oDoc.Drawpage
anzahl = oBilder.count
For i = 1 to anzahl
oBild = oBilder.getByIndex(i-1)
if oBild.Name = "Grafik1" then
oBild.HoriOrient = 3 'links ausgerichtet
'oShape.HoriOrient = 2 'mittig ausgerichtet
'oShape.HoriOrient = 1 'rechts ausgerichtet
end if
next i
End Sub
Das funktioniert jetzt einwandfrei.
Nochmal vielen Dank
DaWolf
Re: Ausrichtung von Bild in einer WRITE-Zeile [gelöst]
Verfasst: Mi, 03.06.2009 12:07
von turtle47
Hallo DaWolf,
DaWolf hat geschrieben:Ich hatte aber noch bei:
oShape.FrameStyleName
die Fehlermeldung: "Methode oder Funktion unbekannt". o.s.ä.
Das kann passieren wenn noch andere Objekte auf der Drawpage liegen wie z.B. Buttons.
Wenn diese nicht über die abgefragte Eigenschaft verfügen dann kann es zu dieser Fehlermeldung kommen.
Ich hatte auch eigentlich daran gedacht Du würdest bei Einfügen der Grafik diese direkt auf die gewünschte Position setzen.
Code: Alles auswählen
.
.
.
Set AddNew_GraphicObject = ActiveDoc.createInstance("com.sun.star.text.GraphicObject")
AddNew_GraphicObject.GraphicURL = ("File:///c:/Dein_Bild.jpg")
AddNew_GraphicObject.HoriOrient = 3 'dieses beim Einfügen direkt mitgeben
ObjText.InsertTextContent (cursor, AddNew_GraphicObject, False)
End Sub
Jürgen