Eingefügte Grafik bobenfest
Verfasst: Fr, 24.10.2008 11:35
Hallo OpenOffice-Gemeinde,
als Neuling in der Programmierung habe ich auch gleich ein Problem.
Unter OOo 2.3 habe ich mir ein Makro aus verschiedenen Quellen zusammengebastelt welches Bilder in ein writer-Dokument einfügt.
Man wählt die Grafik aus und gibt eine Position vor. Es funktioniert auch soweit.
Jetzt bin ich auf 3.0 umgestiegen lasse mein Makro laufen und es werden auch die Bilder eingefügt, jedoch komme ich mit der Baus nicht mehr drann. Die Ziehpunkte sind einfach weg. Ich kann das Bild weder löschen, schieben, vergrößern oder verkleinern. Ich bekomme das Bild nur durch Bearbeiten-->Rückgänig wieder von der Seite. Unter 2.3 war es kein Problem das Bild anschließend zu verändern. Ich denke es liegt am Anker. Aber welche Option am Anker muß ich verändern?
Beim GrafikObjectShape .MoveProtect und .SizeProtect auf false setzen nutzt nix.
Das ist mein Code:
sub bild_einfuegen
'Variablendeklaration
Dim oDlg as Object, oGrafik as Object, oDoc as Object, oDrawpage as Object
Dim s as string, sPath as string, oViewC as Object
Dim x_0 as Long, y_0 as Long
Dim Bild()
oDoc = ThisComponent
oDrawpage = oDoc.getDrawpage()
oViewC = oDoc.getCurrentController().getViewCursor()
Dim Koord As New com.sun.star.awt.Point
Koord = oViewC.Position
x_0 = Koord.x
y_0 = Koord.y
DialogLibraries.LoadLibrary("Standard")
eigDlg = CreateUnoDialog(DialogLibraries.Standard.Position)
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Size.Width = 13000
Size.Height = 9000
oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
sPath = ConvertToUrl("C:\Eigene Dateien\Eigene Bilder")
'Dialog zum Datei öffnen
oDlg = createUnoService("com.sun.star.ui.dialogs.FilePicker")
with oDlg 'Den Dialog formen
.setMultiSelectionMode(false)
.appendFilter("Nur jpg, jpeg, bmp, gif", "*.jpg; *.jpeg; *.bmp; *.gif")
.setDisplayDirectory(sPath)
.setTitle("Bitte Bild auswählen:")
end with
oDlg.execute
eigDlg.execute()
Bild = oDlg.getFiles()
Point.x = x_0 + x_Koord
Point.y = y_0 + y_Koord
oGrafik.Size = Size
oGrafik.Position = Point
oGrafik.GraphicURL = Bild(0)
oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
oGrafik.MoveProtect = false
oGrafik.SizeProtect = false
oDrawpage.add(oGrafik)
end sub
wäre nett wenn mir jemand einen Tipp geben könnte.
Vielen Dank im voraus.
Gruß
Volker
als Neuling in der Programmierung habe ich auch gleich ein Problem.
Unter OOo 2.3 habe ich mir ein Makro aus verschiedenen Quellen zusammengebastelt welches Bilder in ein writer-Dokument einfügt.
Man wählt die Grafik aus und gibt eine Position vor. Es funktioniert auch soweit.
Jetzt bin ich auf 3.0 umgestiegen lasse mein Makro laufen und es werden auch die Bilder eingefügt, jedoch komme ich mit der Baus nicht mehr drann. Die Ziehpunkte sind einfach weg. Ich kann das Bild weder löschen, schieben, vergrößern oder verkleinern. Ich bekomme das Bild nur durch Bearbeiten-->Rückgänig wieder von der Seite. Unter 2.3 war es kein Problem das Bild anschließend zu verändern. Ich denke es liegt am Anker. Aber welche Option am Anker muß ich verändern?
Beim GrafikObjectShape .MoveProtect und .SizeProtect auf false setzen nutzt nix.
Das ist mein Code:
sub bild_einfuegen
'Variablendeklaration
Dim oDlg as Object, oGrafik as Object, oDoc as Object, oDrawpage as Object
Dim s as string, sPath as string, oViewC as Object
Dim x_0 as Long, y_0 as Long
Dim Bild()
oDoc = ThisComponent
oDrawpage = oDoc.getDrawpage()
oViewC = oDoc.getCurrentController().getViewCursor()
Dim Koord As New com.sun.star.awt.Point
Koord = oViewC.Position
x_0 = Koord.x
y_0 = Koord.y
DialogLibraries.LoadLibrary("Standard")
eigDlg = CreateUnoDialog(DialogLibraries.Standard.Position)
Dim Point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Size.Width = 13000
Size.Height = 9000
oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
sPath = ConvertToUrl("C:\Eigene Dateien\Eigene Bilder")
'Dialog zum Datei öffnen
oDlg = createUnoService("com.sun.star.ui.dialogs.FilePicker")
with oDlg 'Den Dialog formen
.setMultiSelectionMode(false)
.appendFilter("Nur jpg, jpeg, bmp, gif", "*.jpg; *.jpeg; *.bmp; *.gif")
.setDisplayDirectory(sPath)
.setTitle("Bitte Bild auswählen:")
end with
oDlg.execute
eigDlg.execute()
Bild = oDlg.getFiles()
Point.x = x_0 + x_Koord
Point.y = y_0 + y_Koord
oGrafik.Size = Size
oGrafik.Position = Point
oGrafik.GraphicURL = Bild(0)
oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
oGrafik.MoveProtect = false
oGrafik.SizeProtect = false
oDrawpage.add(oGrafik)
end sub
wäre nett wenn mir jemand einen Tipp geben könnte.
Vielen Dank im voraus.
Gruß
Volker