Ds Tool geht aber nur bis 3.4.
das ist formal richtig, praktisch jedoch ist es so das diese Versionsangaben der Autor der jeweiligen Extension bei ihrer Veröffentlichung aus einem Listenfeld auswählt und dort als höchte OO-Version nur die jeweils aktuelle Version erscheint.
Eine Extension die zum Zeitpunkt von OO 3.4 erschienen ist, kann deshalb auch heute noch aktuell sein, weil nicht jeder Autor bei jeder neuen OO-Version die Version für seine Extension hochsetzt.
DIe gedrehten Bilder verschwinden Das "Schneiden" funktioniert auch nicht optimal. Ich hab die Fotos nun erst mit OOO zugeschnitten, die Größe angepasst und dann mit dem Tool gedreht. Aber warum verschwinden die Bilder? OOO stürzt jetzt auch ständig ab
Ich habe nicht die geringste Ahnung.
Aus dem Quellcode des entsprechenden Makros ist jedoch eindeutig zu ersehen das die Drehung auch im Makro über Draw stattfindet, so das ich vermuten muss das in den speziellen Fällen wo Fehler mit der Extension auftreten diese auch berim händischen Umweg über DRaw auftreten würden.
Ich stelle den Code hier einmal rein, falls es Andere interessiert:
Code: Alles auswählen
'/** WT_BildDrehen()
'*************************************************************************.
'* @kurztext dreht ein markiertes Bild in Writer
'* Diese Funktion dreht ein markiertes Bild in Writer. Dazu wird ein Grafik-Objekt
'* wie dies durch Einfügen - Bild entstanden ist, zunächst in ein Shape
'* Objekt verwandelt (via Draw) - dann gedreht.
'*************************************************************************
'*/
Sub WT_BildDrehen
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oDoc = thisComponent
oSel = oDoc.getCurrentSelection
if oSel.supportsService("com.sun.star.drawing.ShapeCollection") then
REM Grafic-Element - kann direkt gedreht werden - nur erstes Element!
oBild = oSel.getByIndex(0)
if NOT oBild.supportsService("com.sun.star.drawing.Shape") then
msgbox ("Es wurde kein Bild oder Grafik Objekt markiert!", 16, "Fehler")
exit sub
end if
elseif NOT oSel.supportsService("com.sun.star.text.TextGraphicObject") then
msgbox ("Es wurde kein Bild oder Grafik Objekt markiert!", 16, "Fehler")
exit sub
else 'Das Bild muss zunächst in eine Grafik-Shape umgewandelt werden - hier über den Umweg über Draw!
sBN = "Bild_" & format(Now(),"ddmmhhmmss") 'eindeutiger Bildname
dispatcher.executeDispatch(oDoc.CurrentController.Frame, ".uno:Copy", "", 0, Array())
REM Draw Dokument hidden öffnen
dim Arg(0) as new com.sun.star.beans.PropertyValue
arg(0).name = "Hidden"
arg(0).value = true
oDoc2 = StarDesktop.loadComponentFromURL("private:factory/sdraw","_blank", 0, Arg())
dispatcher.executeDispatch(oDoc2.CurrentController.Frame, ".uno:Paste", "", 0, Array())
oDoc2.getCurrentSelection.getByIndex(0).name = sBN 'eindeutigen Namen vergeben
wait(200) 'kurz warten - damit OOo die Änderung mitbekommt!
dispatcher.executeDispatch(oDoc2.CurrentController.Frame, ".uno:Copy", "", 0, Array())
oDoc2.close(true) 'Draw Dokument schließen
dispatcher.executeDispatch(oDoc.CurrentController.Frame, ".uno:Paste", "", 0, Array())
REM Bild suchen
for i = 0 to odoc.drawPage.count -1
oBild = odoc.drawPage.getByIndex(i)
if oBild.name = sBN then exit for
next
if NOT (oBild.name = sBN) then exit sub 'Ende, falls Bild nicht gefunden wurde
oDoc.getCurrentController.select(oBild) 'Bild auswählen
end if
REM Drehwinkel erfragen - Dialog erzeugen
dialogLibraries.loadLibrary("Writer_Tools")
oDlg = createUnoDialog(dialogLibraries.Writer_Tools.dlg_dreh)
if NOT (oDlg.execute = 1) then exit sub 'Ende bei Abbruch
nDrehW = oDlg.getControl("num_dreh").value * 100
if oDlg.getControl("opt_1").state then nDrehW = (-1) * nDrehW
REM Jetzt drehen
oBild.RotateAngle = Int(oBild.RotateAngle + nDrehW)
End Sub
Gruß
Stephan