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
Eingefügte Grafik bobenfest
Moderator: Moderatoren
-
- **
- Beiträge: 40
- Registriert: Do, 25.12.2008 18:32
Re: Eingefügte Grafik bobenfest
Mit dem Befehl oGraphik.Opaque=True stellst du ein, dass man per Maus auf die Grafik zugreifen kann
-
- Beiträge: 7
- Registriert: Fr, 24.10.2008 09:58
Re: Eingefügte Grafik bombenfest
Vielen Dank für Deine Antwort Christian.
Mit dem Befehl oGrafik.Opaque=True funktioniert es die Grafik wieder zu markieren.
Jetzt stelle ich allerdings fest, daß beim Beschriften der Grafik nicht "Bild 1". sondern "Zeichnung 1" angezeigt wird. Das liegt wohl am Einfügen. Drawpage ist halt eine Zeichenfläche. Witzig ist, daß beim Abschicken der Beschriftung die Grafik nun ganz verschwindet. Es erscheint keine Bildunterschrift.
Aber ich habe das Problem anderweitig gelöst. Ich habe leere Rahmen auf der Seite und ziehe aus dem Explorer die Bilder direkt in den Rahmen. Hier passen sie sich automatisch in der Größe an. Das funktioniert, dank Hilfe aus dem writer-Forum.
Trotzdem vielen Dank Christian.
Gruß
Volker
Mit dem Befehl oGrafik.Opaque=True funktioniert es die Grafik wieder zu markieren.
Jetzt stelle ich allerdings fest, daß beim Beschriften der Grafik nicht "Bild 1". sondern "Zeichnung 1" angezeigt wird. Das liegt wohl am Einfügen. Drawpage ist halt eine Zeichenfläche. Witzig ist, daß beim Abschicken der Beschriftung die Grafik nun ganz verschwindet. Es erscheint keine Bildunterschrift.
Aber ich habe das Problem anderweitig gelöst. Ich habe leere Rahmen auf der Seite und ziehe aus dem Explorer die Bilder direkt in den Rahmen. Hier passen sie sich automatisch in der Größe an. Das funktioniert, dank Hilfe aus dem writer-Forum.
Trotzdem vielen Dank Christian.
Gruß
Volker