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
Ausrichtung von Bild in einer WRITE-Zeile [gelöst]
Moderator: Moderatoren
Ausrichtung von Bild in einer WRITE-Zeile [gelöst]
Zuletzt geändert von DaWolf am Mi, 03.06.2009 11:21, insgesamt 1-mal geändert.
Win XP Prof. SP 3 / OpenOffice 3.1.0 OOO310m11 (Build:9399) mit Sun Report Builder 1.1.0 / Firefox 3.0.10
Re: Ausrichtung von Bild in einer Zeile
Hallo DaWolf,
Hier mal ein Beispielcode der alle Bilder einer Seite auf die entsprechende Position setzt:
Viel Erfolg.
Jürgen
Dann empfehle ich Dir Dich mal mit xRay und dem zugehörigen SDK zu beschäftigen.DaWolf hat geschrieben:Ich bin am verzweifeln, habe keine Idee und finde auch nirgendwo eine Info dazu.
Dann muss Du auch die entsprechende Information über die Ausrichtung mitgeben.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.
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
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Ausrichtung von Bild in einer Zeile
Hallo Jürgen,
vielen Dank für die schnelle Lösung.
Ich hatte aber noch bei:
Habe das ganze so gelöst:
Das funktioniert jetzt einwandfrei.
Nochmal vielen Dank
DaWolf
vielen Dank für die schnelle Lösung.
Ich hatte aber noch bei:
die Fehlermeldung: "Methode oder Funktion unbekannt". o.s.ä.oShape.FrameStyleName
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
Nochmal vielen Dank
DaWolf
Win XP Prof. SP 3 / OpenOffice 3.1.0 OOO310m11 (Build:9399) mit Sun Report Builder 1.1.0 / Firefox 3.0.10
Re: Ausrichtung von Bild in einer WRITE-Zeile [gelöst]
Hallo DaWolf,
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.
Jürgen
Das kann passieren wenn noch andere Objekte auf der Drawpage liegen wie z.B. Buttons.DaWolf hat geschrieben:Ich hatte aber noch bei:
oShape.FrameStyleName
die Fehlermeldung: "Methode oder Funktion unbekannt". o.s.ä.
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
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem