von turtle47 » Sa, 12.01.2008 16:55
Hallo Zusammen,
wolle2000 hat geschrieben:Wenn du mit "serienmäßig" meinst, dass du mehrere Bilder hintereinander in einem Rutsch exportieren kannst, nein, das geht nicht.
@Wolfgang: Geht nicht, gibts (fast) nicht. Das kennst Du doch aus der Vergangenheit
Ich setze mal voraus, dass auf der Drawpage nur Bilder enthalten sind.
@Horst: In diesem Fall ist folgendes Makro Dein Freund:
Code: Alles auswählen
Sub ExportAllShapesToPNG()
oDoc = ThisComponent
oDocCtrl = oDoc.getCurrentController()
oDrawPage = oDocCtrl.getCurrentPage()
nNumShapes = oDrawPage.getCount()
num=1
For i = 0 To nNumShapes - 1
oShape = oDrawPage.getByIndex( i )
oExportFilter = createUnoService( "com.sun.star.drawing.GraphicExportFilter" )
oExportFilter.setSourceDocument( oShape )
cExportUrl = oDoc.getURL()
cExportUrl = Left( cExportUrl, Len(cExportUrl)-4 ) + "_" + oDrawPage.getName()+ "_Bild_" + num + ".png"
oExportFilter.filter( _
Array( _
MakePropertyValue( "MediaType", "image/png" ),_
MakePropertyValue( "URL", cExportUrl ) ) )
num = num + 1
next
End Sub
Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct( "com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
Es legt alle Objekte (Shapes) im gleichen Verzeichnis der Draw-Datei als PNG ab, die ja von IrvanView gelesen werden kann.
Informationen zum Installieren und einbinden findest du hier:
http://www.ooowiki.de/MakrosInstallierenKapitel Quellcode..
http://www.ooowiki.de/MakrosMitEinemKlick
http://www.ooowiki.de/SchaltFl%C3%A4che
Hilft Dir das weiter?
Viel Erfolg.
Jürgen
Hallo Zusammen,
[quote="wolle2000"]Wenn du mit "serienmäßig" meinst, dass du mehrere Bilder hintereinander in einem Rutsch exportieren kannst, nein, das geht nicht.
[/quote]@Wolfgang: Geht nicht, gibts (fast) nicht. Das kennst Du doch aus der Vergangenheit ;-)
Ich setze mal voraus, dass auf der Drawpage nur Bilder enthalten sind.
@Horst: In diesem Fall ist folgendes Makro Dein Freund:
[code]Sub ExportAllShapesToPNG()
oDoc = ThisComponent
oDocCtrl = oDoc.getCurrentController()
oDrawPage = oDocCtrl.getCurrentPage()
nNumShapes = oDrawPage.getCount()
num=1
For i = 0 To nNumShapes - 1
oShape = oDrawPage.getByIndex( i )
oExportFilter = createUnoService( "com.sun.star.drawing.GraphicExportFilter" )
oExportFilter.setSourceDocument( oShape )
cExportUrl = oDoc.getURL()
cExportUrl = Left( cExportUrl, Len(cExportUrl)-4 ) + "_" + oDrawPage.getName()+ "_Bild_" + num + ".png"
oExportFilter.filter( _
Array( _
MakePropertyValue( "MediaType", "image/png" ),_
MakePropertyValue( "URL", cExportUrl ) ) )
num = num + 1
next
End Sub
Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct( "com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function[/code]Es legt alle Objekte (Shapes) im gleichen Verzeichnis der Draw-Datei als PNG ab, die ja von IrvanView gelesen werden kann.
Informationen zum Installieren und einbinden findest du hier:
http://www.ooowiki.de/MakrosInstallierenKapitel Quellcode..
http://www.ooowiki.de/MakrosMitEinemKlick
http://www.ooowiki.de/SchaltFl%C3%A4che
Hilft Dir das weiter?
Viel Erfolg.
Jürgen